개발자노트

고정 헤더 영역

글 제목

메뉴 레이어

개발자노트

메뉴 리스트

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
  • James (126)
    • IT (116)
      • 프로그래밍 (115)
      • 팁 (1)
    • Contact (0)
    • 에세이 (10)

검색 레이어

개발자노트

검색 영역

컨텐츠 검색

IT/프로그래밍

  • MAC OS CATALINA 에서 MONGO DB 설치하기

    2020.11.23 by James Lee.

  • [AWS] AWS 백그라운드에서 프로세스 실행시키기

    2020.08.03 by James Lee.

  • [python] 모듈을 가져오는 import, from, as 를 언제 어떻게 사용하는 것이 좋을까?

    2020.06.13 by James Lee.

  • [flutter] 프로젝트 설정 & 기본 앱 만들어보기

    2020.06.07 by James Lee.

  • [android] AMD CPU에서 android emulator 설치시 4294967201 오류 해결하기

    2020.06.07 by James Lee.

  • [kafka] 카프카 컨슈머 그룹(consumer group) 이해하기

    2020.03.31 by James Lee.

  • [kafka] consumer와 partition 의 이상적인 비율

    2020.03.31 by James Lee.

  • [algorithm] LinkedHashMap - 순서를 유지하는 HashMap

    2020.02.22 by James Lee.

MAC OS CATALINA 에서 MONGO DB 설치하기

MAC OS CATALINA 에서 MONGO DB를 설치하려고 하는데 왠 일인지 구글링을 해봐서 나온 가이드들이 잘 동작하지 않았다. (MAC OS CATALINA 버전 설치도 마찬가지) 아마 카탈리나로 업그레이드 하면서 내부적인 변화가 생겼기 때문이라고 추측한다. 그래서 잠깐의 삽질 후 찾아낸 설치 방법을 간단히 정리한다. 기본적으로 설치는 아래와 같이 하면 된다. $ brew tap mongodb/brew $ brew install mongodb-community@4.2 # 적절한 버전 입력해주면 됨. $ sudo mkdir -p /Users/[username]/data/db 그리고 shell profile 을 열어서 아래와 같이 경로를 추가해준다. (내 경우 zsh를 사용하기 때문에 ~/.zshrc..

IT/프로그래밍 2020. 11. 23. 08:54

[AWS] AWS 백그라운드에서 프로세스 실행시키기

AWS의 EC2 Instance에 Putty로 접속해서 시킨 프로세스는 접속을 종료하면 자동으로 해제된다. 예를 들어, Putty로 접속해서 EC2에 서버를 띄우는 경우, Putty 접속이 해제되면 서버를 더 이상 유지할 수 없다. 이럴 때는 nohub 커맨드를 사용해 프로세스를 백그라운드로 실행시키면 된다. nohup node index.js &

IT/프로그래밍 2020. 8. 3. 00:08

[python] 모듈을 가져오는 import, from, as 를 언제 어떻게 사용하는 것이 좋을까?

파이썬 모듈을 가져오는 키워드는 import, as, from 가 있다. 이 글에서는 모듈을 가져오는 키워드를 어떻게 쓰는 것인지, 어떻게 사용하는 것이 적절한지 알아본다. 모듈을 가져오는 방법은 세 가지가 있다. 첫 번째, import A 이는 A 모듈을 import 하라는 의미다. 예시 코드를 보자. import os print(os.listdir()) 두 번째, from B import A 이는 A 모듈로부터 B 함수를 가져오라는 의미다. 예시 코드를 보자. from os import listdir print(listdir()) os 모듈로부터 listdir 함수를 가져왔다. 첫 번째와 같이 os.listdir() 을 사용하면 os 모듈을 인식할 수 없기 때문에 에러가 발생한다. 세 번째 from ..

IT/프로그래밍 2020. 6. 13. 14:17

[flutter] 프로젝트 설정 & 기본 앱 만들어보기

Flutter 개발 환경을 설정했다는 가정하에 기본 앱을 만들어본다. 개발환경 Window10 Pro & IntelliJ 프로젝트 생성하기 Intellij -> New Project -> Flutter 설정 처음 실행한다면 Flutter SDK 입력하는 곳이 비어있다. Install Sdk를 눌러서 Sdk를 설치할 경로를 넣어주면 설치가 된다. 내 경우는 설치 경로를 아래 화면과 같이 C:\dev\flutter_sdk\flutter으로 했다. 설치하는데 시간이 좀 걸린다. 다음은 프로젝트 이름과 언어를 지정해준다. Dart에서는 프로젝트 이름에 언더스코어(_)를 사용하는 것을 권고하기 때문에, 언더스코어를 사용해준다. (스크린샷에는 하이픈(-)을 사용했지만, 언더스코어로 변경하였다.) 설정이 완료된 후 ..

IT/프로그래밍 2020. 6. 7. 14:58

[android] AMD CPU에서 android emulator 설치시 4294967201 오류 해결하기

개발환경 문제 Android Studio에서 Android Emulator를 설치하려고 했다. 그런데 아래와 같은 에러 메시지가 발생했다. 정확한 에러 메세지는 이렇다. [SC] DeleteService 성공 [SC] 4294967201 오류가 발생하여 StartService이(가) 실패했습니다. Android Emulator Hypervisor Driver for AMD Processors installation failed. To install Android Emulator Hypervisor Driver for AMD Processors follow the instructions found at: https://github.com/google/android-emulator-hypervisor-dri..

IT/프로그래밍 2020. 6. 7. 13:52

[kafka] 카프카 컨슈머 그룹(consumer group) 이해하기

컨슈머 그룹(Consumer Group) 이란? 컨슈머 그룹은 카프카의 개별 컨슈머 인스턴스들을 하나로 묶는 논리적 그룹 단위이다. 왜 Consumer Group 을 사용하는가? 첫 번째, 장애 내성(Fail Over) 특정 컨슈머에 문제가 생기는 경우 동일 그룹 내의 다른 컨슈머가 계속해서 파티션에서 데이터를 읽을 수 있다. 예를 들어 위 그림에서 컨슈머 1에 장애가 발생하더라도, 동일 컨슈머 그룹 내의 2,3,4 컨슈머가 계속해서 읽을 수 있도록 리밸런싱이 된다. 카프카는 컨슈머 그룹 단위로 offset을 관리하기 때문이다. 두 번째, Offset 관리 아직 offset을 모르시는 분들을 위해 먼저 offset을 간단히 정리하면 아래와 같다. 오프셋(Offset) 이란? 파티션 내에서 데이터의 위치를..

IT/프로그래밍 2020. 3. 31. 18:30

[kafka] consumer와 partition 의 이상적인 비율

kafka 에서 consumer group 의 consumer 의 개수는 partition의 개수와 되도록 일치시키는 것이 효율적이다. partition은 동일 consumer group에 대해서는 1:1의 관계를 가진다. 반대로 consumer group의 consumer는 partion과 1:N의 관계를 가질 수 있다. partition이 consumer 보다 많다면, 하나의 consumer가 여러 개의 partition을 처리해야 하기 때문에 지연(lag)이 생길 수 있다. 또한 consumer의 수가 partition의 수보다 많다면, 놀고 있는 consumer가 생기기 때문에 비용을 낭비하게 된다. ※ 참고로 파티션의 수는 늘릴 수는 있지만 줄일 수는 없다. 따라서 무작정 파티션과 컨슈머의 수를..

IT/프로그래밍 2020. 3. 31. 18:30

[algorithm] LinkedHashMap - 순서를 유지하는 HashMap

들어가며 릿코드의 LRU Cache 문제를 풀다가 이 자료구조를 알게 되었다. 처음에는 HashMap으로 직접 LRU Cache에 해당하는 알고리즘을 작성하였으나, 입력값이 커지니 Time limit exceed 가 발생했다. 이 문제의 솔루션은 LinkedHashMap 을 확장하는 것으로 별다른 로직 추가 없이 LRU Cache의 요구사항을 만족시킬 수 있었다. 이런 건 그냥 지나갈 수 없다. 간단하게라도 이 자료구조를 학습해보고 정리해본다. LinkedHashMap 이란 무엇인가? HashMap의 모든 기능은 그대로 사용할 수 있다. 추가적으로, 저장된 데이터들의 순서를 유지한다. 순서를 유지하기 위해 이중 연결 리스트 (Doubly Linked List)를 사용한다. 따라서 메모리 사용량이 Hash..

IT/프로그래밍 2020. 2. 22. 16:33

추가 정보

인기글

  1. -
    -
    IntelliJ 에서 SSH 연결 설정하기

    2017.09.07 12:34

  2. -
    -
    개발자커리어 Young Community 연합세미나 이력서 피드백 강의 내용 정리

    2017.08.28 22:12

  3. -
    -
    Reactive Programming with JDK 9 Flow API 번역

    2017.10.20 17:55

  4. -
    -
    IntelliJ에서 Spring Boot와 Jrebel 연동시 수정사항이 제대로 반영 안되는 현상 해결

    2017.08.25 12:48

최신글

  1. -
    -
    MAC OS CATALINA 에서 MONGO DB 설치하기

    프로그래밍

  2. -
    -
    [에세이] 기회는 언제나 있다.

    에세이

  3. -
    -
    평소의 실력이 자기의 실력이다.

    에세이

  4. -
    -
    [AWS] AWS 백그라운드에서 프로세스 실행시키기

    프로그래밍

페이징

이전
1 2 3 4 ··· 15
다음
TISTORY
개발자노트 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바