전체 글 17

작삼이의 day 0. 유흥권태

어릴때부터 난 작삼이였다.. 공책 한두페이지만 열정적으로 쓰고 수학의 정석은 매번 다짐할 때마다 집합부터 다시보느라 집합달인이었고.. 내가 작삼이인걸 인정하게된 순간부터는 금방 타올랐다 식는 첫날의 열정을 이용했다. "첫날 빡세게 공부하고 그 다음날 부터는 질려서 한동안 안돌아보는 하루살이 공부를 매번 다른 주제로 하자!" 그래도 대학교때, 취준할때는 그 방식이 먹혔다. 잘 해내야만 하는 시험이나 면접 등이 있었으니 어쩔 수 없이 책상에 앉아있어야 했고 공부할 내용이 한정적이고, 범위가 정해져 있었기 때문에 하루살이 공부를 오십번 반복하니까 그래도 쌓였다. 하지만 취업한 이후로 퇴근하면 바로 노트북 덮고 놀러나가거나 하루종일 유튜브를 봤다. 처음에는 마냥 즐거웠는데 그것도 이년정도 하니까 어느 순간부터는..

bla bla 2023.11.12

ubuntu 서버 구축하기

놀고있는 데스크탑을 우분투 서버로 만들어서 돌려보려구 한다. 목적 k8s 실습, 토이프로젝트 등등 (일단 목표는 그렇다.....) 1. ubuntu 설치 usb 만들기 1-1. ubuntu image download https://ubuntu.com/download 에서 이미지를 받을 수 있다. download type이 여러가지 있는데 Desktop은 GUI 버전, Server는 command 버전이다. 1-2. rufus download https://rufus.ie/ 에서 다운로드 Rufus - The Official Website (Download, New Releases) rufus.ie ※ 참고. rufus 4.0은 버그가 있으니 3.22버전을 사용해야한다. https://github.com/..

카테고리 없음 2023.05.05

블로그 부활💪

2022년이 한달 반밖에 안남았다.. 일년에 백일 정도 하는 다짐이긴 하지만, 오늘부터 열심히 살아보겠다는 나와의 약속을 전세계에 공표한다~~~~ 남은 48일간의 목표 1. 매일 1시간이라도 개발 공부 하기 ㄴ 1일 1블로그, 1일 1커밋도 생각해봤는데, 보여주는걸 목표로 하는건 내 의지에 아무런 도움이 되지 않는걸 알기때문에 pass.. ㄴ 집나간 개발 흥미를 되찾자는 마인드 2. 매일 한페이지라도 책 읽기 3. 일주일에 3일 운동 나가기 4. 엄마랑 한달에 두번은 데이트하기❤️ 갓생 살겠다는 다짐을 3일마다 새로 하는 사람이 나뿐만은 아니길 바라며 이세상 모든 의지박약이들 팟팅 >

bla bla 2022.11.13

취업 회고1

입사한지 6개월이 더 지나고서야 올리는 게으른 사람의 취업 회고.. 설날을 맞아 짧고굵은 1년간의 취준 - 2달 인턴 - 전환의 이야기를 간단하게 풀어보려고 한다. 대학생 시절 나는 개발을 잘하고 좋아하는 학생이 아니었다. 오히려 못하고 피하고 싶어하던 학생이었다. 못하지만 해내고 싶어서 매번 방학마다 '윤성우의 열혈 C 프로그래밍'을 첫장부터 피고는 방학 마지막에 포인터에서 무릎꿇던 그런.. 개발은 못했지만 경험을 많이 쌓으려고 우당탕탕거렸던 4년이 지나고 (파란만장했던 4년간의 개꿀잼 이야기 to be continue 😆) 정말 준비가 하~~~나도 안된 채로 막학기를 맞아버렸다. 알고리즘은 커녕 제대로 쓸 줄 아는 언어 하나 없는 노답인 상태로. 이 때 고민이 정말 많았다. 대학원으로 피하고 싶다는 ..

bla bla 2022.02.01

[Clean Code] 2. 의미있는 이름

좋은 이름을 지으려면 시간이 걸리지만, 좋은 이름으로 절약하는 시간이 훨씬 더 많다. 이름에 의도를 분명히 밝혀라 측정하려는 값과 단위를 표현하는 이름이어야 한다. int elapsedTimeInDays; int daysSinceCreation; int daysSinceModification; int fileAgeInDays; 의미 있게 구분하라 Product 클래스와 ProductInfo, ProdouctData라는 클래스가 있다면, 개념을 구분하지 않은 채 이름만 달리한 경우다. 읽는 사람이 차이를 알도록 이름을 지어라. 발음하기 쉬운 이름을 사용하라 genymdhms → generationTimestamp 검색하기 쉬운 이름을 사용하라 문자 하나 또는 상수는 텍스트 코드에서 찾기 어려우므로 이름에 ..

books/Clean Code 2022.01.30

[Clean Code] 1. 깨끗한 코드

이 책을 읽는 이유 → 더 나은 프로그래머가 되려고😀 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 스스로를 위로한 경험이 있다. 다시 돌아와 나중에 정리하겠다고 다짐했었다. 하지만 나중은 오지 않는다... 일정에 쫓기더라도 대다수의 관리자는 좋은 코드를 원한다. 그들이 일정과 요구사항을 강력하게 밀어붙이는 이유는 그것이 그들의 책임이기 때문이다. 좋은 코드를 사수하는 일은 바로 우리 프로그래머들의 책임이다. 나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다. 깨끗한 코드를 만드는 비결 모든 테스트를 통과한다. 중복을 피하라 클래스, 메서드, 함수 등을 최대한 줄인다. 이름을 확정하기 전..

books/Clean Code 2022.01.30

MST : 최단경로 알고리즘 (크루스칼/프림)

MST = Minimal Spanning Tree 일단 MST를 알기 전에 Spanning Tree를 알아야 한다! Spanning Tree란, 그래프의 모든 정점을 포함하면서 간선의 수가 최소인 트리이다. Spanning Tree의 조건 N개의 정점 N-1개의 간선 사이클이 없다. MST는 Spanning Tree 중에서 가중치의 합이 최소인 것을 말한다! '마을과 마을을 잇는 도로들이 주어지고, 도로의 길이가 최소가 되게 모든 마을을 이어라.' 와 같은 문제에 사용되는 알고리즘이다. MST 알고리즘 종류 크루스칼 프림 크루스칼 vs. 프림 유형 시간복잡도 따라하세요! 크루스칼 Greedy 간선 중심 O(ElogE) 간적크 프림 정점 중심 O(V^2)/O(ElogV) 간많프 크루스칼 알고리즘 간선중심으..

알고리즘 2021.05.30

Binary Search(이진탐색/이분탐색)

이진탐색이란? - 특정 데이터를 빠르게 검색할 수 있다. O(logN) - 정렬되어 있는 배열에서 사용 가능하다. 구현 코드 (Java) int binarySearch(int[] arr, int target, int start, int end){ //1. 이진탐색은 무조건 정렬된 배열에서 가능하다. Arrays.sort(arr); //2. 어떤 값을 기준으로 할지를 정하고, 초기값을 정한다. //이 예시에서는 매개변수로 받는걸로 한다. int mid = 0; //start가 end보다 커질때까지 반복 while(start

알고리즘 2021.04.25