전체 글 217

배열과 리스트

배열 배열 : 크기가 정해진 데이터의 공간, 한 번 정해지면 바꿀 수 없다. 배열은 원소에 즉시 접근할 수 있다. 그 배열의 'Index'를 통해 접근한다. * 즉시 접근 가능 : O(1) = 상수 시간 내에 접근이 가능 그러나 배열은 수정, 삭제 시 모든 원소를 다 옮겨야 한다. 최악의 경우에는 모든 원소를 다 옮기면서 시간복잡도가 O(N)까지 증가할 수 있다. 크기가 정해진 데이터의 공간이기 때문에 원소를 추가할 시, 새로운 배열을 만들어야 하므로 수정에 있어 비효율적 리스트 리스트 = Linked List : 크기가 정해지지 않은 데이터의 공간, 연결고리만 주어진다면 바꿀 수 있다. 리스트는 특정 원소에 접근하려면 연결고리를 따라 접근해야 한다. 최악의 경우에는 모든 원소에 다 접근해야 하기 때문에..

컴퓨터 구조와 운영체제 핵심 개념

컴퓨터 구조를 이해해야 하는 이유 1. 문제 해결 능력 기본적으로 컴퓨터의 작동 원리에 대해 이해하는 사람은 그렇지 않은 사람보다 훨씬 문제해결이 편하다. 컴퓨터를 관조할 수 있는 능력 배양(분석 능력) 2. 성능, 용량, 비용 컴퓨터 구조는 결국 이 세 가지를 고려해서 보기 때문에 당연히 고려해야 하는 부분 컴퓨터가 이해하고 있는 정보 1. 데이터 숫자, 문자 등의 정적인 정보 컴퓨터와 주고받는 / 내부에 저장된 정보 2. 명령어 컴퓨터를 실질적으로 움직이게 하는 정보 데이터는 명령어를 위한 재료 명령 코드를 사람이 쓰면, 컴퓨터는 그것을 자신만의 명령 데이터로 변환해서 사용 ex) binary 컴퓨터의 핵심 부품 4개 1. CPU CPU란? : 메모리에 저장된 값을 읽어들이고, 실행하고, 해석하는 장..

데이터 관계 모델 정리

두 번의 팀 프로젝트를 통해서 느낀 것은 응용이 부족했던 점이 가장 크고, 경험이 없기 때문이 컸지만 기본기에서 가장 부족했던 것이 바로 모델 관계 정리였다. 그래서 이번엔 지난 튜터님들의 실강을 복습하면서 다시금 정리해보게 되었다. PK(Primary Key) Table에서 반드시 하나만 존재 (유일) 그래서 row의 값을 고유하게 식별 가능 대개 정수형태, 번호 혹은 유일한 값 FK(Foreign Key) 다른 테이블의 PK를 참조하는 컬럼 타 테이블 PK 데이터 확보! PK와 FK가 없을 시, 데이터가 중복되면서 불필요한 데이터들을 계속 가지게 된다. 그렇기 때문에 한 테이블 안에서 대표성을 띄고 있는 PK와 FK를 적극적으로 이용해줘야 한다. OneToOneField : 예전 카카오 프로필은 Us..

Framework/Django 2023.05.18

Lv.1 신고 결과 받기

코딩테스트 연습 - 신고 결과 받기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이틀 연속 카카오 문제.. 카카오 문제의 특징이 보편적으로 그런지는 모르겠지만, 지문이 길다 보니 지문 속에서 함수 힌트를 제공한다. # 팀원끼리 풀어본 문제 def solution(id_list, report, k): note={} banner=[] for i in set(report): a=i.split(" ") # 리포트를 신고자와 피신고자로 분리해서 리스트화 try: note[a[0]] += [a[1]] exc..

cording test 2023.05.17

Lv.1 신규 아이디 추천

코딩테스트 연습 - 신규 아이디 추천 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 보면 알겠지만, 1단계부터 7단계까지 하나씩 코드를 풀어보는 많은 수작업이 필요하다. 동시에 내가 알고 있는 파이썬 함수들을 복습하는 데 매우 유용한 문제이다. def solution(new_id): new_id = new_id.lower() #1단계 checker = "abcdefghijklmnopqrstuvwxyz1234567890-_." for i in new_id: #2-1단계 if not i in c..

cording test 2023.05.17

5월 2주차 WIL

DRF에 제대로 적응하는 한 주였다. 그 전보다 더 세부적으로 계획을 세워서 이번에는 최대한 빈틈을 줄이지 않았을까? 생각했는데, 역시나 빈틈 투성이었다. 일단 크게 느낀 점은 1. 서버와 프론트가 어떻게 연결되는가? 2. 서버와 프론트는 어떤 방식으로 협동하는가? 3. 어떤 방향으로 백엔드 코드를 만들어가야 하는가? 4. 계획에 있어 프론트와 백의 경계를 어떻게 설정해야 하는가? 5. ERD 관계 공부 안하냐? 6. 와이어프레임 뿐만이 아니라 사이트를 이용하는 회원의 입장에서 어떤 방식으로 사이트를 이용하는지 시나리오 그리기 7. 테스트코드는 왜 필요한가? . . . 등등이 있다. 정말 많은 것들을 개념적으로만 배웠지만, 실제 몸으로 부딪히면 왜 필요한지 체감하게 된다. 실전 프로젝트 경험이 왜 중요한..

Weekend I learned 2023.05.16

It-em-is (4)

프론트가 워낙 바빠서 올릴 새가 없었다. 중간 과정을 그대로 써내리지 못한 점이 너무 아쉬웠지만, 결과물을 올려보고자 한다. 이제 실무에 들어가면 DBsqlite보다는 외부 DB에 익숙해져야 하기 때문에 외부 DB와 연결하는 법을 알아내보았다. 외부 DB인 MySQL에 연결 성공 회원가입을 하면 다음과 같이 더미데이터가 보인다. 까지 썼는데 갑자기 프론트 데이터가 날아가서 우선은 확인되는 것만 정리한다..

project/project 2023.05.16

It:em_is (3)

프론트의 지옥에서 아직 살아돌아오지 못했지만.. 일단 확실히 익혀둔 것은 mysql로 DB 전환 MYSQL을 다운받은 후 CUSTOM을 선택해서 포트를 가능하면 3306에 맞추는 것이 좋다. 이후 비밀번호 설정 후 MYSQL 주소로 DB가 이동하게끔 settings.py를 설정 자세한 것은 또 글을 쓸 예정이다. JS 오류 아직 진행형이지만, 정말 많은 JS오류들과 마주하고 정말 수많은 삽질 끝에 내린 결론은 자신 없는 짓은 하지 말자..였다. 파이썬과 달리 직접적인 오류를 보여주지 않는 JS이기 때문에 콘솔로그를 아무리 해도 제대로 보여주지 않는다. 그런 것들에 대해 꼭 주의하자. 그리고 클라이언트 오류로 떠도 서버에서 시리얼라이징 ERROR를 프린트하는 것을 통해 클라이언트에서 오류가 나타날 수 있는..

project/project 2023.05.12

It:em_is (2)

퓨어장고 때 제대로 하질 못해서 그런지 오늘은 장고에 대해 배운 게 많았다. 실전을 통해 배운다니 참 슬프고 미안했지만.. .env 시크릿 키를 깃에 내놓으면 보안이 다 털려버리기 때문에 .env를 통해 감춰줘야 한다. .env 파일만 만들어놓고 .env가 그동안 왜 안됐을까 생각해봤는데.. pip install dotenv 를 했어야 했다. settings.py에는 다음과 같이 입력하고, import os SECRET_KEY = os.environ.get('SECRET_KEY') .env에 진짜 시크릿 키를 가져다 놓고, gitignore를 해 코드 분석 그냥 싹 한 줄 한 줄씩 만들어가면서 복습해버렸다. 알고리즘 풀듯이 잘 적용하면 어렵지 않을 과정이라고 생각했는데, 코드 간 연결할 때 보면 여전히 ..

project/project 2023.05.10

It'em_is (1)

어김없이 팀 미니프로젝트가 등장 이번에는 매일매일 반드시 전진하게끔 도전하겠다!!!! 아이디어 이번 팀 프로젝트 주제로 내 아이디어가 선정되어서 더 확실하게 설명할 수 있을 것 같다. 제목에도 나와있듯이, it'em, 잇템이다. 나만이 가지고 있는 잇템들을 소개하는 커뮤니티를 가지면 자랑하는 사람도 뿌듯함을 느끼고, 정보를 얻고자 찾아오는 사람들도 있을 것이다. 특별히 매니아층이 강력한 주제로 생각하기 때문에 사람들이 유입이 될 시 커뮤니티 활동이 적극적일 것 같다는 생각과 앞서 말한 선순환의 영향이 매우 좋을 것 같아 팀원 분들이 선정해 주셨다. 와이어 프레임 우리는 총 사이트를 회원가입, 로그인, 메인페이지, 게시글페이지, 마이페이지, 상세페이지, 게시글 생성, 수정페이지 등으로 구성했다. 이번엔 저..

project/project 2023.05.09