Home » 21세기소년 » Page 4

21세기소년

21세기소년 / IT / 정보기술 / 인터넷 / 프로그래밍 / 미래 / 과학 / 과학지식 / 물리 / 화학 / 천문 / 생물학 / 이과생이나 관심가질 법한 자질구레한 이야기들

SASS/SCSS 내장 함수 정리

지난 글에서  SCSS의 기본적인 문법과 확장, 믹스인, 함수를 작성하는 방법에 대해 정리해 보았다. 이번에는 SASS가 제공하는 기본 함수들을 정리했다. SASS의 기본 함수들은 크게 다음과 같이 나뉜다.

  1. 색상 관련 함수 : 색상 정보 RGB, HSL 값으로 생성하거나, 기존에 만들어져 있는 색상값을 변경할 수 있다. 특히 색상은 유지한채 밝기나 선명도를 변경하는 함수는 동일 색조 내에서 색을 변경하는데 유용하게 쓰일 수 있다.
  2. 숫자 및 문자열 관련 함수
  3. 리스트 및 맵의 데이터 타입을 다루기 위한 함수

더 보기 »SASS/SCSS 내장 함수 정리

(Swift) 시퀀스와 관련된 Swift 표준 함수들

Swift 기본함수 중에는 Sequence를 만드는 함수들이 제법 있다. 이러한 함수 중에서 가장 많이 사용할 법한 함수로 우선 stride()를 들 수 있다. 이 함수는 파라미터가 다른 두 가지 버전이 있는데 하나는 stride(from:to:by:) 이고 다른 하나는 stride(from:through:by:)이다. 첫번째 버전은 to: 뒤의 경계를 포함하지 않으며, 두 번째 버전은 ClosedRange처럼 뒤쪽 경계값을 포함한다. 이 함수들은 주로 for 문과 같이 쓰이면서 주어진 범위 내에서 step을 달리하여 건너뛰는 값들을 하나씩 얻을 수 있게 한다. 보통 정수범위의 이터레이션에 쓰이는데, 다음과 같이 10~20사이에서 0.2 씩 뛰면서 반복할 수도… 더 보기 »(Swift) 시퀀스와 관련된 Swift 표준 함수들

Cafe24에서 Python CGI 돌리기

Cafe24에서 Python CGI 돌리기

Cafe24에서 가상리눅스 호스팅 같은 걸 받으면 파이썬3도 설치할 수 있고 그렇다만, 여기서는 기본 호스팅에서 파이썬 CGI를 실행하는 방법을 살펴보도록 하자. (일단 파이썬 버전이 2.4이고 커스텀 모듈을 설치할 수도 없기 때문에 여러모로 좌절스럽긴 하다)

  1. CGI 파일의 위치는 특정한 위치에 들어갈 필요는 없다.
  2. 파일의 확장자는 반드시 .cgi 여야 한다. .py인 경우 일반 텍스트 파일처럼 처리된다.
  3. 첫행은 반드시 #!/home/bin/python 이어야 한다. cafe24 매뉴얼에서 #!/home/bin/python2라고 무려 잘못된 내용을 안내해주고 있다.
  4. 실행 권한은 상관없는 것 같기도 하다.

더 보기 »Cafe24에서 Python CGI 돌리기

jump 관련 명령 정리 – vim

vim에서 h,j,k,l 명령에만 익숙해지는 것도 사실 쉽지 않고, 일단 익숙해지면 이 키들을 연타하는 식으로 커서를 움직이는데, 특정한 위치로 바로 이동할 수 있는 jump관련 명령이 손에 익으면 그만큼 편리할 수가 없더라. jump와 관련된 명령들을 한 번은 정리하고 가자.

마커

m을 이용해서 현재 위치를 특정한 마커로 지정할 수 있고, 백팃 ` 이나 '작은 따옴표를 이용해서 그 위치로 되돌아 갈 수 있다. 보통 마크는 a-z, A-Z, 0-9 와 몇 가지 특수문자가 적용되는데, 특수문자들은 특별한 의미를 가지는 것들이다. 다음은 vim에서 사용되는 마커의 특징이다. 이 중에서 사용자가 임의로 설정할 수 있는 마커는 0-9,a-z,A-Z 이며, 이 각각은 문자의 종류에 따라 또 의미가 조금씩 다르다. 그 외에 편집/선택과 관련하여 특징적인 마커가 있으니 살펴봐두자.

  • a-z 영어 소문자는 일반적인 마크. 파일마다 따로 관리된다.
  • A-Z는 여러 파일간에 유지된다.
  • 0-9는 역시 여러 파일간에 유지되는데 … .viminfo 파일 내에 저장된다고 한다. 따라서 vim을 종료/재시작한 후에도 위치를 기억할 수 있다. (실제로 이는 vim을 빠져나갔을 때 위치를 기억한다고 한다.)
  • < > 는 이전 선택 영역의 처음과 끝을 가리킨다.
  • " 는 최종적으로 수정한 위치를 가리킨다.
  • ' 는 점프하기 이전 위치로 돌아간다.
  • ^는 삽입모드가 최종적으로 종료된 위치로 돌아간다.
  • .은 최종 변경이 시작된 위치이다.
  • [ ] 는 최종적으로 수정한 영역의 처음과 끝을 가리킨다.

:marks를 사용하면 현재 이동할 수 있는 마크들을 보여준다.더 보기 »jump 관련 명령 정리 – vim

(Swift) Swift의 String타입 기초 – 03. 활용

목차

  1. 문자열 생성하기
  2. 문자열 조작하기
  3. 활용

응용 변경

기본적인 문자열 조작 방법을 살펴보았으니 그외의 문자열과 관련된 변경을 찾아보자. 참고로 String 타입의 경우 NSString에서 많은 편의 메소드들을 제공하고 있기 때문에 그리 많은 메소드를 지원하지는 않는다. 따라서 문자열을 입맛에 맞게 조작하려면 Foundation을 임포트하는 것을 잊지 말자.더 보기 »(Swift) Swift의 String타입 기초 – 03. 활용

터미널에 컬러로 문자열을 출력해보자 (Python)

터미널 상에 결과를 찍어주는 간단한 프로그램을 만들 때,  특정 단어나 문장에 색을 넣어 출력하고 싶을 때가 있다. 이를 위한 Colorama 라는 패키지도 따로 있기는 한데, 사실 터미널에서 색을 입혀서 출력하는 것은 ANSI 제어 문자를 이용해서 할 수 있는 부분이라 직접 만들어 보기로 한다.
더 보기 »터미널에 컬러로 문자열을 출력해보자 (Python)

SCSS 파일을 자동으로 컴파일하게 하기 – vim

scss 파일을 저장할 때 자동으로 컴파일 해주는 기능을 만들어보자. 이런 종류의 기능은 보통 vim의 autocmd나 키맵 등을 설정하여 만들 수 있다. 오토 커맨드로 등록하는 경우, 특정한 패턴의 파일을 열거나, 파일을 새로 만들거나, 저장하는 전후 등의 시점에 자동으로 수행될 수 있다. SCSS 컴파일은 외부 컴파일러에 의존하고 있다. 따라서 vim 내에서 실행하면 해당 프로그램이 실행되는 동안 vim은 해당 프로세스가 종료되기를 기다리면서 동작을 멈추게 된다. 비록 짧은 시간이기는 하지만 이 과정이 제법 신경쓰일 수 있다. 그런데 vim8부터는 비동기로 이런 작업을 처리할 수 있는… 더 보기 »SCSS 파일을 자동으로 컴파일하게 하기 – vim

GNU find 명령 사용법

GNU find는 디렉토리 트리를 따라 각각의 파일 이름을 주어진 표현식들에 적용하여 매칭되는 결과를 프린트하거나 이를 이용해 별도의 명령을 실행할 수 있다. 간단한 파일 찾기 명령이라고 생각할 수 있지만, find는 실제로 엄청 다양한 일을 할 수 있으며 쉘을 통한 시스템 관리에 있어서 가장 유용하고 필수적인 도구라 할 수 있다. 실제로 grep의 경우 이를 drop in으로 대체하려는 프로젝트들도 많이 있지만, GNU find의 경우에는 이를 100% 커버할 수 있는 대체품이 아직 나오지 않은 상황이다. fd라는 툴이 빠른 속도와 편의성을 개선하여 인기를 얻고 있지만 모든 기능을 대체할 수는 없다.

참고로, GNU find는 그 이름에 있어서 너무 일반적인 동사를 사용하고 있어서 관련 자료를 찾으려 할 때 상관없는 문서가 너무 많이 검색된다. 이 때에는 “GNU find”라고 검색하는 것이 도움이 될 것이다. 이 글의 이후에서는 find를 쓰도록 할 것이다. 또한 윈도에서도 find.exe 라는 도구가 포함되어 있는데, 이것은 grep 처럼 파일에서 텍스트를 검색하는 도구이다. msys를 설치하면 윈도 명령 프롬프트에서도 GNU find를 사용할 수 있지만, 둘의 이름이 갖기 때문에 한쪽의 이름을 바꿔둬야 한다.

사용법

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

더 보기 »GNU find 명령 사용법