전체 글26 FK (외래키)에 대해서 끄적끄적... 요즘도 많지만 SI에 외주를 맡겨 만들어진 서비스를 보면, FK가 걸려 있지 않은 것을 볼 수 있다.많은 회사를 겪지 않은 2년 차 개발자이지만, 두 곳에서 다 동일한 현상을 볼 수 있었다.두 번째 회사로 이직하기 전, 첫 번째 회사에서의 경험과 인프런에서 JPA를 다루는 많은 강의와 블로그들을 통해 FK를 거는 것이 당연하고 이렇게 해야 개발자가 편하고 유지보수하기 좋아! 라고 생각했다. 다른 글에도 있지만, 제미니의 개발실무 채널에서 다룬 영상을 보고 과거를 다시 생각해보기도 했다.FK를 걸지 않았을 때, 분명한 장점도 있다.SI에서 좋지 못하게 만든 예시에 너무 절여저서 그랬던 거 같기도 하다.예를 들면, nullable한 FK 컬럼에 0을 기본 값으로 설정하는 부분이 있다.생각해보면 요즘 null.. 2024. 4. 27. Docker, MySQL with 파이썬 폴더 구조mysql/ Dockerfile my.cnf sqls/ initialize.sqlDockerfileFROM mysql:8.0ADD ./my.cnf /etc/mysql/conf.d/my.cnfmy.cnf[mysqld]character-set-server=utf8mb4[mysql]default-character-set=utf8mb4[client]default-character-set=utf8mb4utf8mb4는 이모지를 지원하는 utf8 데이터베이스 초기 설정# mysql 컨테이너 접속docker exec -it 컨테이너 아이디 /bin/bash# .sql 파일 실행cd docker-entrypoint-initdb.d/mysql -u root -p --port 3306.. 2024. 4. 24. JOIN & WHERE 조건 어디에 걸어볼까 예제는 User와 Team으로 하겠습니다. User는 Team에 가입할 수도 있고 없을 수도 있습니다. DB에는 Team에 가입한 User와 그렇지 않은 User 데이터가 존재합니다. [문제] 어떠한 User를 조회하는 데 가입한 Team이 있다면 User.id로 JOIN하여 함께 조회 문제에 따라 데이터를 조회한다고 했을 때, 이렇게 두 가지 경우가 있다는 것을 생각해 볼 수 있습니다. 1. 특정 User가 가입한 Team이 있는 경우 2. 특정 User가 가입한 Team이 없는 경우 [풀이] # 1 select * from user u left join team t on u.id = t.user_id where u.id = '1'; # 2 select * from user u join team t o.. 2024. 4. 17. map(), filter(), pipe()를 활용하여 데이터 다루기 map(), filter() 함수는 리스트 안의 데이터를 내가 원하는 대로 추출하거나 변형시킬 수 있습니다.def square(num): return num**2number_list = [1, 2, 3, 4, 5]result = map(square, number_list)print(result) # # for loop -> [1, 4, 9, 16, 25]print(list(result)) # [1, 4, 9, 16, 25]# 람다result = list(map(lambda x: x**2, number_list))print(result) # [1, 4, 9, 16, 25]map()의 리턴 데이터 타입은 map objectfilter() 또한 filter object 리스트 to 리스트를 통해 DB에.. 2024. 4. 8. 이전 1 2 3 4 5 6 7 다음