본문 바로가기

분류 전체보기106

[Book review] 인간을 분석하는 6가지 도구 (Feat. MBTI) 서론책을 접하게 된 계기는 역행자를 읽은 것부터 시작한다. 이후 이 책의 저자가 운영하는 카페에 갔다가 이 책의 출판된 버전을 팔고 있었는데 간단히 읽다 맘에 들어서 사버렸다.ㅎ 사람의 심리에 대해 관심이 많았었는데 학술적인 접근보다 경험, 실용적인 접근이 마음에 들었고 거기다 실제 사례를 들어서 설명하니 더욱 신뢰가 갔다. (상담전문회사 경영에 마케팅하는 사람이라...) 거두절미하고 책의 핵심내용을 요약함과 동시에 사견을 붙여서 이야기해보려한다. 한줄로 요약하면 사람을 파악하는 법에 대해 다루고 있는 책이다. 6가지의 도구로 유형화시켜 설명한다. 책의 서론 부분에 "유형화에 대한 반박"이란 주제로 유형화 비관론자들에게 반박으로 시작한다. 요약하면 결국 유형화는 인간의 본성이고 반박하는 사람들조차 스스로.. 2023. 3. 19.
[git] system global local 차이점 git system global local 차이점 system 해당 파일 시스템이 있는 모든 사용자와 모든 저장소에 적용되는 설정 파일 /etc/gitconfig 에 저장 global 해당 사용자에게만 적용되는 설정파일 ex) 같은 linux user ~/.giconfig 에 저장 local 해당 저장소에만 적용 .git/config 에 저장 git commend default operation 중복된 옵션이 있다면 local, global, system 순서대로 덮어쓴다. ex) .git/config와 /etc/gitconfig에 같은 옵션이 들어있다면 .git/config에 있는 옵션을 사용한다. 2023. 3. 15.
[Book review] 문서자료 - Software Engineering at Google, 구글 엔지니어는 이렇게 일한다. 서문 앞 글인 지식공유 글에서 이어집니다. 지식을 공유하는 효율적인 방법 중 하나가 문서자료라고 생각한다. 문서자료는 무엇이고 왜 필요할까? 또 많은 사람들이 효율적으로 양질의 문서자료를 관리하려면 어떻게 해야할까? 오늘은 책에서 문서자료 Chapter를 정리하고 사견을 붙여 이야기한다. 문서자료 문서자료(documentation)란 엔지니어가 작업을 끝마치기 위해 작성해야하는 모든 부수적인 텍스트이다. 여기에는 별도로 작성한 문서는 물론이고 코드주석까지 포함한다. 문서자료가 필요한 이유 개발자로서 내가 생각하는 문서자료가 필요한 가장 큰 이유는 양질의 프로그램을 만들기 위해서라고 생각한다. 좀 더 풀어서 설명하면 팀의 모든 구성원이 더 원활히 역량을 발휘할 수 있게 된다는 것이다. 이제 신입딱지를 막 .. 2023. 1. 20.
[Book review] 지식공유 - Software Engineering at Google, 구글 엔지니어는 이렇게 일한다. 서문 주도적으로 성장하는데 관심이 많은데 그중에서도 독서를 하는 습관을 기르려 노력 중이다. 그 노력의 일환으로 book review를 진행하고자 한다. 첫 번째 책은 Software Engineering at Google 구글 엔지니어는 이렇게 일한다로 선정했다. 미국의 빅 테크 기업을 대표하는 기업 중 하나인 구글의 문화를 간접적이나마 체험해보고 개발자인 내 일에 적용하기 쉬울 것이라 생각했기 때문이다. 책을 읽으며 생각보다 공감 가는 부분이 많았다. software를 개발하는 데 있어 어느 정도 차이는 있겠지만 결국 겪는 어려움은 비슷한 것 같았다. 이 글에선 일부인 지식 공유 Chapter를 리뷰하고자 한다. 배움을 가로막는 장애물 구글은 조직에 배움의 문화가 자리 잡혀야 한다고 강조한다. 이런 .. 2022. 11. 3.
[C, C++] type conversion 형 변환 형 변환 한 자료형에서 다른 자료형으로 값을 변환하는 것 암시적 형 변환(implict type conversion): 즉 컴파일러가 자동으로 하나의 기본 자료형을 다른 자료형으로 변환한다. 자동 형 변환(automatic type conversion)이라고 불린다. 명시적 형 변환(explict type conversion): 형 변환을 하기 위해 형 변환 연산자(type casting operator)를 사용한다. 의도치 않은 형 변환은 오류를 원인중 하나이기 때문에 되도록 피해야 하고 될 수 있으면 명시적 형변환을 사용해야한다. explicit 암시적 타입 변환을 수행하는데 쓰이지 않게 하는 키워드 class A { public: explicit A(int x = 0, bool b = true); .. 2022. 5. 3.
[C++, 완전탐색] 프로그래머스 양궁대회 문제 https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 풀이 완전탐색 문제이다. 총 11개의 점수(0점 ~ 10점) 에서 라이언이 해당 점수를 선택하냐 선택하지 않느냐로 나눌 수 있다. 구현이 쉬운 dfs로 풀이하였다. 해당 문제에서 주의해야 할 점이 있다. 문제를 꼼꼼히 읽어보면 알 수 있는데 예시에도 나와있듯이 라이언이 가장 큰 점수 차이로 우승할 수 있는 방법이 여러 가지 일 경우, 가장 낮은 점수를 더 많이 .. 2022. 4. 7.
[C++, 문자열, 슬라이딩 윈도우] 프로그래머스 추석 트래픽 문제 https://programmers.co.kr/learn/courses/30/lessons/17676 2022. 4. 5.
[C++, 문자열] 프로그래머스 오픈채팅방 문제 https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 해답 Stringstream과 hash를 이용해 풀이하였다. #include #include #include #include #include using namespace std; unordered_map nameMap; class tans{ public: string ac; string h; }; vector solution(vector record) { .. 2022. 4. 4.
[C++, 문자열] 프로그래머스 다트게임 문제 https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 해답 stringsteam을 잘 활용하니 parsing을 쉽게 할 수 있었다. #include #include #include #include using namespace std; int solution(string dartResult) { stringstream ss(dartResult); int answer = 0; int answerList[3] = { 0, }; int strIdx = 0; for (int i = 0; i < 3; i++) { //parsing int score = 0; char bonus = 0, opt.. 2022. 3. 31.
[git] local git default branch를 master 에서 main으로 변경 local git default branch를 master 에서 main으로 변경하는 방법에 대해 알아보자 아래의 페이지를 참고하여 요약하였다. https://github.blog/2020-07-27-highlights-from-git-2-28 1. git version 2.28 이상 우선 자신의 git version에 대해 알아야한다. 2.28버전부터 가능하다. 나도 명령어가 먹히지 않길래 version을 보니 2.27이었다... 2.28 버전 밑이라면 아래의 명령어를 통해 업데이트하자. $ git update-git-for-windows 2. git config 설정 바꾸기 다음 아래의 명령어를 통해 defaultBranch를 main으로 변경한다. $ git config --global init.d.. 2022. 3. 30.
[C++, 문자열] 프로그래머스 신규 아이디 추천 문제 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 해답 문자열 연습하기 정말 좋은 문제라고 생각한다. 해답 밑에 해답에서 사용한 std 함수들을 간략하게 설명하였다. #include #include #include using namespace std; string solution(string new_id) { //1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. for (int i .. 2022. 3. 23.
[Design Patterns] (Abstract) Factory Pattern (Abstract) Factory Pattern Factory method를 사용하여 직접적으로 객체 class를 사용하지 않고 객체를 생성하는 생성 패턴 creational pattern that uses factory methods to deal with the problem of creating objects without having to specify the exact class of the object that will be created. Purpose 객체 생성 함수를 노출시키고 subclass가 실제로 생성하도록 하도록 합니다. Exposes a method for creating objects, allowing subclasses to control the actual creation .. 2021. 8. 6.