본문 바로가기

전체 글

(87)
항해 99 - 2023.01.11 TIL 오늘은 로그인 파트 부분에서 비밀번호를 암호화하고, jwt 토큰과 쿠키를 사용하여 좀 더 보안??적인 로그인 방식을 구현해보았다. 처음 해보는 것이고, 익숙치 않은 파이썬과 자바스크립트 코드를 보면서 진행하니 어렵게 느껴졌던 것 같다. 오늘 했던 작업 중에 발생했던 문제들에 대해서 회고해보고자 한다. 패키지 import 문 그동안 패키지 사용 시 패키지를 설치하고, alt+shift+enter 를 사용해서 import문을 추가했다. jwt 에 대한 import 문을 추가하였음에도 동작하지 않아서 확인해보니, import jwt가 아닌 from jwt import jwt 로 추가되어 있어 발생한 문제였다. 편리한 기능이라고 막 사용하지 말고, 한번 더 확인하는 습관을 들일 필요가 있다. jwt 패키지 jw..
항해 99 - 2023.01.10 TIL 어제 정했던 토이 프로젝트 주제를 토대로 각자 파트를 담당하여 작업을 진행했다. 죄송스럽게도.. 세팅 부분에서 문제가 많이 발생해서 내 파트에 작업을 거의 진행하지 못했다. 오늘 처리한 문제에 대해서 간단히 회고해보려한다. Merge 후 venv 폴더 팀끼리 다른 툴을 사용했는데 (VSCode 2명, 파이참 2명), 각자 작업내용을 합칠 때 차이가 발생했다. 합쳐진 프로젝트를 pull 받고 실행하면 css가 적용되지 않는 문제가 발생했다. 그 프로젝트의 venv 폴더를 삭제하고 다시 프로젝트를 생성하면 정상적으로 생성되어 코드가 원활하게 작동했다. localhost가 종료되지 않음 venv 폴더 문제가 발생하여 venv 폴더 삭제를 시도하였는데, app.py로 실행중인 localhost가 종료되지않아 삭..
항해 99 - 2023.01.09 TIL 기다려왔던 항해99 부트캠프가 1월 9일부로 시작되었다. 금주는 0주차로, OT 주로 배정되어 비교적 느슨한 분위기로 진행되었다. (정규 시간 15시 ~ 21시) 사전에 OT 주차에 하고 싶은 것을 웹개발 종합반 강의 수강, 토이 프로젝트 개발 중에 선택할 수 있다. 웹개발 종합반은 이미 수강했으므로 응용해보고 싶어 토이 프로젝트 개발을 선택했다. 12조에 배정되어 3명의 팀원들을 만났다. 막상 시작하려니 협업을 어떻게 해야하는지, Git은 어떻게 활용해야하는지부터가 막막하다. 협업을 위한 세팅 내가 배웠던 방식과는 다르게 공동저자로 작성되도록 프로젝트 셋팅을 진행했다. 그리고 실제 협업환경과 비슷하게 작업을 진행하고자 Pull Request를 통해 Merge를 진행하고자 했다. 이 과정을 간단히 나타내..
Git (3) - merge와 branch 지금까지 배운 내용으로 개발자들과 원격 repo에 있는 소스를 공유할 수 있다. 그러나, 동시에 같은 소스파일을 수정하여 push하면 어떻게 될까? 충돌(conflict)이 발생하게 된다. 위와 같은 상황을 대비하기 위해서, 하기의 작업 방식을 지킬 필요가 있다. Git을 이용한 협업 과정 1. 누가 이 작업을 진행할 것인지 정한다. (issue 할당) 2. 각자 맡은 것에 대해 작업한다. (branch) 3. 각자 작업을 프로젝트에 합칠 수 있게 공유한다. 4. 작업한 내용을 리뷰하고 최종적으로 프로젝트에 반영한다. (merge) Issue 할당 issue란? 프로젝트에서 해결해야하는 문제. (버그, 기능 추가 등의 프로젝트 개선 제안, 문제 해결을 위한 작업단위) 다양한 이슈 추적 툴(Issue Tr..
Git (2) - Git 다루기 Commit - 현재 프로젝트의 상태를 저장하는 것. 스냅샷 형태로 저장한다. 이전 글에 Git이 무엇인지에 대해 간단히 알아보았다. 이제는 실습을 통하여 직접 버전관리를 진행해보도록 하겠다. Git 초기화 1. 프로젝트 생성 testProject 라는 프로젝트 폴더를 생성하고, 내부에 위와 같은 내용의 txt파일을 넣어주었다. 2. 프로젝트를 Git이 관리하는 폴더로 설정 Sourcetree 화면에서 Create > 탐색 버튼을 클릭하여 내가 생성한 프로젝트 폴더를 지정해준다. 이렇게 폴더 내 파일이 잘 보인다면 성공적으로 설정이 완료된 것이다. 위와 같은 과정을 git 초기화라고 하며, git이 관리할 프로젝트로 설정해 주는 것을 말한다. Commit 하기 커밋하는 과정은 간단하다. 원하는 파일을 선..
Git (1) - Git이란? 곧 시작될 항해 99에 앞서, 협업 간에 매일 사용하게 될 Git에 대해서 예습하고자 한다. 항해 99에서 제공하는 노션 링크에 있는 자료를 통하여 간단히 공부해보았다. 흔히들 묻는 질문인 Git이 무엇인가요?? 라는 질문에 대해서 답하고자 한다면 아래와 같이 설명할 수 있다. Git - 소스코드의 버전 관리를 위해서 사용하는 형상관리 소프트웨어 하지만, 실제 Git 구조는 다음과 같다. Git 구조 간단히 말하자면, 저장소(Repository)를 어디에 두고 사용하는지로 판단할 수 있다. Git - 로컬 저장소(내 PC)의 소스코드를 형상관리 GitHub - 원격환경에 소스코드를 형상 관리 Git에서는 3가지 영역을 관리한다. 1. 현재 작업중인 폴더에 해당하는 Working Directory 2. c..
객체지향 프로그래밍(2) - 오버라이딩(Overriding) 오버라이딩(Overriding) 조상 클래스로부터 상속받은 메서드의 내용을 변경하여 사용하는 것. class Point{ int x; int y; String getLocation(){ return "x :" + x + ", y :" + y; } } class Point3D extends Point{ int z; String getLocation(){ // 오버라이딩 //return "x :" + x + ", y :" + y + ", z :" + z; return super.getLocation() + ", z :" + z; } } 위의 예제처럼, 부모 클래스의 메서드를 자손 클래스에서 자신에 맞게 변경하여 사용할 수 있다. 오버라이딩을 사용하기 위한 조건은 다음과 같다. 오버라이딩의 조건 1. 조상의 ..
객체지향 프로그래밍(2) - 클래스 간의 관계 설정 클래스 간의 관계를 설정하는 것에는 두 가지 방법이 있다. 첫 번째는 상속 관계를 맺어주는 것이고, 두 번째는 포함 관계를 맺어주는 것이다. 상속(Inheritance) 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것. class Child extends Parent{ ... } 조상 클래스 - 상속해주는 클래스 자손 클래스 - 상속 받는 클래스 자손 클래스는 조상 클래스의 모든 멤버를 상속받는다. 따라서, 자손 클래스는 조상 클래스보다 같거나 많은 멤버를 갖는다. (부모 클래스의 생성자와 초기화 블럭은 상속되지 않는다.) 이러한 점에서 상속을 받는 것은 조상 클래스를 확장한다는 의미로 해석할 수 있으며, 상속에 사용되는 키워드가 'extends' 인 이유이다. 여러 가지의 클래스를 상속받아 사용..