Dev
[Dart] Dynamic Type
dart 언어에서는 javascript처럼 타입을 쓰지 않아도 돌아가게끔 되어 있다. 이렇게 정적 검사를 실행하지 않도록 강제하는 것을 dynamic type이라고 불리는데, 아래처럼 사용한다. 기본 사용법 void main() { var name1; dynamic name2; name1 = 'monggu'; name2 = 12; name2 = true; } name1처럼 변수 앞에 var를 붙여 쓸 수 있다. IDE에서 name1 위에 마우스를 올려 보면 아래 사진에서 볼 수 있듯이 dynamic이라는 타입으로 표시되고 있다. name2처럼 변수 앞에 dynamic을 붙여 써도 된다. 이 경우에도 dynamic 타입으로 표시된다. name1이나 name2에 할당한 것처럼 아무 타입의 변수든 할당할 수 ..
[Linux] 특정 문자열 들어있는 파일 찾기 (파일 내 특정 문자열 찾기)
결론부터 말하면, 만약 "example-string" 라는 문자열이 들어있는 파일을 찾고 싶다면 아래 명령어로 찾을 수 있다. find . -type f -print | xargs grep -i "example-string" 예를 들어보자! 만약 내가 위치해있는 디렉토리에 아래와 같이 test1, test2, test3, test4, test5 파일이 있고, 각 파일의 내용은 아래 캡처와 같다고 하자. "world"라는 문자열이 있는 파일을 찾아내고 싶은데, 파일이 이것보다 훨씬 많으면 하나하나 들어가서 확인하기가 번거롭다. 그럴 때 위에서 말한 명령어를 사용하면 된다. 여기서 불편한 점 하나는, 찾고자 하는 단어가 하나의 파일에 여러 번 들어있으면 아래처럼 동일한 파일명과 그 라인이 여러 번 출력된다...
[Vim] Vim 테마 적용하기 (feat. Vundle)
Vim의 기본 테마는 여러모로 사용하기 불편한 점이 많습니다. 키워드 하이라이트도 안 되고, 라인 넘버도 보이지 않는 등 생산성을 저해하는 요소들이 너무 많죠. 본 글에서는 .vimrc를 통해 기본적으로 설정할 수 있는 옵션들을 적용해보고, 더 나아가 테마까지 적용하여 더욱 쓸만한 Vim 에디터를 만들어보겠습니다. 참고로, 본 글을 작성하며 이용한 개발 환경은 다음과 같습니다. macOS Monterey 12.4 (Apple M1 Pro) VIM - Vi IMproved 8.2 git 2.32.1 1. .vimrc를 통한 기본 옵션 설정 Vim의 순정 상태는 검은 건 배경이요, 하얀 건 글자인 상태다. 아래 사진은 내 .zshrc 파일의 일부를 캡처한 것이다. 어느 것이 주석인지, 어떤 환경변수를 exp..
[MacOS] Macbook M1 터미널 세팅 및 커스터마이징
최근 업무기기로 M1을 받았는데 터미널을 다시 세팅할 겸 본 글을 작성하게 되었습니다. 본 글에서는 아무것도 설치가 안 되어 있고, 아무것도 설정이 되어 있지 않은 순정의 맥북 상태에서부터 터미널을 세팅하고 커스터마이징할 수 있도록 필요한 정보를 설명합니다. 참고로, 본 글을 작성하며 이용한 개발 환경은 다음과 같습니다. macOS Monterey 12.4 (Apple M1 Pro) iTerm2 3.4.16 터미널 세팅 및 커스터마이징 본격적인 터미널 세팅에 앞서 먼저 iTerm2를 설치하자. 참고로 M1 대응은 알아서 되어 있어서 Apple Silicon용 버전같은 건 따로 선택할 필요가 없다. iTerm2 설치가 끝났다면 본격적으로 터미널을 세팅하고 커스터마이징해보자. 1. Oh My Zsh 설치 O..
[iTerm2] iTerm2 한글 깨짐 현상 (자음/모음 분리 현상) 해결 방법
들어가며 iTerm2를 처음 설치하고 사용해보면 위와 같이 한글의 자음과 모음이 분리되는 현상이 발생합니다. 본 글에서는 이러한 한글 깨짐 현상을 해결하는 방법에 대하여 설명합니다. 참고로, 본 글을 작성하며 이용한 개발 환경은 다음과 같습니다. macOS Monterey 12.4 (Apple M1 Pro) iTerm2 3.4.16 본론 1. (iTerm2 실행 중인 상태에서 메뉴 막대에 있는) iTerm2 클릭 - Preferences 클릭 (혹은 ⌘ + ,) 2. Profile 클릭 - Text 클릭 - Unicode normalization form을 NFC로 변경 3. iTerm2에서 한글 깨짐 현상이 해결된 것을 확인
[Nginx] Nginx 환경 설정 - (1) 배경 지식
1. 환경 설정에 대한 기본 설명 Nginx 환경 설정 파일은 논리적으로 되어 있는 지시어(derectives) 목록 애플리케이션 전체가 지시어에서 부여하는 값에 의해 작동 Nginx는 모듈 구조로 작동하며, 각 모듈은 특정 지시어의 묶음 형태로 제공됨 가장 기본적인 지시어들은 Nginx 코어 모듈(Core module)에 포함되어 있음 2. 지시어 (directive) 2.1 simple directive worker_processes 1; {이름} {값}; 형식이며, 세미콜론으로 끝남 2.2 block directive events { worker_connections 1024; } http { server { listen 80; server_name localhost; } } simple direc..
[Vim] 최소한의 Vim 단축키 cheatsheet
저는 주로 IntelliJ나 VS Code 등의 에디터를 사용하여 문서 편집을 하지만, 리눅스 서버에 직접 붙어서 Vim으로 문서를 편집할 일도 상당히 많습니다. 매일 같이 쓰는 Vim 단축키는 외우게 되었지만, 유용하지만 가끔씩 쓰는 단축키들은 자꾸만 잊게 되더라고요. 그래서 Vim 단축키 cheatsheet를 만들기로 결심했습니다. 물론 구글링해보면 이미 Vim 단축키 모음에 대한 글이 수도 없이 많은데, 대부분 제게는 너무 과한 정보를 전달해주고 있습니다. 가령 입력 가능한 상태로 변경하는 단축키만 해도 i, a, o, I, A, O 가 있는데 사실 저는 매번 a만 씁니다. 개인적으로 모든 걸 기억하고 매번 필요한 단축키를 쓰는 것보다, 무지성으로(?) a 쳐서 입력 가능한 상태로 바꾸고 수정해야 ..
ngrok을 활용한 손쉬운 개발 공유
ngrok은 NAT 및 방화벽 뒤에 있는 로컬 서버를 보안 터널을 통해 외부로 공유하는 도구입니다. 쉽게 말해, 외부에서도 localhost에서 실행되고 있는 애플리케이션에 접근할 수 있게 하는 터널 프로그램이라고 할 수 있습니다. 이 글에서는 ngrok의 사용법과 사용 시 유의 사항, 사용 예시에 대해 설명합니다. 자세한 내용은 ngrok 공식 문서를 참고해주세요. 1. 로컬 환경에서 개발한 것을 외부로 공유하는 방법 대부분의 개발자는 로컬 환경에서 개발한 것을 외부로 공유해야 할 순간을 맞는다. 이렇게 외부로 공개하는 것을 '호스팅한다'라고 표현하는데, 호스팅하는 방법을 알아보자. 1.1 배포를 통한 외부 공유 일반적인 경우, 배포를 통해 호스팅을 한다. Amazon의 AWS, Google의 GCP,..