목록카테고리 (60)
교대최소제곱법
본격적으로 스프링을 공부하기 전에 스프링의 특징을 알아야 할 것 같았다그래서 IoC/DI를 조사했더니 POJO로 의식의 흐름이 흘러들어갔고자바 & Spring 첫 포스팅은 POJO로 준비했다 너무나 익숙한 게터 세터를 포함하는 User 클래스가 보인다이렇게 다른 잡다한 것 없이 오직 자바로만 이루어져 있는 객체를 POJO라 하는데 여기서 궁금했던 것은 '그럼 어떤 것이 POJO가 아닌가?'였다 핵심은 미리 정의 되었단 것!미리 정의 된 것을 사용하면 Plain한 JAVA가 아니게 되어버린다 상속을 하는 것은 괜찮다오히려 상속을 하지 않는다면 그건 코드의 재사용성이 떨어지기 때문에 자바스럽지 못하다고 한다 미리 정의된 것을 사용한다는 것은 외부 라이브러리, 인터페이스를 직접적으로 상속하면 안된다는 것 그럼..
크래프톤 정글 절망편을 보지 않으셨다면 이전 글을 읽고 이 글을 보시면 이해하시는데 큰 도움이 됩니다 [크래프톤 정글 후기] 전공자들 사이에서 비전공자가 빛나는 법 안녕하세요. 크래프톤 정글 3기를 수료한 정글러입니다. 크래프톤 정글을 하면서 제가 느낀 점을 기록하고자 이 글을 작성하였습니다. 개인의 의견일 뿐이니 참고의 용도로만 사용해주시길 바 changjohwang.tistory.com 정글에서 살아남는 방법 이전 글을 보셨다면 정글이 어떤 곳인지 대충 감이 오셨을 것이고 정글에서 성장하기 위해서는 준비가 필요하다는 것도 아셨을겁니다 그럼 무엇을 준비하나요? 코치를 괴롭혀라 정글 운영진을 보셨다면 아시겠지만 다들 현업에서 좀 치시던(?) 분들입니다 그리고 적혀진 경력보다 더 대단한 비밀을 가진 분도 ..
안녕하세요. 크래프톤 정글 3기를 수료한 정글러입니다. 크래프톤 정글을 하면서 제가 느낀 점을 기록하고자 이 글을 작성하였습니다. 개인의 의견일 뿐이니 참고의 용도로만 사용해 주시길 바랍니다. 이것이 크래프톤 정글이다!! - 희망편 대기업 운영 + 뛰어난 코치진 + 전산학 기초 = 크래프톤 정글 이미 크래프톤 정글에 대해 많이 아시는 분들이 이 글을 보겠지만 희망편이기 때문에 다시 한 번 크래프톤 정글의 장점을 어필해보겠습니다 요즘 워낙 부트캠프들이 많고, 그중 별로인 부트캠프들도 종종 있기 때문에 선택에 많은 고민을 했던 것 같습니다 그래서 조건을 정해서 부트캠프를 선택했었는데 대기업이 운영하며(협력사 채용우대), 대표하는 코치진이 실제로 코칭을 하며, 전산학 기초를 중시하는 곳을 하나하나 필터링하다보..
2166번: 다각형의 면적 첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다. www.acmicpc.net 이 문제를 읽자마자 '어 그거다'라는 생각은 들었지만 기억력 이슈로 인해 푸는데 한참 걸렸다... 좌표로 다각형의 면적을 구한다? 처음에는 헤론의 공식을 생각했지만 그건 좌표가 아니라 선분의 길이를 활용한다는 것을 떠올렸고 대신 고등학교 시절 머리 속에 저장해둔 한 공식을 꺼내왔다 React, Spring 하는데 왜 수학을 잘해야 해요? 음 사실 이 포스팅을 쓰는 이유는 이 문제가 엄청 의미있거나 어려운 문제여서는 아니다 그냥 이 문제를 풀면서 개발자에게 수학이란 무엇일까? 라는 생각이 ..
2098번: 외판원 순회 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 이전에 외판원 순회2는 손쉽게 풀었던 경험이 있는데 외판원 순회2의 경우 시간 제한도 2초이고 메모리제한도 256MB라 아주 널널했던 것으로 기억한다. def dfs(depth, start, total): global MIN if depth == N-1 and graph[start][0] != 0: total += graph[start][0] MIN = min(MIN, total) return for i in range(N)..
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을 하면서 배운 것 중 하나는 "시각화"라고 할 수 있겠다 핀토스를 하면서 항상 생각했던 것은 "무엇이 문제인가?"였다 주어진 스켈레톤 코드들은 다 문제가 있는 코드들이고 우리가 해야하는 것은 그 문제를 해결하는 것이라 생각했기 때문에 문제를 찾기 위해 고민했던 것 같다 그리고 그 문..