# Today I Learned 💡 스프링 심화강의에서 역할을 따로 나누지 않고 컨트롤러에 모든 코드를 몰아넣은AllInOneController와 Controller, Service, Repository로 역할을 나눈 코드를 비교해보았다. 일단 AllInOneController 코드를 읽기 어려울뿐아니라 읽고 싶은 생각조차 들지 않았고 역할과 기능이 눈에 들어오지 않았다 💡 우선 하나의 기능을 이해하려면 모든 코드를 다 보고 파악을 해야 한다는 점과 수정을 하거나 오류를 파악하려고 할 때도 위아래로 훑어가며 해야했기에 시간도 많이 걸리고 실수도 많이 나올 것 같았다. 마치, 어떤 기관에 문의를 하려는데 업무분장이 잘 되어있어서 누가봐도 명확하게 A라는 사람이 맡은 업무구나 라는 걸 알 수 있는 것과, 도..
💡 3주차 개인과제를 진행하면서 처음에는 무지성으로 강의에서 알려준 것들을 그대로 가져와서 이용해보려고 하였다. 그러다보니 왜 구현이 되는지, 왜 안 되는지를 알 수가 없었다. 단순히 구현된 것에서 하나의 요소만 더 추가하는 것일 뿐인데 원리를 모르니 구현이 되지 않고 이유를 몰라서 강의를 다시 돌려보고 이리저리 해보다가 혼자 지쳐떨어졌다. 💡 그러다 방법을 바꾸어서, 깃허브의 다른 사람들이 짠 코드들을 보고 참고도 하고 내가 이용할 수 있는 코드는 가져와서 적용시켜 보려고 하였다.(라고 쓰고 베끼려고 했다라고 읽음) 물론 긁어왔는데 우연찮게 적용이 잘 된 것도 있지만 어설프게 적용이 됐는데 코드를 해석할 줄 몰라서 건드리지 못하고 있는 것도 있다. 예를 들면, 게시판 페이징처리를 한 코드를 가져왔는데 ..
💡 처음 Java를 접했을 때 .java라는 파일을 생성했는데 왜 또 같은 이름으로 .class라는 게 생성이 될까? 그냥 하나의 파일로 할 수는 없는 건가? 왜 자꾸 파일을 생성해서 내 폴더를 지저분하게 하는 것인지 불만스러웠다. (돌이켜보니 Java라는 언어를 처음에 꽤나 마음에 들어하지 않았던 것 같다 ㅋㅋ) 어쨌건 이제와서야 .java는 우리가 보기위한 파일이고 컴파일러가 열일을 해서 만든 .class 파일로 운영체제가 이해를 한다는 것을 알게 되었다. 💡 사실 CS 지식이 부족해서 그저 코드가 전달이 되면 순서대로 쭉쭉 읽어나가겠거니 생각을 했었는데, 변수 하나를 생성할 때도 영역이 따로 배정이 되고 참조되지 않는 변수를 제거하는 역할을 하는 녀석이 따로 있다는 것이 마냥 신기하기만 하다. 그리..
What I Learned 💡 객체지향 프로그래밍을 나 나름대로 구상해보았다. RPG 게임 세계를 만든다고 가정하고, 순차적 프로그래밍을 통해 구현한다고 하면 player가 가야할 길을 일일이 프로그래밍 해주어야 한다. A라는 지역에 가서 "아무개" 라는 NPC에게 말을 걸고 1번 이벤트를 진행해야 한다고 하면 순서대로 프로그래밍을 하고, "아무개"에게 말을 걸기 전에는 1번 이벤트가 진행되지 않도록 막는다던가 1번 이벤트가 진행된 후에 "아무개"에게 말을 거는 프로그래밍을 추가로 해주어야 한다. 게임이 방대해지고 이벤트가 많아지면 경우의 수가 기하급수적으로 늘어나기 때문에 프로그래밍 하는 게 부담스러워지고 놓치는 부분도 많아질 것이다. 💡 또 같은 게임을 절차적 프로그래밍을 통해 구현해보자. playe..
What I Learned [[33. 같은 단어는 싫어]] 위 알고리즘 문제를 풀 때, 리스트를 선언하고 그 리스트를 String 배열로 바꾸려고 할 때 List.toArray 를 사용하면서 배열크기 인자를 좀 복잡하게 작성을 했었다. 애초에 그 인자크기 때문에 애를 먹었던 문제인데 List 에서는 그럴 걱정을 할 필요가 없었다.... 우선 toArray를 쓰면서 인자를 [0] 으로 해도 실제 만들어지는 배열 객체의 사이즈가 더 크다면 그 배열 객체의 사이즈를 따라가므로 엄청나게 간편하다. 굳이 배열크기를 구하려고 쌩난리를 치지 않아도 되었던 것이다. JAVA List 의 toArray() 메서드 List 컨테이너의 인스턴스를 배열(array)로 만드는것이 'toArray' 메서드이다. 하지만 이 메서드..
- Total
- Today
- Yesterday
- BFS
- 프로그래머스
- 자바dp
- SQLD
- Algorithm
- JavaScript
- 백준
- DP
- 알고리즘
- 타입스크립트
- CS
- Spring
- Queue
- 자바스크립트
- 스프링
- 자바bfs
- Nest
- 해시맵
- 자바
- 형변환
- 스프링부트
- java
- 이분탐색
- 정렬
- SQL
- Comparator
- 리액트
- JPA
- 자바트리
- dfs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |