스탠퍼드 대학에서 기업가 정신을 강의하는 앤은 졸업을 앞둔 학생들에게 2가지를 조언한다. 1. 인문학 소양으로 마음을 채우는 것이다. 전기공학을 전공하고 컴퓨터 보안을 위한 수학적 모델링으로 박사학위를 딴 앤이지만 가르치는 학생들에게 항상 인문학을 권한다고 한다. 1995년 앤이 수강한 디지털 회로강의는 이제 전혀 쓸모가 없는 구식이 되어버렸지만 그 때 수강했던 문학과 역사 강좌는 아직도 앤의 마음속에 깊숙히 자리잡고있다. 존 로크, 토머스 홉스, 칸트 등 시간이 지나도 변치않는 인간의 본성에 관한 위대한 교훈과 이야기들은 자금도 밝은 등불이 되어 인류의 앞길을 비추고 있다. 빠르게 질주하는 세계에서 성공하려면 의식적으로 뒤로 물러나 지금 달려가고 있는 미래가 정말 우리가 만들고 싶은 미래인지를 확인할 ..
명상을 한다는 것은 불심을 얻으려고 하는 것이 아니라, 그걸 표현하기 위함이다. 참된 마음을 얻기 위해서가 아니라 그걸 표현하기 위해서 살아야 한다고 결심해보자. 타인보다 더 많이 얻고 쌓는 삶보다는 타인보다 더 많이 더 적극적으로 표현하는 삶이 더 깊고 큰 가치가 있다고 생각한다. 그렇다면 우리는 무엇을 표현해야 하는가? 무엇을 알려야 하는가? 우리가 사랑받을 가치가 있는 사람이라는 것. 그 자체를 표현해야 한다. 그것이 가장 성공한 삶이다. 표현은 증명이 아니고 증명을 위해 뭔가를 할 필요는 없다. 표현은 갈구가 아니다. 억지로 사랑을 구할 필요도 없다. 그냥 존재하기만 하면된다. 사랑받을 자격을 갖추기 위해 테니스를 배우거나 유명한 유투버가 되거나 세계적인 쉐프가 될 필요는 없다. 물론 그런 성취는..
- block 부모 컨테이너의 너비를 채운다. 새 줄에서 시작하고, 그 옆에 HTML 요소를 허용하지 않는다. (float사용시에는 허용) width/height 지정이 가능하다. vertical-align 정렬이 불가능하다. margin, padding이 모든 방향에서 가능하다. - inline-block 내용에 크기를 의존한다. 다른 콘텐츠와 함께 흐르고, 다른 요소가 옆에 있는 것을 허용한다. width/height 지정이 가능하다. vertical-align 정렬이 가능하다. margin, padding 모든 방향에서 가능하다. - inline 내용에 크기를 의존한다. 다른 콘텐츠와 함께 흐르고, 다른 요소가 옆에 있는 것을 허용한다. width/height 설정이 무시된다. vertical-al..
www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 핵심 아이디어 카운트 개수에 따라 카운팅하되, 카운트 개수가 같다면 이름의 사전순으로 정렬하는 문제이다. 파이썬으로 하기엔 간편했으나 자바스크립트로 어떻게 2개의 조건을 사용할지, dict 형을 어떻게 정렬해야할지 고민되었던 문제이다. 먼저 dict는 array타입으로 [키, 값]으로 바꿔주고 그 array에 비교함수를 sort인자로 주어서 해결하였다. const readline = require('re..
React 함수 인자를 array로 받기에 PropType을 TodoList.propTypes = { todoList: PropTypes.array.isRequired, }; 으로 설정한다면 Prop type `array` is forbidden 이라는 에러를 접할 것이다. 이 이유는 airbnb eslint에서 금지하고 있기 때문이다. (정확히 말하면 eslint-plugin-react) Why? 왜냐하면 PropTypes.array는 아래 경우가 모두 해당되기 떄문이다. array of objects [{name:'ABC'},{name:'XYZ'}] array of strings ['Lorem','Ipsum'] array of integers [2,4,66,4] array of nested array..
feat: introduces a new feature to the codebase fix: patches a bug in your codebase refactor: A code change that neither fixes a bug nor adds a feature 출처: stackoverflow.com/questions/48075169/semantic-commit-type-when-remove-something
www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 핵심 아이디어 트리의 지름을 구하는 문제는 풀이법이 정해져있는것 같다. 핵심은 무작위의 점에서 가장 멀리 있는 점을 구한뒤, 그 점에서 한번 더 가장 멀리있는 점과의 거리가 트리의 지름이 된다는 것이다. 즉, 1번 노드에서 다익스트라를 이용해 가장 멀리 있는 노드 x를 구하고, x에서 한번 더 다익스트라 알고리즘을 통해 가장 멀리 있는 노드사이의 거리를 구하면된다. const readline..
기존 문제점 리액트는 DOM 노드의 자식들을 재귀적으로 처리할 때 기본적으로 동시에 두 리스트를 순회하고 차이점이 있으면 변경한다. ex) 1 2 to 1 2 3 위 코드로 변경하는 경우 리액트는 2개의 트리에서 1 가 일치하는 것을 확인하고 2 가 일치하는 것을 확인하고 3가 다르므로, 트리에 추가한다. 즉, 1,2번째 엘리먼트가 똑같고 마지막 엘리먼트만 다르므로 모든 자식 노드를 새로 그릴 필요 없이, 변경된 사항만 새롭게 그리게 된다. 하지만 아래의 경우에는 리스트의 맨 앞에 엘리먼트를 추가하는 경우 성능이 좋지 않다. 1 2 to 3 1 2 왜냐하면 새로운 엘리먼트가 첫번째로 생겼기 때문에 리액트가 모든 요소가 제자리에 위치하지 않았다고 판단하고, 모든 자식 엘리먼트를 새로그리기 때문이다. (성능..