코딩한걸음
[Django 50문 50답] Django ORM의 장단점은 무엇입니까?
Python/Django 2023. 10. 26. 12:00

Q. Django ORM의 장단점은 무엇입니까? Django ORM의 장점은 생산성, 데이터베이스 독립성, 보안입니다. 생산성 : SQL 쿼리를 직접 작성하지 않아도 되므로 코드가 더욱 간결하고 가독성이 좋아집니다. 데이터베이스 독립성 : 다양한 데이터베이스 시스템에 독립적으로 동작하므로, 데이터베이스를 변경할 때 유용합니다. 보안 : 내부적으로 쿼리를 생성해 SQL Injection과 같은 보안 취약점을 줄일 수 있습니다. 단점은 성능 이슈가 있습니다. 성능 이슈 : N+1 문제, 불필요한 데이터 조회, 복잡한 쿼리의 ORM 사용 등 질문 의도 Django ORM에 대한 이해 : Django ORM을 사용하는 방법 뿐 아니라 그 장단점, 적절한 사용 시나리오에 대한 이해도를 가지고 있는지 확인 성능 이..

[Django 50문 50답] ORM에 대해서 설명하시오
Python/Django 2023. 10. 26. 08:00

Q. ORM에 대해서 설명하시오 ORM(Object-Relational Mapping)은 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 데이터를 매핑하는 프로그래밍 기술입니다. ORM을 사용함으로써 개발자는 SQL 쿼리를 직접 작성하지 않고도 데이터베이스의 데이터를 객체로써 다룰 수 있게 됩니다. 이는 개발자의 생산성에 도움이 됩니다. 질문 의도 기본 지식 확인 : ORM에 대한 기본 지식을 가지고 있는지 데이터베이스 연동 이해 : ORM을 통해 SQL 쿼리 없이 데이터베이스와 상호작용하는 프로세스을 얼마나 잘 이해하고 있는지 예상 꼬리 질문 ORM을 사용하면서 성능 이슈를 겪은 경험이 있나요? 있다면 원인과 해결 방법은 무엇인가요? ORM만 사용하는 것과 직접 SQL 쿼리를 작성하는 것 중 어느..

[BAEKJOON] 1238 파티
Coding Test/BAEKJOON 2023. 10. 26. 08:00

https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 문제 N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다. 어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다. 각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지..

article thumbnail
[Adidas] Song for the Mute Campus 80s 리뷰
리뷰 2023. 10. 25. 18:00

Intro. 아디다스와 송포더뮤트는 이번이 2번째 협업이다. 첫번째 협업에 나왔던 쉐도우터프도 엄청 인기가 좋았다. 아직도 쉐도우터프의 리셀가가 100% 이상 붙어있는걸 보니 그 인기가 아직 유지됨을 볼 수 있다. 나도 이거 선착으로 노리고있었는데 너무 순삭되서 사이즈 구경도 못했다 ㅠㅠ.. 아쉬운마음에 그냥 쉐도우터프를 샀었고 고프고어룩으로 입을 때 포인트로 신고 있다. 이번에 콜라보한 모델은 아디다스의 캠퍼스 80s이다. 기존 모델이 얇고 가벼운 느낌의 쉐입이였다면, 콜라보 모델은 볼드하고 약간의 묵직함이 있는 쉐입이다. 아디다스의 컨펌드 앱으로 선착발매 했는데 블랙이 맘에 들어서 먼저 노렸고 구매 성공 ! 후에 화이트도 라인에 들어갔지만 구매실패했다. Detail. Review. 사진보다 실물이 더..

[Django 50문 50답] Django의 MTV 패턴 시스템은 무엇입니까?
Python/Django 2023. 10. 25. 12:00

Q. Django의 MTV 패턴 시스템은 무엇입니까? Django의 MTV 패턴은 Model-Template-View의 약자로 웹 어플리케이션의 구조를 나타냅니다. Model : 데이터베이스와의 상호작용을 담당하며, 데이터의 구조와 동작(CRUD 등)을 정의합니다. Template : 사용자에게 보여질 화면, 즉 프론트엔드 부분을 담당합니다. HTML 코드 내에 Django의 템플릿 언어를 사용하여 동적으로 데이터를 표현합니다. View : 사용자의 요청을 받아 로직을 처리하고, 적절한 응답을 반환하는 역할을 합니다. MVC 패턴에서의 Controller와 비슷한 역할을 하지만, 사용자에게 어떤 데이터를 어떻게 보여줄 것인지 결정하는 부분까지 담당합니다. 이 패턴은 소프트웨어의 각 구성요소의 역할을 분명..

article thumbnail
[Django 50문 50답] Django의 프로세스는 어떤 순서로 동작합니까?
Python/Django 2023. 10. 25. 08:00

Q. Django의 프로세스는 어떤 순서로 동작합니까? Django의 동작 프로세스는 크게 요청-응답 주기로 볼 수 있습니다. 사용자의 요청이 들어올 때, 처음으로 Django의 URL 디스패처가 해당 요청의 URL을 해석하여 적절한 뷰 함수나 클래스에 연결합니다. 이 때, 미들웨어들이 순차적으로 요청을 가공하거나 필터링할 수 있습니다. 선택된 뷰에서는 요청을 처리하기 위해 필요한 비즈니스 로직을 수행하며, 데이터베이스와 상호작용이 필요할 경우 ORM을 통해 쿼리를 수행합니다. 뷰에서 처리가 완료되면, 응답 객체를 생성하고 다시 미들웨어를 거쳐 최종적으로 사용자에게 응답을 반환하게 됩니다. 질문 의도 기본 지식 확인 : Django의 기본적인 동작 원리와 구조를 이해하고 있는지 요청-응답 주기 이해 : ..

[BAEKJOON] 1107 리모컨
Coding Test/BAEKJOON 2023. 10. 25. 08:00

https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼이 www.acmicpc.net 문제 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 ..

article thumbnail
[Nike] Dunk Low Medium Curry 리뷰
리뷰 2023. 10. 24. 19:00

Intro. 나이키는 요즘 리셀러를 잡는다고 과거 인기모델들을 재발매 하고있다. 그레이 포그나 포톤 더스트, 스모크 그레이, 시라큐스, 유니버시티 레드, 켄터키 등 1-2년전엔 30만원부터 시작하던 리셀가격이 지금은 10-20만원 정도로 정착된걸 보면 나이키의 의도는 잘 먹힌 것 같다. 물론 나이키의 인기나 시장 점유율도 많이 떨어지긴 했지만.. 이번에 구매한 Nike Dunk Low Pro Premium Medium Curry(이하 커리)는 1년전에 40-50정도 거래되던 인기 모델이였는데 올해 재발매 되었고, 심지어 맴버스 데이 기념으로 45% 할인을 했다. 또 내가 나이키 MVP여서 그런지 생일쿠폰을 25% 짜리를 줘서 7만원대에 구매했다. Detail. Review 올해 멤버스데이는 할인율도 별로..