목록크래프톤 정글 (9)
교대최소제곱법
크래프톤 정글 절망편을 보지 않으셨다면 이전 글을 읽고 이 글을 보시면 이해하시는데 큰 도움이 됩니다 [크래프톤 정글 후기] 전공자들 사이에서 비전공자가 빛나는 법 안녕하세요. 크래프톤 정글 3기를 수료한 정글러입니다. 크래프톤 정글을 하면서 제가 느낀 점을 기록하고자 이 글을 작성하였습니다. 개인의 의견일 뿐이니 참고의 용도로만 사용해주시길 바 changjohwang.tistory.com 정글에서 살아남는 방법 이전 글을 보셨다면 정글이 어떤 곳인지 대충 감이 오셨을 것이고 정글에서 성장하기 위해서는 준비가 필요하다는 것도 아셨을겁니다 그럼 무엇을 준비하나요? 코치를 괴롭혀라 정글 운영진을 보셨다면 아시겠지만 다들 현업에서 좀 치시던(?) 분들입니다 그리고 적혀진 경력보다 더 대단한 비밀을 가진 분도 ..
안녕하세요. 크래프톤 정글 3기를 수료한 정글러입니다. 크래프톤 정글을 하면서 제가 느낀 점을 기록하고자 이 글을 작성하였습니다. 개인의 의견일 뿐이니 참고의 용도로만 사용해 주시길 바랍니다. 이것이 크래프톤 정글이다!! - 희망편 대기업 운영 + 뛰어난 코치진 + 전산학 기초 = 크래프톤 정글 이미 크래프톤 정글에 대해 많이 아시는 분들이 이 글을 보겠지만 희망편이기 때문에 다시 한 번 크래프톤 정글의 장점을 어필해보겠습니다 요즘 워낙 부트캠프들이 많고, 그중 별로인 부트캠프들도 종종 있기 때문에 선택에 많은 고민을 했던 것 같습니다 그래서 조건을 정해서 부트캠프를 선택했었는데 대기업이 운영하며(협력사 채용우대), 대표하는 코치진이 실제로 코칭을 하며, 전산학 기초를 중시하는 곳을 하나하나 필터링하다보..
5주간의 여정이 끝났다 아직 경쟁조건을 해결하지 못해 완벽한 승리는 아니지만 일단 끝을 봤다 디버깅하다가 노트북 들고 뛰쳐나가기도하고, 포기하고 편해질까 생각도 수백번은 한 것 같다 그러나 결국 버텼고 승리했다 물론 프로젝트4라는 인저리타임이 남긴했지만... 정규시간은 끝났다 코드는 잘못이 없다 실수한 프로그래머만 있을 뿐 그건 틀리기 때문에 안 돌아가는 것이다! 참 끔찍한 코드다 이 오타를 찾기까지 꼬박 하루가 걸렸다 핀토스를 하면서 느낀 것은 나 자신을 너무 믿지 말자는 것이다 오류가 나면 항상 로직이 틀렸는가를 먼저 확인했었는데 정작 문제는 오타 때문이었던 적이 많았다 이번 핀토스를 하면서 만난 warning 3대장이다 1. implicit declaration of function 2. assig..
사실 project 1이 끝나면서 대충 이 핀토스 과제가 어떻게 이루어져있고 어떻게 접근해야하는지 파악했다고 생각했다 이게 양이 많은거지 깃북보고 시각화하고 하나하나 고쳐나가면 금방하지 않을까? 라는 오만한 생각을 했었고 project 2는 나에게 예절을 주입시켜 주었다 이번에도 hex_dump 트러블 슈팅이나 .bashrc 설정 트러블 슈팅 같은 이런 자세한 내용은 다음으로 미루고 핵심만 간략하게 진행하고자 한다 하루의 시간이 48시간이었다면.... 돌아간다고 제대로 된 코드는 아니다! "why it works?"를 항상 하고 있긴 했지만 프로젝트2에서 특히 많이 괴로웠던 것 같다 HTML 삽입 미리보기할 수 없는 소스 왜인지는 모르겠지만 all pass하는 내 코드 프로젝트1과 같은 경우 pass =..
눈을 떠보니 3주가 지났다… 이제는 프로젝트3를 해야하지만 지금 정리를 안하면 다시 2주간 시간이 없을 것 같아 급하게 복기를 해보려고 한다 Project I learn 시작! 무엇이 문제인가? 처음 깃북을 봤을 때는 그냥 막막했다. 여담을 하나 하자면 특히 alarm clock 부분은 아예 감을 못 잡았는데 그 이유 중 하나는 alarm clock은 효율성의 문제이지 돌아가는 코드였다는 것이 컸던 것 같다 아무튼 프로젝트1을 하면서 배운 것 중 하나는 "시각화"라고 할 수 있겠다 핀토스를 하면서 항상 생각했던 것은 "무엇이 문제인가?"였다 주어진 스켈레톤 코드들은 다 문제가 있는 코드들이고 우리가 해야하는 것은 그 문제를 해결하는 것이라 생각했기 때문에 문제를 찾기 위해 고민했던 것 같다 그리고 그 문..
GET / POST의 차이점 GET은 데이터를 Query String으로 전송하고 POST는 body로 데이터를 전송한다 GET에도 바디가 있지만 빈 바디이기 때문에 content-type 헤더필드도 들어가지 않는다. GET의 단점은 브라우저별로 URL 길이에 제한이 있기 때문에 전송할 수 있는 데이터가 제한된다는 것 POST는 바디에 데이터가 있기 때문에 Content-length나 Content-Type과 같은 정보가 헤더에 필요하다. + TMI GET 메소드 요청시 body 는 원래 보낼 수 없었지만 2014년도 부터는 body 를 보낼 수 있게 되었다. GET 메소드 요청시 body 를 보낼 수는 있으나 일부 클라이언트에서는 지원되지 않을 수 있다. GET 메소드 요청시 body 를 보낼 수 있을..
페이징과 세그멘테이션 모든 메모리 관리에는 단편화 문제가 생기고 (현실적으로는) 외부 단편화 해소를 위한 것이 페이징 내부 단편화 해소를 위한 것이 세그멘테이션 페이징과 세그멘테이션의 차이 페이징 → 일정한 크기의 페이지로 분할해서 메모리에 적재 세그멘테이션 → 논리적 단위인 세그먼트로 분할해서 메모리에 적재 돼지를 비유하면 무조건 같은 크기로 잘라서 넣는 것 → 페이징 부위 별로 잘라서 보관하는 것 → 세그먼트 세그먼트는 부위 별로 잘라서 보관하기 때문에 내부 단편화가 생기지 않는다 하지만 부위의 크기가 다 다르기 때문에 외부 단편화 문제가 발생한다 단편화가 생기는 것은 똑같은데 그럼 왜 세그멘테이션이 아니라 페이징을 쓰나요? → 외부 단편화를 파악하는 것이 더 복잡하기 때문! 차라리 내부 단편화가 생..
스택과 레지스터 스택과 레지스터 모두 지역저장장치 역할을 한다 스택 프로시저 호출을 처리하는데 중요한 역할 1. 함수의 로컬 변수 저장 2. 함수의 제어 흐름 관리 장점 동적으로 메모리를 할당하고 해제할 수 있다. -> malloc, calloc 구현이 간단하며(stack), 메모리 관리 오버헤드가 낮다 레지스터 중간 연산 결과의 저장에 활용 꼬리 재귀 최적화 return에 재귀함수를 쓴다고 다 꼬리 재귀 최적화가 아니다 # 꼬리 재귀 최적화 구현 return factorial(n-1, n*acc) 이렇게 return에도 아무것도 남기지 않아야 한다. # 틀린 예시 return n*factorial(n-1) 기억해야 할 지역변수가 있으면 함수를 종료시키지 못하고 스택에 변수를 저장해놓게 된다. Memor..