스파르타 내일배움 캠프/Today I Learned 80

'22.08.09 Today I Learned

- 이력서 쓸 때 참고하면 좋은 것들 / 좋은 회사 구별하는 법 1. 이력서 쓸 때 참고하면 좋은 점 / 좋은 회사 구별하는 법 오늘은 이력서 특강을 들었다. 이력서를 작성할 때 생각해보면 좋은 것들, 그리고 좋은 회사를 구별하는 법에 대해서 들을 수 있어서 좋았다. > 이력서 쓸 때 참고하면 좋은 것들 - 자신의 강점과 약점을 잘 알아야 한다. - 이력서(포트폴리오까지 포함)에 적는 것들은 확실히 알고 대답을 할 수 있어야 한다. - 잘 모르는 것들을 적으려면 대답할 수 있는 수준으로 공부를 해야한다. - 채용 사이트를 자주 보면 좋다. > 좋은 회사 구별하는 법 - 회사가 어떤 기술을 사용하는지, 어떤 것을 우대하는지 등등 확인하면 좋다. - 개발팀 규모, CTO가 누군지 등등 회사가 나를 판단하듯이..

'22.08.08 Today I Learned

- 알고리즘 - 포트폴리오 작성하는 법 1. 알고리즘 https://moon-daniel.tistory.com/entry/%EB%B0%B1%EC%A4%80-4673%EB%B2%88-%EC%85%80%ED%94%84-%EB%84%98%EB%B2%84 백준 4673번 셀프 넘버 [문제] https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예.. moon-daniel.tistory.com 2. 포트폴리오 작성하는 법 본격적인 취업지원이 시작되고 오늘은 포트폴리오 작성에 대해서 한정수 님의 특강을 들었다. 인프런에서..

'22.08.05 Today I Learned

- JSON 파싱 및 ObjectMapper 1. JSON 파싱 및 ObjectMapper 클라이언트(브라우저)와 서버가 통신을 할 때 데이터를 전달하고 받을 때 사용하는 대표적인 방식이 요새는 JSON이다. JSON은 기본적으로 문자열의 형태를 띄고 있다. 이렇게 문자열의 형태를 띄고 있는 JSON을 자바 객체의 형태로 바꿔주는 것을 JSON 파싱을 한다고 한다. ◎ 그렇다면 파싱이란 무엇일까? 파싱: 다른 형식으로 저장된 데이터를 원하는 형식의 데이터로 변환하는 것 파싱은 서로 다른 형식의 데이터를 서로 이해하기 쉽게 하기 위해서 형식을 변환하는 것이다. JSON 파싱은 앞서 JSON을 자바 객체 형태로 바꿔주는 것이라 하였다. 그렇다면 당연하게도 객체를 만들어주기 위한 Class가 필요하다. 그래야..

'22.08.04 Today I Learned

- 알고리즘! 1. 알고리즘! 오늘은 알고리즘 문제를 풀어봤다. 아주 기본적인 난이도였고 본격적인 알고리즘 문제라고도 할 수 없는 문법을 물어보는 문제였지만 생각할 것들이 꽤 많았고 쉽지 않았다. 첫 걸음부터 쉽진 않지만 꾸준히 하다보면 실력이 성장할 거라 믿는다. https://moon-daniel.tistory.com/entry/%EB%B0%B1%EC%A4%80-4344%EB%B2%88-%ED%8F%89%EA%B7%A0%EC%9D%80-%EB%84%98%EA%B2%A0%EC%A7%80 백준 4344번 평균은 넘겠지 [문제 링크] https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에..

'22.08.03 Today I Learned

- 알고리즘 & 자료구조 1. 알고리즘 & 자료구조 오늘도 역시나 기본 알고리즘고 자료구조에 대해서 배웠다. 역시 어렵다. > 해쉬 해쉬테이블은 파이썬 기본 데이터타입 중 하나인 딕셔너리와 비슷하다. key와 value 한 쌍을 저장한다. key 값만 알아도 value를 알 수 있기 때문에 데이터를 조회할 때 속도가 아주 빠르다. 그런데 해쉬 테이블도 내부적으로는 배열을 이용하고 있다. 해쉬 테이블을 사용할 때 hash함수를 이용한다. 이것은 특정 문자열을 특정 숫자로 바꿔주는 역할을 하는 함수이다. 해쉬함수를 이용해서 얻은 숫자를 배열의 길이로 나눠주고 나온 나머지를 인덱스로 하여 배열에 저장해주면 된다. 그런데 만약 인덱스가 중복해서 나온다면 어떡해야될까? 이렇게 인덱스가 중복해서 나오는 경우를 충돌..

'22.08.02 Today I Learned

- 알고리즘 1. 알고리즘 오늘도 역시 알고리즘과 자료구조에 대해서 공부했다. 여전히 알고리즘과 자료구조는 굉장히 어렵고 머리가 지끈거린다. 그럼에도 피할 수 없다면 내가 여기에 적응하는 수밖에 없다. > 이진탐색 이진탐색은 특정 데이터를 찾는 방법 중 하나이다. 가령 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 이라는 배열에서 8이라는 데이터를 찾아야 한다면 방법이 여러개가 있을 것이다. 이진탐색은 절반씩 나눠서 데이터를 찾는 것이다. 우선 절반인 5보다 큰지 작은지 확인을 하고, 만약 크다면 그 이후부터는 6, 7, 8, 9, 10 에서 찾을 수 있다. 그럼 여기서 또 절반이 되는 8을 기준으로 큰지 작은지 확인을 하면 된다. (이 경우엔 8이 이미 나왔기 때문에 탐색을 멈추게 된다) 이..

'22.08.01 Today I Learned

- 알고리즘 시간 복잡도 & 공간 복잡도 - 점근 표기법 1. 알고리즘 시간 복잡도 & 공간복잡도 오늘부터 알고리즘과 자료구조 공부를 시작했다. 사람들이 자료구조와 알고리즘이 엄청 중요하다고 그러던대 오늘 처음으로 공부하니 멘붕의 연속이었다. 일단 자료구조가 굉장히 어려웠다. 아직 알고리즘은 시작도 안 한 거 같은데 말이다. 허헛. 그래도 거북이반의 한 사람으로서 느리더라도 꾸준히 공부하면 조금씩 성장할 것이라는 믿음을 가지고 공부를 해봐야겠다. - 시간복잡도 시간복잡도란 입력값과 문제를 해결하는데 걸리는 시간의 상관관계를 의미한다. 즉 입력값이 많아진다거나 다른 입력값이 들어왔을 때 알고리즘의 성능에 어떤 영향이 있는지를 측정할 때 사용되는 기준이 시간복잡도이다. 시간복잡도를 측정하는 방법은 다음과 같..

'22.07.29 Today I Learned

- @NoArgsConstructor 의 중요성 1. @NoArgsConstructor 의 중요성 최종 프로젝트 발표를 앞두고 시연 영상을 촬영하려고 하던 도중 북마크 기능이 정상적으로 작동되지 않았다. 에러 로그를 읽어보니 BookmarkRequestDto 쪽에 문제가 있는 것 같았다. BookmarkRequestDto에 들어가서 보니 @NoArgsConstructor가 빠져있고 @AllArgsConstructor만 있는 상태였다. @NoArgsConstructor를 붙여주니 정상적으로 작동이 됐다. 보통 Dto에는 @Setter는 쓰지 않는 것 같다. 그런데 @NoArgsConstructor와 @AllArgsConstructor는 붙여주는게 좋은 것 같다.

'22.07.28 Today I Learned

- swagger @ApiReponse 사용하는 방법 1. Swagger @ApiReponse 사용하는 방법 오늘 스웨거를 사용해보려고 시도했다. 그런데 @ApiResponse가 제대로 먹히지 않았다. 팀원 분의 도움으로 @ApiResponse를 쓰는 법을 알게 됐다. - 사용법 @ApiResponses({ @ApiResponse(code = 200, message = "성공", response = CommentResponseDto.class) }) 이런 식으로 @ApiResponses 안에 써주면 된다.

'22.07.27 Today I Learned

- Swagger 적용해보기! 1. Swagger 적용해보기! 이 글에선 2.9.2 버전으로 진행한 것을 적고자 한다 1️⃣ 디펜던시 추가 implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2' implementation group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2' 두 가지 디펜던시를 build.gradle에 추가해준다. 2️⃣ SwaggerConfig 파일 작성 @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket restAPI() { retu..