분류 전체보기
![[인프콘] 아니, 2024 인프콘 뒷자석이 남았다고?!](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiMpWL%2FbtsIzV93byE%2FthqtS1t66E2TBNlS2aCJtK%2Fimg.png)
[인프콘] 아니, 2024 인프콘 뒷자석이 남았다고?!
정말 간만에 티스토리에서 글을 작성해본다...그만큼 이번 2024 인프콘은 간절하다..정말 왜 간절한가?https://www.inflearn.com/conf/infcon-2024/share?year=2024&id=586210&hash=uiurihappy%40b80a55f1&name=yb__char 왼쪽에 보이는 시간표는 내 시간표이며, 기술을 deep하게 접근하는 챕터보다는 이번엔 연사님들의 이야기가 잘 녹여져 있는 발표가 구성되어 있다고 생각했다. 발표를 듣고 약간이나마 번아웃을 겪은 나에게 새로운 터닝포인트가 오지 않을까란 기대감을 품으며, 이번 마지막 뒷자석에 탑승하고자 블로그 포스팅과 이벤트에 참여한다. ✨ 이번 이벤트로 랠릿 이력서를 다시 작성하게 되었는데, Markdown 서식과 ..

2022.04.01~2023.03.31 개발 회고 및 블로그 이전 준비
입사한지 드디어 1년이 되고 2년차 개발자로 들어섰다..!! 막상 입사했을 땐 두려움보다 설레기도 하고 좀만 더 쉬었다가 취업 준비를 할까 하다가 제자리 걸음일까봐 입사를 한 것이다. 원래 Spring boot, JPA 개발자가 되고 싶었는데 현재 회사에서 Node를 쓰긴 하지만, 백엔드 개발 경험 자체를 쌓아서 뒤를 돌아보면 많이 성장한 거 같다고 느낀다. SQL, Git, Go, AWS, 코드 컨벤션 등등 돌아보면 많이 늘었다고 생각은 하는데 아직 많이 공부할 여력이 많이 남았다 생각된다. 그 동안 쌓은 잔디를 보면 뭐... 사실 회사 계정과 내 계정은 따로 분리해서 commit 한거라 합성을 한건데 대강 이렇다. (아마 commit수는 1800개 정도 될듯...? 괜히 뿌듯함😋) 4월에서 5월은 회..
![[Git] .gitignore 새로 반영하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJVv9P%2FbtrQDGbChRJ%2FEBu5IgWF75YrtCNjea201k%2Fimg.png)
[Git] .gitignore 새로 반영하기
이미 변경관리에 의해 관리되고 있는 파일이라면 이후에 gitignore에 추가하더라도 변경관리에서 계속 추적이 될 수 있다. 이 때 gitignore를 변경관리에 적용하기 위해서는 변경관리가 추적중인 캐시 파일을 삭제하고 새로 올려야 한다. 이 방법을 정리해보았다. gitignore에 application.properties 파일을 무시하도록 추가해두었지만, git status 를 조회해보면 여전히 변경관리에 의해 추적되고 있음을 알 수 있다. 변경관리가 추적하고 있는 캐시를 삭제하고 새로 만들어야 변경관리가 gitignore를 새롭게(?) 적용할 수 있다. git rm -r --cached . 이 상태에서 모든 변경사항을 다시 add 하고 commit을 생성하면 이후부터는 gitignore 파일을 변경..
![[Spring boot] 열리는 port 번호 변경하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvWhIu%2FbtrOwCcqxvI%2FzolMG3ECCC0Kg8kFGOA1Nk%2Fimg.png)
[Spring boot] 열리는 port 번호 변경하기
Spring boot에서 port 번호 변경하는 법 버전 기준은 Gradle이다. src/main/resources/application.properties 위 해당 경로에서 간단하게 변경할 수 있다. 변경하고 실행을 해보면 Tomcat찡이 인식하여 변경해준다. Port 번호를 왜 바꾸나? 통상적으로 8080이 default로 되는 경우가 많은 거 같아, 프론트엔드와 통신할 때 충돌이 일어날 수도 있고, 다른 서버 애플리케이션과도 충돌이 일어나 피하고 싶은 마음에 바꾼 것이다.
![[Spring boot] @ManyToMany를 사용하면 안 되는 이유](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqYoOZ%2FbtrOlKbewZX%2FaXkKtNeURHq8rkcmVG0thK%2Fimg.png)
[Spring boot] @ManyToMany를 사용하면 안 되는 이유
@ManyToMany가 편리할 수도 있겠지만, 실무에서는 사용을 권장하지 않는다. 다대다이기에 중간 테이블에 컬럼을 추가할 수도 없고 세밀하게 쿼리를 사용하여 조회 및 변경하기 어려워진다. 또한 조인 쿼리를 날렸을 때 조인 테이블 자체에 위 테이블처럼 주문시간이나 수량 같은 부수적인 데이터 다루기가 어려워진다. 그리고 중간 중간 테이블이 숨겨져 있기 때문에 예상치 못한 쿼리들이 조회될 수도 있다. 그래서 해결 방법으로 위와 같이 중간 테이블을 생성하고 @OneToMany, @ManyToOne으로 일대다, 다대일 관계로 풀어내는 것이 제일 best라고 생각한다. 그래야 위 Member_Product처럼 회원의 FK, 상품의 FK를 조회하고 해당 회원의 한 상품 ID를 조회하여 꺼내올 수 있는 로직이 성립된..
![[lodash] orderBy, groupBy](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRU1V3%2FbtrNAw5W6sA%2Fvy0KhKwnsm9w22o4E2tqK0%2Fimg.png)
[lodash] orderBy, groupBy
lodash.. lodash... 이제는 자바스크립트로 비즈니스 로직을 구현하다보니 lodash 없으면 어쨌을까 싶다.... 최근 회사 통계 데이터를 select해와서 가공하는 데 제목에 있는 함수들을 사용했었다. 저번에 SQL의 order by와 group by에 대해 포스팅했는데 이번엔 데이터 collection들도 똑같이 구현할 수 있는 lodash orderBy와 groupBy에 대해 알아볼 것이다. 현재 사이드 프로젝트에서 사용할 게시글 조회 API를 일부 수정하여 보기 좋은 response 데이터로 예시를 들것이다. "data": [ { "id": 1, "title": "test1", "content": "Im king", "viewCount": 10, "likeCount": 5 }, { "i..

Swift 기초 문법 - 클로저 (2)
이전 클로저 (1)에서는 매개변수로서 데이터를 여러 개 반환하는 클로저까지 알아보았다. 사실 클로저 관한 포스팅을 끝낼까 하다가 Optional 내용이라 해야 할 거 같다고 생각하여 글을 쓰게 된다. sayHiOptional 메서드를 선언하는데 매개변수를 Optional로 ?를 붙여 선언하였다. 아래 실행부에서 sayHiOptional()를 실행하면 매개변수가 없이 실행이 되는 것을 확인할 수 있다. 또한 completion을 매개변수로 넣어 실행하면 매개변수 completion이 실행되는 것을 확인할 수 있다. 타입, 반환 정리 클로저 매개변수의 타입 정의와 반환 타입을 정의하는 것에 대해 이해하기 쉽게 정리하려 한다. 설명을 위해 코드블럭으로 코드와 주석으로 작성했다. // 클로저 내에 매개변수를 v..

데이터베이스 SQL - order by, group by, having 절
SQL 공부하면서 은근은근 많이 사용한 ORDER BY와 GROUP BY, 그리고 GROUP BY의 조건을 추가하는 HAVING 절에 대해 포스팅하려 한다. 최근 사이드 프로젝트를 하면서 정의된 테이블에서 user 테이블을 예시로, 쿼리문도 돌리고 어떻게 동작하는지 정의할 것이다. status는 user의 상태값을 내기 위해 TINYINT로 타입을 줘서 큰 숫자는 못주고 일단 임의로 숫자를 바꿔놨다. 아직 설계 단계라 password도 hash가 적용 안됐다. 암튼 설계 단계의 테이블을 이렇게 정의하였고 직접 쿼리문을 짜 보고 실행해볼 것이다. ORDER BY order by는 데이터베이스에서 데이터를 조회하는데 어떠한 데이터를 기준으로 정렬하고자 사용하는 SQL 절이다. ASC, DESC 위와 같이 s..