본문 바로가기

분류 전체보기

(171)
주간회고 5주차 이번주부터 쓰기 형태를 바꿔보려 합니다. 틀에 갇혀서 쓰니 글쓰는 맛이 안 나네요. 이번주는 테스트를 작성하는 법에 대해 배웠습니다. TDD는 테스트 주도 개발입니다. 테스트만 작성한다고 TDD는 아닙니다. TDD의 순서에 따라 작성해야 비로소 TDD를 했다고 말할 수 있습니다. 하지만 아직 저는 테스트 코드에 미숙해서 순서를 따라하긴 버거웠습니다. 그래서 테스트 코드 작성하는 법에만 집중을 했습니다. 테스트를 작성하니 리펙토링을 해도 로직에 변경사항이 생기지 않았음을 확실할 수 있었습니다. 아직은 테스트 코드를 어느 부분에 써야 할 지 모르겠습니다. 일단 과제의 가이드에 따라 components와 utils의 모든 파일에 작성했습니다. test가 필요 없다고 느낀 파일이 하나도 없었는데 이게 맞는 걸까..
주간회고 4주차 1. 사실, 객관 - React Hooks에 대해 배웠다. - 매일 TIL을 작성했다. - 필라테스를 다녀왔다. 2. 느낌, 주관, 배운점 - React Hooks를 제대로 체화하지 못했다. 훅에 대해 배웠다. useEffect, useRef도 어떻게 동작하는지 모르다가 알고 쓰게 됐다. 하지만 실습을 많이 안해봐서 잘 모르겠다. - 필라테스를 다녀왔다. 집에만 있다가 운동이라도 잠깐 나가니까 기분이 좋다. 갈 때는 귀찮은데 갔다오면 건강해지는 느낌이 든다. 사라지던 복근도 다시 보이기 시작했다. 앞으로도 이 집에 살 때까지는 꾸준히 할 생각이다. 하지만 다음 달부터는 아침에 주2회, 저녁에 주5회 가야겠다. 3. 미래의 행동 계획 1. 마감 일 지켜서 데브노트 제출하기 2. TIL 매일 작성하기 3. ..
주간회고 3주차 1. 사실, 객관 - React component, state에 대해 학습했다. - 타운홀 채찍으로 맞았다. - 매일 TIL을 작성했다. - 필라테스를 다녀왔다. - Deep Dive 스터디를 진행했다. - 동아리에서 신입 친구들에게 git을 가르쳐줬다. 2. 느낌, 주관, 배운점 - 매주 느끼는 점이지만 월요일, 화요일은 고통의 시간이다. 월요일, 화요일은 강의를 무한반복해서 들으며 데브노트를 정리한다. 무지성으로 듣기 -> 개념 정리하고 듣기 -> 실습하면서 듣기 -> 놓친 부분 있는 지 다시 듣기 -> 그냥 또 듣기. 대충 이렇게 듣는다. 아샬님의 말은 처음에는 정말 어려운데, 금요일쯤 되면 이렇게 당연한게 없다. 월: 정말 너무 어렵다. 무슨 말일까. 금: 정말 기본적인 개념이다. 이걸 모르는 사..
주간회고 2주차 1. 사실, 객관 - JSX에 대해 학습했다. - 타운홀 채찍으로 맞았다. - 아버지의 해방일지를 읽었다. - 매일 TIL을 작성했다. - 필라테스를 다녀왔다. - 잠을 줄였더니 면역이 약해지고 감기까지 걸려서 고생 중이다. - 주말에 가족과 남양주에 다녀왔다. - Deep Dive 스터디를 진행했다. - 영어 회화 초급반1을 졸업했다. 2. 느낌, 주관, 배운점 - 이번주 강의도 처음 들었을 때는 얘기의 흐름을 따라가지 못했고, 무슨 말을 하는 지 몰랐다. 듣고 정리하고 듣고를 반복하니 깨달았다. JSX는 자바스크립트와 일대일이다. 꼭 JSX를 쓸 필요가 없다. 그럼 왜 쓰는 가? JSX는 HTML과 비슷하게 생겼다. 편하다. 실제로 과제를 하면서 자바스크립트만으로 작성을 해봤는데 한 눈에 구조 파악하..
주간회고 1주차 1. 사실, 객관 - 개발 환경 세팅에 대해 학습했다. - 학습내용을 데브노트에 작성했다. - Git에 대해 학습했다. - Deep Dive 스터디를 진행했다. - 필라테스를 했다. - 매일 TIL을 작성했다. - 타운홀 채찍으로 쎄게 맞았다. 2. 느낌, 주관, 배운점 - 복사 붙여넣기로 개발환경을 세팅해왔는데, node가 뭐고 npm이 뭔지 npx는 어떻게 다른지에 대해 고민해보니 같은 개발환경을 세팅하더라고 느낌이 다르다. 따라치는 느낌이 아니다. - 데브노트는 '위키'라고 하셨다. 강의를 보고 이해한만큼만 작성할 예정이다. 이해도가 올라가면 계속 업데이트 할 것이다. - git training에 나오는 git fetch와 git rebase에 대해 알아봤다. git pull과 다르게 병합을 하지 ..
[Js] 매개변수 재할당을 지양하는 이유 function test(value){ // value 매개변수 value = 10; // 매개변수 재할당 return value; } test(20); // 인수 전달 1. 인수와 파라미터가 달라 의도와 다른 동작이 발생한다. function sum(num1, num2){ num2 = 30; return num1 + num2; } sum(10, 20); // 40 2. 파라미터 변경을 인지하지 못한다. function test(newArray){ console.log(preArray == newArray); // true newArray[1] = 30; console.log(preArray == newArray); // true } const preArray = [10, 20]; test(preArra..
[코드 작성][보호절 숙어] 좋은 분기문 작성법 http://redutan.github.io/2016/04/01/good-if
[프로그래머스][2018 KAKAO BLIND RECRUITMENT][Python] 다트 게임 [ 문제 ] 문제 풀러 가기 [출제 의도] 문자열 처리 [ 문제 풀이 ] 보너스와 옵션에 맞춰 누적된 숫자에 계산해주면 됩니다. 다만, 이를 문자열을 한 글자씩 처리할 경우 신경써서 처리해야 할 부분이 생깁니다. 두 자리 수입니다. 두 자리 수는 10밖에 없습니다. 따라서 10을 미리 한 자리 문자열로 치환하면 계산을 쉽게 처리할 수 있습니다. [ 정답 코드 ] # S: 1제곱, D: 2제곱, T: 3제곱 # *: 해당 점수와 바로 전에 얻은 점수를 각 2배 # #: 해당 점수를 마이너스 def solution(dartResult): li = [] i = -1 dartResult = dartResult.replace("10", "K") for n in dartResult: if n == "S": cont..
[그래프] 최단 경로 트리 알고리즘 vs 최소 신장 트리 알고리즘 다익스트라, 플로이드: 최단 경로 트리 프림: 최소 신장 트리 최단 경로 트리 알고리즘과 최소 신장 트리 알고리즘은 서로를 보장하지 않음 따라서 위의 사진을 보면 프림 알고리즘이 0->2의 비용이 더 나가는 것을 볼 수 있음 (최단 경로를 보장하지 않기 때문이다.) 최소 신장 트리 알고리즘에는 모든 정점을 연결하는데 의의가 있다. 다익스트라와 플로이드의 차이는 다익스트라 : 시작 정점 to 모든 최단 경로 플로이드 : 모든 정점 to 모든 정점 최단경로
[프로그래머스][2018 KAKAO BLIND RECRUITMENT][Python] 방금그곡 [ 문제 ] 문제 풀러 가기 [출제 의도] 문자열 처리 [ 문제 풀이 ] ABC는 ABC#안에 들어있지 않지만, ABCD안에는 들어있습니다. C과 C#은 다르기 때문입니다. 그래서 #의 문자열 처리가 이 문제의 핵심입니다. 저는 C#은 c로 치환하여 C#과 C와의 차이를 두었습니다. 다른 '대문자#' 문자열에도 마찬가지로 적용했습니다. [ 정답 코드 ] def solution(m, musicinfos): answer = ["(None)", 0] for info in musicinfos: start, end, title, song = info.split(",") # 악보 변환 ch = {"C#": "c", "D#": "d", "F#": "f", "G#": "g", "A#": "a", "E#": "e"} f..