Backend
-
WIL02. [ Clean Architecture ] 사 놓기만 했던 책을 드디어 펼치게 된 한 주.Backend/항해99 <플러스 백엔드> 2024. 3. 30. 17:45
벌써 항해 플러스 백엔드 과정을 시작한 지 2주가 지났다. Java + Spring Boot 3 은 여전히 익숙치 않은 상태. 그럼에도 퇴근 후 매일 정해진 시간에 2 - 3 시간 씩 Project 를 진행하며 조금씩 성장하고 있음을 느낀다. 그와중에 계획한 운동까지 하며, '이것이 바로 갓생?' 이라는 에 빠져 뿌듯함을 만끽하는 중이다. 2 주차 주제는 Clean Architecture 로, 확장과 유지 보수에 유용한 Architecture 에 대해 배웠다. 정규 일정 내용을 복습하는 것으로는 이해도가 부족하다고 느꼈다. 마침 나에겐 3개월 전에 사다 놓기만 하고 펼쳐보지도 않았던 Clean Architecture 책이 있었다. '읽을 시간이 없었다'라는 핑계는 흔적도 없이 사라지고 마음이 급해지니 앞..
-
W01. 시작하는 마음Backend/항해99 <플러스 백엔드> 2024. 3. 16. 13:57
https://hanghae99.spartacodingclub.kr/v2/plus/be 항해 플러스, 도전을 넘어 개발자 커리어 도약으로 백엔드 주니어 개발자로서 성장의 한계를 느끼고 있다면, 시니어 코치진과 함께 10주 몰입을 통해 도약하세요. hanghae99.spartacodingclub.kr 처음 대학에서 IT 복수 전공을 신청할 때부터 지금까지 나는 계획보다는 당시 상황과 조건, 감정만 고려하여 여기 저기 기웃대던 개발자였다. 그렇게 살다 문득 내 현재 위치를 살펴보니 성장 곡선과는 동떨어진 채, 혼자서도 잘한다는 오만에 빠져 허우적대고 있었다는 사실을 깨닫게 되었다. 이제라도 조건, 타인의 시선은 신경쓰지 않고 내가 하고 싶은 일을 정하여 차근차근 계획을 세워 도전하려 한다. 다행히도 목표 탐..
-
게시판 검색 기능 구현 과정 정리Backend/Projects_report 2023. 12. 15. 11:39
점프투장고를 따라 게시판 개발 중 유독 헷갈렸던 검색 기능의 구현 과정을 정리해 보았다. 참고: https://wikidocs.net/71806 3-14 검색 * `[완성 소스]` : [github.com/pahkey/jump2django/tree/3-14](https://github.com/pahkey/jump2django/tree/… wikidocs.net 구현 목표 검색어를 입력할 입력 Bar와 검색 Button 추가 검색 버튼 클릭 시 Get 방식으로 페이지 요청 질문 제목, 내용, 작성자, 답변 내용, 작성자 중 검색어가 포함된 질문 글은 검색 결과에 포함 검색 결과는 질문 목록을 Paging 처리하여 화면에 출력 구현 과정 검색은 Get 방식의 Request를 사용하는 것이 좋다. '뒤로 가기..
-
[MySQL] Partition 과 Unique KeyBackend/DB 2023. 12. 14. 23:50
Partitioning 실습을 따라하다가 강의 내용과 다르게 Primary key를 설정했다가 Partitioning을 실패하는 결과를 보았다. ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partitioning function (prefixed columns are not considered). 원인을 찾던 중 MySQL 공식 문서에 해당 문제화 관련된 글을 발견하여 해석 및 정리해 보았다. https://dev.mysql.com/doc/refman/8.0/en/partitioning-limitations-partitioning-keys-unique-keys.html MySQL :: MySQL 8.0 Referenc..
-
filter() - fields loopkups(**kwargs), Q objects(**args)Backend/Django 2023. 12. 3. 17:12
Clone Coding을 하다가 생각없이 사용 중이던 filter() 함수의 사용법을 좀 더 깊게 파보고자 공식 문서를 살펴 보았다. filter() https://docs.djangoproject.com/en/4.2/ref/models/querysets/#filter QuerySet의 Member method 로 lookup parameter를 충족하는 객체들만 모아 새로운 QuerySet 을 생성하여 반환한다. 즉 DB에서 특정 조건(lookup parameter)들로 조회하여 나온 결과를 다시 Model Instance로 생성하여 QuerySet에 담아 반환한다고 볼 수 있다. 조건을 지정하는 방식으로는 field lookups(kwargs에 대입) 와Q object(args에 대입) 가 있다. 여..
-
[MariaDB] 원격 접속 허용하기Backend/DB 2023. 11. 28. 14:29
[환경] Ubuntu 16.04 MariaDB 10.0.38 - localhost로 동작 중 [요약] 원격 접속용 계정 생성 MySQL 설정에서 원격 접속을 허용할 IP 지정 변경 사항이 잘 도록 DB Server 재실행 또는 Node Reboot (택 1) 원격 접속 설정 적용 확인 클라이언트에 원격 접속용 계정 정보 입력. [상세 설명] 1. 원격 접속용 계정 생성 (SQL 지식 필요) GRANT ALL PRIVILEGES ON {db_name}.{table_name} TO "{username}"@"{host_type}" IDENTIFIED BY "{password}"; 위 명령어는 계정에 권한을 부여하는 명령어이다. 만약 계정이 없을 시 계정 생성 후 생성한 계정에 지정한 권한을 부여한다. (부여할..
-
[Django] runserver 실행 시 ModuleNotFoundError: No module named '{project_name}'Backend/Projects_report 2023. 11. 23. 16:01
[요약] Project 를 다시 생성하여 해결 봄. Project 초기 단계였으므로 가능했던 해결 법.. [환경] Ubuntu 22.04 Python 3.8 Virtualenv, Virtuelenvwrapper, Django PyCharm Git [프로젝트 구조] ~/{project_name}/ ㄴ config/ ㄴ settings.py ㄴ ...... ㄴ manage.py [발생] python manage.py runserver 입력하자 다음의 Error 발생. Traceback (most recent call last): File "~/venvs/{project_name}/lib/python3.8/site-packages/django/core/management/base.py", line 412, i..
-
[DB][SQL][DML] JOIN, ALIAS, VIEW, SELECT INTO, INSERT INTO, CASE WHEN ~Backend/DB 2023. 11. 7. 00:19
6강 SQL - DML (4) JOIN 2 개의 서로 다른 Table들을 공통 컬럼을 기준으로 합한 후 select 질의를 수행하는데 사용. select {column_name} from {table1} JOIN {table2} ON {table1.column}={table2.column} where {conditions}; 이 때 두 Table 간 동일한 컬럼명을 구분하기 위해 table.column 의 형식을 사용한다. Inner Join: 기본 수행되는 JOIN. JOIN의 기준이 되는 column 값이 NULL일 때 질의 결과에 포함하지 않는다. = 사용된 두 Table에 모두 NULL을 허용하지 않는다. left/right Join: Outer Join 이라고도 하며 left 는 JOIN 연산 ..