본문 바로가기

Grew from

(83)
[북메모] 타이탄의 도구들 오직 두가지를 기억하라.1. 성공은, 당신이 그걸 어떻게 정의하든 간에, 올바른 경험으로 얻어진 믿음과 습관들을 쌓아가다 보면 반드시 성취할 수 있다.2. 당신 마음에 떠오르는 슈퍼 히어로들은 모두 걸어 다니는 결점투성이들이다. 그들은 단지 한두 개의 강점을 극대화했을 뿐이다. 다시 한 번 말하지만 아널드의 비전은 ‘경쟁’이 아니라 ‘승리’였다. 커다란 기회는 작은 승리들 속에 들어 있다. 아널드는 이렇게 말했다. “아무도 쳐다보지 않는다고 해서 스스로 사라지지 마라. 그들이 고개를 들어 나를 바라볼 때까지 기다려라. 퇴장만 하지 않으면 반드시 누군가가 나를 기어이, 본다.” 케빈은 '원하는 일, 원하는 살을 찾는 방법'에 대해서도 지혜를 나눠주었다. "떠올릴 때마다 약간 두렵고 긴장되고 떨리는 일, 그..
[북메모] 학문의 즐거움 책 뒷면에 요약되어있는 부분이 이 책에서 저자가 말하는 전반적인 내용을 잘 말해줘서 옮겨봄 어떤 문제에 부딫히면 나는 미리 남보다 두세 배의 시간을 투자할 각오를 한다. 그것이 보통 두뇌를 가진 내가 할 수 있는 유일한 방법이므로. 때로는 체념도 필요하다. 경쟁자에 대한 질투는 오히려 목표의 초점을 흐리게 한다. 체념의 기술, 이것은 창조왁 관련되는 정신 에너지를 증폭시키는 데 대단히 중요하다. 수학문제가 풀리지 않을 때마다 나는 ' 난 바보니까'를 중얼거린다. 어차피 나는 바보니깐 못하는 것은 당연하고, 할 수 있으면 다행이라는 생각이 들면, 머리가 한결 가벼워진다. 보통 사람의 인생은 직선적이 아니고 우여곡절이 있는 것이 보통이다. 그리고 그 과정에서 되풀이되는 시행착오는 절대로 낭비가 아니다. 내가..
아무도 궁금해하지 않을 변수 let 명칭에 대한 이야기 C를 필두로 C를 기반으로 만들어진 언어들중 타입이 있는 언어들 그니깐 C++, C#, JAVA등은 대게 같은 변수 키워드를 공유하고 있다. int num1 = 1; // 정수 float num2 = 1.1 // 실수 char ch = 'a' // 문자 그러나 자바스크립트는 타입이 없기 때문에 독자적인 변수 키워드를 사용한다. var str1 = 'es5까지의 함수스코프 변수'; let str2 = 'es6에 추가된 블록스코프 변수'; const str2 = 'es6에 추가된 블록스코프 상수'; 딱 이름만 봐도 var는 변수를 뜻하는 variable, const는 상수를 뜻하는 constant에서 따온 말이라는 것을 알수 있는데, let은 기원이 무엇인지 도저히 감이 안잡혔다. 다른 프로그래밍 언어중에서..
[북메모] Bear Grylls 뜨거운 삶의 법칙 SAS 입대시험편부터 에베레스트 등반편까지는 정말로 매순간이 명언의 향연이었던 책. 두고두고 힘들때마다 봐야겠다. 그럼에도 불구하고 내 마음속 깊은 곳, 어느 한편에서는 할 수 있다고, 시험에 통과할 만한 능력이 있다고 믿고 있었다. 작은 불씨 하나가 아직은 살아 있는 셈이었다. 그러나 때로 무언가를 시작할 때 필요한 것이 그 조그만 불씨가 전부일 때가 있다. -209p믿는만큼 이루는 법이다. 스스로에게 그만한 자질이 없다고 자꾸 되노다 보면 진짜로 그게 현실이 된다. 그러나 의심 대신 희망을, 두려움 대신 용기를, 자기연민 대신 자부심을 갖는다면 진짜로 할 수 있을지도 모른다. 엄청난 땀과 혹독한 중노동을 대가로 치러야 할 것이고, 이전보다 더 길고 힘든 훈련을 받아야 할 것이다. 그리고 정신력으로 이..
[Sequelize] TypeError: Converting circular structure to JSON TypeError: Converting circular structure to JSON --> starting at object with constructor 'Sequelize' | property 'dialect' -> object with constructor 'MysqlDialect' --- property 'sequelize' closes the circle backend API router에서 Sequelize를 통해 받은 req 객체를 가공하고선 json으로 바꿔주지 않으면 발생하는 에러 Sequelize를 사용하면 req 객체에 담긴 데이터가 JSON이 아니라 자체적인 객체이기 때문에 가공하고 나면 변환이 필요하다. router.get('/', (req, res) => { const use..
[북메모] 클린 아키텍처 - 프로그래밍 패러다임 구조적 프로그래밍 구조적 프로그래밍이 오늘날까지 가치 있는 이유는 프로그래밍에서 반증 가능한 단위를 만들어 낼 수 있는 바로 이 능력때문이다. 또한 흔히 현대적 언어가 아무런 제약 없는 goto 문장은 지원하지 않는 이유이기도 하다. 뿐만 아니라 아키텍처 관점에서는 기능적 분해를 최고의 실천법 중 하나로 여기는 이유이기도 하다. 가장 작은 기능에서부터 가장 큰 컴포넌트에 이르기까지 모든 수준에서 소프트웨어는 과학과 같고, 따라서 반증 가능성에 의해 주도된다. 소프트웨어 아키텍트는 모듈, 컴포넌트 서비스가 쉽게 반증 가능하도록(테스트하기 쉽도록) 만들기 위해 분주히 노력해야 한다. 이를 위해 구조적 프로그래밍과 유사한 제한적인 규칙들을 받아들여 활용해야 한다. 객체지향 프로그래밍 객체지향이란 무엇인가? 이..
[북메모] 필요한 부분, 핵심만 골라 읽는 대충 독서법 수장선고라는 말이 있다. 물이 늘어나면 배는 저절로 높이 올라간다는 말이다. 물이 적으면 배가 높아질 수가 없다. 책을 읽는다는 것은 내면에 물을 채우는 것과 같다. 책을 읽을수록 내 생각의 수준은 높아지고 의식은 깊어진다. - p180
[MySQL ] ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''테이블-이름' 테이블 만들때 테이블명에 하이픈이 있다면 따옴표가 아니라 `` 로 감싸줘야 에러 안난다.