TIL(Today I learned)(279)
-
(TIL) 20220809/ 함수형 코딩
🏴Facts(한 것) & Findings(배운 것) 함수형 코딩 6~8장을 한번에 읽었다. 6장은 copy-on-write에 대한 내용으로 이루어져 있다. 간단하게 설명하자면 데이터를 쓰기보다는 일기를 해서 처리하자는게 주된 내용이다. 코드로 보면 class Main { private String[] shopping_cart = []; public void add_shopping_cart(String[] items) { for(String s: items) { shopping_cart.add(s); } } } 위 코드를 class Main { private String[] shopping_cart = []; public String[] add_shopping_cart(String[] items)..
2022.08.10 -
(TIL) 20220728/ 함수형 프로그래밍 스터디
🏴Facts(한 것) & Findings(배운 것) 오늘은 코드숨에서 책으로 스터디를 진행했다. 오랜만에 코드숨 스터디에 참여했고, 많은 인원이 참여했다. 이번 책은 특히나 읽으면서 재밌어서 더 좋았다. 얼마전에 클린 아키텍처를 읽으면서 함수형 프로그래밍에 대해서 언급이 있어서 궁금했는데, 이를 생각하면서 읽으니 더 도움이 된 것 같다. 특히 책을 읽으면서 바로 질문을 만들면서 읽으니 더욱 좋았다. 나는 이런 질문들을 만들어 봤다. 함수형 프로그래밍의 정의는 순수 함수 만을 사용하는 것이 정의인데, 실제 함수형 프로그래머는 왜 부수 효과와 순수하지 않은 함수를 사용하는가? 부수 효과는 정해진 함수의 일 외에 일어나는 것을 말하는 것인가? 함수형 프로그래밍의 장점은 무엇인가? 액션과 계산을 구분해..
2022.07.28 -
(TIL) 20220725/ 테스트 주도 개발
🏴Facts(한 것) & Findings(배운 것) 테스트 주도 개발의 목적은 무엇일까? 에서는 그 목적을 다음과 같이 소개한다. 작동하는 깔끔한 코드. 론 제프리즈의 핵심을 찌르는 이 한마디가 바로 테스트 주도 개발의 궁극적인 목표다. 책에서 TDD의 목표를 위와 같이 설명해주는 데는 여러가지 이유가 있는데, 나는 그중에서 이 예시에 가장 마음이 와닿았다. 코드가 가르쳐주는 모든 교훈을 학습할 기회를 갖게 된다. 처음 생각나는 대로 후딱 완료해 버리면 두 번째 것, 더 나은 것에 대해 생각할 기회를 잃게 된다. 맞다. 나는 TDD를 해오면서 '또 어떤 경우가 있지?'라는 생각을 가지고 테스트를 작성했다. 물론 시간이 없어서 테스트 케이스를 기본적인 것만 작성할 때도 많았지만. 간단한 예로, i..
2022.07.25 -
(TIL) 20220708, DB트랜잭션과 무결성
🏴Facts(한 것) & Findings(배운 것) 오늘은 DB에 대해서 공부를 했다. MySQL서버 구조와 MySQL 스레딩 구조, 트랜잭션과 무결성 등에 대해 공부했다. 그리고 그 중 인상깊었던 트랜잭션에 관한 글을 남겼다. 아래에서 확인 가능하다.(스압 주의) (Database) 트랜잭션(ACID)과 무결성 구글에 트랙잭션을 검색하면 가장 많이 나오는 말이 있다. "DB의 상태를 변화시키기 수행하는 단위" 그런데 이것 만으로는 트랜잭션에 관해 전혀 감이 오지 않는다. (나만 그런가?) 나는 이 문장 mirrorofcode.tistory.com 오늘 타다 면접을 봤다. 주로 내 프로젝트 관련한 질문이 대부분이었고, 마지막에 컴퓨터 공학 관련 질문(LinkedList와 Array시간복잡도 차이..
2022.07.09 -
(TIL) 20220708, Big-O와 시간복잡도/코딩 인터뷰 완전 분석
🏴Facts(한 것) & Findings(배운 것) 6일 밤에 책을 구매했는데, 7일 아침에 책이 도착했다! 책에는 사고력에 관련한 문제부터 CS까지 다양한 문제들이 준비되어 있다. 인터뷰를 준비하는데 많은 도움이 될 것 같다. 학교에 같이 네이버 인턴십에 합격한 친구가 있어서 CS 스터디를 같이 했다. 이번에는 방식을 각자 질문을 가져와서 설명하면서 진행했는데, 다음부터는 미리 질문들을 정하고 이에 대해 무작위로 답해보는 시간을 가져야겠다. 오늘은 Big-O에 대해서 정리했다. 아래에서 확인하자. 🏴Affirmation(자기선언) 🏴여담 Github mikekang47 - Overview BE Developer TDD lover. mikekang47 has 48 reposit..
2022.07.08 -
(TIL)20220706, 운영체제/네이버 인턴십
🏴Facts(한 것) & Findings(배운 것) (운영체제) 운영체제의 개요 운영체제는 프로그래밍의 기본이 되는 것이라고 할 수 있다. 운영체제를 통해서 메모리 구조나 프로그램이 실행되는 방식을 이해하게 되면 코드를 작성할 때, 좀 더 유연한 사고방식으로 코드 mirrorofcode.tistory.com 운영체제를 공부하면서 배운 것을 간략하게 정리했다. 앞으로 더 채워나갈 예정이다. (일단은 면접 대비부터 해야지) 어제 네이버 인턴십 코딩 테스트 및 서류 합격 발표가 났다. 간절함이 통한 것일까, 합격 메일을 받았다! 코딩테스트 문제는 총 4문제였고, 한 문제는 YAML을 작성하는 문제고, 나머지 문제는 알고리즘 문제였다. 마지막 문제가 재밌는 문제였는데, O(n^3)으로 풀이가 뻔히 보이..
2022.07.07