본문 바로가기
반응형

전체 글295

돈, 뜨겁게 사랑하고 차갑게 다루어라 - 앙드레 코스톨라니 앙드레 코스톨라니는 헝가리 출신의 투자자로 1920년대 부터 증권투자를 시작하여 유럽 증권 시장의 우상된 인물이다. 이 책은 그의 최후의 역작이며, 유럽 증권계는 이 책을 ‘위대한 유산’이라고 평가했다. 코스톨라니는 돈이 선사한 재정적 독립을 충분히 즐겼다. 돈이란 그에게 있어 건강 다음으로 가장 중요한 최고의 선물이자 가장 귀한 것이었다. 그건 바로 원한다면 (거의) 무엇이든 할 수 있고 말할 수 있으며, 원치 않는 것은 당당하게 거부할 수 있고 하지 않을 수 있는 권리였다. 돈에 대한 욕구를 비윤리적이라고 설명하는 다수의 동기가 공정을 바라는 마음이 아니라 질투에서 비롯된다. 돈에 대한 욕구는 경제적 진보의 원동력이다. 돈을 벌 수 있는 기회를 위해 사람들은 자신의 창의성, 성실 그리고 위험을 감수하.. 2023. 10. 14.
SpringBoot3 CircuitBreaker Resilience4j 알아보기 CircuitBreaker Fault Tolerance(=장애 허용 시스템) 에서 사용되는 대표적인 패턴으로 서비스에서 타 서비스 호출 시 에러, 응답지연, 무응답, 일시적인 네트워크 문제 등을 요청이 무작위로 실패하는 경우에 Circuit를 오픈하여 장애가 다른 서비스로 전파되지 못하도록 방지하고 미리 정의해놓은 Fallback Response를 보내어 서비스 장애가 전파되지 않도록 하는 패턴이다. CircuitBreaker를 사용하는 목적은 애플리케이션의 안정성과 장애 저항력을 높이는 데 있다. 상태 정상 Client -> Service A -> Circuit Breaker (정상 상태: Bypass Traffic) -> Service B 장애상황 Client -> Service A Circuit B.. 2023. 10. 8.
경제 기사 처음 읽기 - 스노우볼, 경제 기사 읽는 방법 경제 공부를 위해 경제기사를 시간 날 때 매일 보려고 하지만 볼 때마다 내가 무엇을 보고 있고, 오늘 무슨 내용을 봤고, 이걸 왜 보고 있는지 등 막막하기만 했다. 그리고 자연스럽게 며칠씩 안읽기 시작하고 습관으로 만들기는 실패해왔다. 이 책을 읽으면서 경제 기사를 왜 읽어야 하는지, 어떻게 읽어야 하는지, 그동안 왜 습관으로 만들기 어려웠고 어떻게 습관으로 만들지 기본적인 내용과 시작하는 방법을 알게 되었다. 경제를 중심으로 세상을 보는 눈은 쉽게 길러지지 않는다. 시간을 투자해 꾸준히 공부하는 노력이 필요하다. 경제기사를 꾸준히 읽는 것만으로도 경제를 중심으로 세상을 바라보는 눈을 기를 수 있다. 경제 기사를 꾸준히 읽기 위해서는 진입 장벽을 낮춰야 한다. 열정이 가득한 상태에서 높은 수준의 일들을 .. 2023. 9. 24.
React Hook 개념 및 활용 React Hook은 v16.8부터 React 요소로 새로 추가된 기능으로 함수형 컴포넌트에서도 클래스형 컴포넌트의 기능을 사용할 수 있게 하는 여러가지 기술을 Hook 이라고 부른다. 예를들어, 기존 함수형 컴포넌트에서 할 수 없었던 상태값 관리(useState), 생명주기 함수(useEffect) 등을 사용할 수 있게 되었다. 클래스형 컴포넌트의 단점 - 컴포넌트의 상태 로직 재사용의 어려움 - 복잡한 컴포넌트의 이해하기 어려움 - 코드의 재사용성과 구성의 어려움 - 클래스의 문법의 어려움 위와 같은 클래형 컴포넌트의 단점과 함수형 컴포넌트의 간결함과 편리함 때문에 함수형 컴포넌트가 많이 활용되고 있다. 그리고 이 함수형 컴포넌트를 좀 더 효율적으로 잘 활용할 수 있도록 지원해주는 기능이 Hook이라.. 2023. 9. 23.
random secret key 생성(openssl rand) 개발 할때 여러가지 이유로 복잡도 있는 랜덤한 키(ex. JWT secretkey 생성)를 생성해줘야 하는 경우가 있다. 이럴때 적절한 키를 선정하기 애매할 때가 있는데 OpenSSL 명령어 한줄로 간단히 랜덤 키를 생성해서 사용할 수 있다. openssl rand -hex 64 위와 같이 입력하면 아래와 같이 결과가 나오고 복사해서 사용하면 된다. 추가적인 옵션 사용법들은 다음과 같다. 필요에 따라서 사용하면 된다. # Hexadecimal output + 64byte openssl rand -hex 64 # Base64 output + 32byte openssl rand -base64 32 아래는 각 옵션 별 샘플 실행 결과이다 2023. 9. 23.
VSCode Snippet Generator(사용자 정의 스니펫) 활용 Snippet이란 재사용 가능한 소스코드, 텍스트의 일부분을 일컫는 용어이다. 사용자가 루틴 편집 조작 중 반복 타이핑을 회피할 수 있게 도와주는 것이다. 간단히 말해, 매번 동일하게 반복적으로 넣어줘야 하는 코드를 자동화 시키는 개발 편의 기능이라고 볼 수 있다. VSCode에서 사용자 스니펫을 쉽게 직접 생성할 수 있는 방법을 알아본다. 아래 사이트에 접속한다. Snippet 템플릿을 생성해주는 사이트이다. https://snippet-generator.app/ snippet generator Snippet generator for Visual Studio Code, Sublime Text and Atom. Enjoy :-) snippet-generator.app 사이트에서 왼쪽 영역에 생성하고자 하.. 2023. 9. 22.
NodeJS mongoose DB 커넥션 오류 - SyntaxError: Invalid or unexpected token NodeJS mongoose를 활용해서 어플리케이션 올리는 중에 아래와 같은 에러가 발생했다. 개발 환경은 NodeJS 버전은 18.17, mongoose 7 버전으로 개발이중이었다. .../node_modules/mongodb/lib/collection.js:74 pkFactory: db.options?.pkFactory ?? utils_1.DEFAULT_PK_FACTORY, ^ SyntaxError: Invalid or unexpected token at Module._extensions..js (node:internal/modules/cjs/loader:1310:10) Node.js v18.17.1 [nodemon] app crashed - waiting for file changes before .. 2023. 9. 17.
VSCode Auto Import - import문 자동 생성 vscode에서 react나 node.js로 개발 시 import문 작성하는게 많이 귀찮은데 Auto Import 확장프로그램을 설치해서 사용하면 편리하다. vscode 좌측 메뉴 중 확장프로그램에서 "auto import"라고 검색하고 설치해주면 된다. 그리고 vscode를 재기동 한다. 아래 예시와 같이 Router라고 입력하면 하단에 import 대상들이 표시되고 선택만 하면 상단에 import문이 추가 된다. 혹시 잘 안되는 경우 프로젝트 Root에 jsconfig.js 파일을 생성하고, 아래와 같이 넣어준 후 해보자 { "compilerOptions": { "target": "es6", "module": "es2015" } } 연관 글: VSCode Reactjs code snippets(코드 .. 2023. 9. 17.
네 인생 우습지 않다 - 전한길, 행복과 삶의 자세 학원가에서는 예전부터 일타강사로 유명하셨지만 요즘 유튜브, 방송 등에서도 정말 유명하신 분이다. 이분의 책을 이번에 한번 읽어보게 되었다. 수험생들의 멘탈 관리나 위로에 많이 도움이 되는 책이라 생각할 수 있지만 학생들, 일반인들 모두가 읽어봐도 인생을 살아가는데 많은 도움이 되는 삶의 자세에 대한 책인 것 같다. 힘들다고? 누가 시킨 사람없다. 자신이 원하는 걸 얻기 위해 본인이 선택한 길이다. 사실 더 잘하려고, 열심히 하려고 하기에 힘든 것 아닌가. 본인이 선택해서 자신의 운명을 결정할 수 있다는 것은 굉장히 행복한 일이다. 매번 힘들다고 얘기하는 것은 결국 남 탓만 하는 것이다. 내 인생이다 누구를 탓할 것인가. 졸지 않고, 시계를 보지 않고 집중해서 공부하는 방법이 뭘까? 계획표를 세우면 된다... 2023. 9. 16.
MongoDB mongo: command not found 오랜만에 MongoDB로 테스트 하기 위해 MongoDB를 설치하고 접속을 확인하는 중에 아래 같은 에러가 떴다. mongo: command not found 처음에는 설치에 문제가 있었나 했는데 찾아보니 MongoDB 6.0부터 "mongo" 라는 명령어는 remove되었다. 대신 "mongosh"라는 명령어를 사용해서 shell에 접속해야 한다. $ mongosh 사용방법은 예전의 mongo와 다른것이 없다. use 데이터베이스명 데이터베이스 사용(없으면 새로 생성) db 현재 사용중인 데이터베이스 확인 show dbs 데이터베이스 리스트 확인(최소 한 개의 Document를 가진 DB만 출력) db.컬렉션명.insertOne({key:value, ...}) 컬렉션 안에 Document 추가 db.데.. 2023. 9. 16.
반응형