사전스터디 한달이 쏜살같이 지나가고 어느새 위코드 7월20일 개강일이 되었다. 개강일이 되자마자 가장 늦게 출석하며 상큼한(?)시작을 알렸다. 다행인점은 내가 도착하자마자 마지막 출석자가 자기소개를 진행했고, 늦긴했지만 나로 인해 짜여진 OT순서가 지연되는 대참사가 일
서두 >HTML, fullname은 Hyper Text Markup Language다. 쉽게 말해 웹페이지 제작을 위한 가장 기초적인 언어라고 보면 된다. CSS는 이런 HTML을 더욱 풍성하게 만들어주는 디자인 툴이다. 초기 HTML이 무수히 많은 디자인과 레이아
예제로 살펴보자
주의해야할 점 : filter함수를 사용해서 반환된 값은 iterable하게 반환된다. 그러므로 리스트 형태로 활용하기 위해선 list()를 써서 리스트 형태로 만들어 주어야 한다.iterable이 뭐냐구? : iterable 의 의미는 member를 하나씩 차례로
튜플 = () 리스트 = []의 차이점은 뭘까? List는 수정이 가능하지만 tuple은 한번 선언되면 수정이 불가능 합니다. 그렇다면 이런 불편한 튜플은 왜 쓸까? >Tuple은 일반적으로 2개에서 5개 사이의 요소들을 저장할때 사용되며, 특정 데이터를 ad h
find_smallest_integer_divisor 라는 이름의 함수를 구현해 주세요.find_smallest_integer_divisor 함수는 하나의 parameter를 받습니다. Parameter 값은 integer만 주어집니다. find_smallest_int
JavaScript로 FrontEnd 를 개발하는 경우 js 파일의 용량이 몹시 큰 경우가 있다. 특히 webpack을 이용하여 개발시 외부 라이브러리를 많이 사용할 수록 번들 파일의 용량이 어마어마하게 늘어난다. 용량이 늘어나면 브라우저에서 로딩 속도가 느리고, 그만
답은 1이다. 빈 튜플도 요소로 측정하기 때문이다.참고로 a = (1,2,3,(4,5,6,(7,8))) 이와 같이 튜플 3개가 중첩되어있는 형태도 리스트안에 가장 큰 튜플 1개만 요소로 인식하기 때문에 len(a)는 1로 나온다.
지난 TIL:04 에서 Parameter와 Argument를 정리 했음에도 More complex Function Parameters 단원에서 한참의 시간이 소요되었다. Kwargs에 대한 제대로 된 정리와 이해가 없었기 때문인 것 같고, 결정적으로 Assignment
사람은 동물이다, 동물은 생물이며, 생물은 물질이다.이를 괄호로 표현하면 이렇게 된다.사람 < 동물 < 생물 < 물질파이썬에선 모듈이라는 편리한 기능이 존재한다. 코드가 너무 길어지는 것을 방지하기 위해 짜여놓은 클래스, 함수, 변수등을 다른 파이썬 파
SyntaxError : Invalid Character in identifier(= 식별자의 문자가 잘 못 되었습니다.)가끔 Command+C(복사하기)를 통해 웹에있는 파이썬 코드를 복제했을 때 육안으로 보기엔 문제없는 변수, 함수값, 자료구조임에도 에디터에서 이를
리스트 컴프리헨션이란 쉽게 말해 리스트 안에 내장되어있는 형태라고 할 수 있다.최소 3줄정도는 필요한 for loof 구문을 한 줄에 간결하게 담을 수 있으며 실제 작동을 했을때 for loof보다 훨씬 빠른 처리속도를 낼 수 있다.다음은 Google Python St
상단의 이미지는 네이버 영어사전에서 나온 iterator의 뜻이다. 파이썬에서의 iterator의 뜻도 크게 다를바 없다. 파이썬 안에서 iterator란 '반복 가능한 객체'를 의미한다.L = 1,2,3 이란 integer들로 이뤄진 평범한 리스트를 한 번 살펴보자.
파이썬 함수용어들은 상당히 직관적이다. Iterator와 마찬가지로 Generator 역시 단어의 의미로부터 그 개념을 손쉽게 유추할 수 있다. Generator : '발생시키는것', 무엇을? : Iterator(생성자)다. Generator는 Iterator를 발생시
람다는 인라인(in-line=한 줄)함수를 정의할 때 사용하며 익명 함수(anonymous functions) 또는 람다 표현식(lambda expression)이라고 부른다. 일반적인 함수는 다음과 같은 형식을 가지고 있다.def name(arg1, arg2...):
파이썬의 time 내장모듈은 주로 epoch time(Unix time, POSIX time)을 다룰 때 사용한다.epoch time은 UTC(GMT+0) 기준으로 1970년 1월 1일 0시 0분 0초부터의 경과 시간을 나타내는데 흔히 timestamp라고 불리기도 한
뮤텍스 & 세마포어의 정의 공유된 자원에 여러 프로세스, 쓰레드가 동시에 접근하면 상호간에 메시지 전송에서의 오류 등 문제가 발생될 가능성이 있다. 이런 경우 공유된 자원 속 하나의 데이터는 하나의 프로세스만 접근할 수 있도록 제한해 두어야 할 필요성이 있는데 이를
설치가 되어있는지 '다시 한번 확인하자'pip install seleniumpip3 install seleniumconda install selenium 등 다양한 명령어가 존재한다.당신이 쓰는 에디터가 vscode라면 파이썬 인터프리터를 재설정해보자웹 크롤링 과제를
👉GIT? 파일의 이름을 변경하지 않고 버전관리 백업 / 복원 / 협업을 가능하게 만들어주는 툴 대표적인 버전 관리 시스템 : CVS, SVN, GIT 오늘날 가장 많이 사용하고 있는 버전관리 시스템 : GIT 깃의 난이도? 기능의 복잡화로 인해 사용법의 난이도
2주차 파이썬테스트로 간단한 함수문제들이 출제되었다.짝수인지 판별하는 함수 is_even을 작성 주세요.print(is_even(11)) print(is_even(10)) "calculate_total" 함수를 작성하세요. 팁과 세금을 제외한 식사값이 주어졌을때, "c
위의 사진은 사용자가 Wecode웹페이지를 이용할 때 나타나는 구조입니다."인터넷에 웹사이트를 띄운다는 것"인터넷에 띄운다는 것은 홈페이지의 구성파일들이(html, css, js) 인터넷에 "항상" 연결되고, "절대" 꺼지지않는 호스트 컴퓨터(웹 서버)에 저장되어 있다
라이브러리는 도구다작업을 수행하기 위해서 사용된다.(ex: 리액트)리액트는 UIlibrary Tool to make User's interface프레임워크는 방식이다.다시말해 코드가 실행되는 방식이다.Django는 대표적인 프레임워크, 장고는 urls라는게 존재한다.이
Django의 Flow 웹브라우저 -> 이벤트 발생(Url클릭, 데이터입력등) -> 장고서버로 input -> URL dispatcher에서 분석시작 -> 적합한 view로 이동 -> Model에서 실제적인 데이터베이스와 커넥션을 하고 적절한 데이터를 가져옴 -> v
예시와 설명, 예제코드를 통해 간단한 설문조사(poll) application을 만드는 과정을 따라하면서 Django의 활용법을 익힌다.python -m django --version라는 명령어로 확인이 가능하다.코드를 저장할 디렉토리로 이동 한 후, 다음의 명령어를
two_sum함수에 숫자 리스트와 '특정 수'를 인자로 넘기면,더해서 '특정 수'가 나오는 index를 배열에 담아 return해 주세요.nums: 숫자 배열target: 두 수를 더해서 나올 수 있는 합계return: 두 수의 index를 가진 숫자 배열예를 들어,
자료구조란 데이터에 편리하게 접근하고 조작하기 위해 데이터를 저장하거나 조직하는 방법이다.각 언어가 가진 자료구조의 종류와 그것에 대한 사용 방법을 익히는 것도 중요하지만, 무엇보다 각 자료구조의 본질과 컨셉을 이해하고 상황에 맞는 적절한 자료구조를 선택하는 것이 매우
1번 : 자료구조의 정의와 중요한 이유를 설명하세요.자료구조란 데이터에 편리하게 접근하고 조작하기 위해 데이터를 저장하거나 조작하는 방법입니다. 자료구조란 상황과 문맥에게 맞게 데이터를 담을 수 있는 적절한 구조를 말합니다. 데이터에 맞는 적절한 자료구조를 사용하는 것
reverse 함수에 정수인 숫자를 인자로 받습니다.그 숫자를 뒤집어서 return해주세요.x: 숫자return: 뒤집어진 숫자를 반환!예를 들어,x: 1234return: 4321x: -1234return: -4321x: 1230return: 321모델답안이다. 굉장
이전에는 Local repository에서 Github Private repository에 masterbranch로 Direct-push하는 것까지 구현했다. 이번에는 Django와 관련해서 Masterbranch가 아닌 feature브랜치로 push까지 하는 과정을
HTTP란?HyperText Transfer Protocol의 약자.HTML 문서를 교환하기 위해 만들어진 Protocol(통신규약)즉 웹상에서 네트워크로 서버끼리 통신을 할 때, 어떠한 형식으로 서로 통신을 하자고 규정해 놓은 '통신형식' 또는 '통신구조'라고 보면
파이썬 코드 스타일은 인터넷 검색하면 여러가지가 이미 존재 합니다. 그중 대표적인 것은 파이썬 공식 가이드인 PEP-8과 구글의 파이썬 코딩 스타일 입니다. 다음 내용은 >wecode의 파이썬 코딩 스타일 가이드 입니다. 기본적으로는 PEP-8과 일맥상통 하며, wec
출처 : 수학과의 좌충우돌 프로그래밍query 란 데이터베이스에 정보를 요청해주는 것을 의미하며 파이썬으로 작성한 코드가 sql 로 매핑되어 queryset 이라는 자료 형태로 값이 넘어오게 됩니다. 이는 순회가능한 데이터로서 이를 이용하여 1개 이상의 데이터를 불러와
출처 : Essence and Artifact우선적으로 장고에서 controller는 template과 매치되는 개념이다. user는 template에서 다양한 이벤트를 생성시키고 input한다. 그때 template는 model에 저장되어있는 다양한 데이터를 가져와서
Django Westagram Project 이번 Project는 주어진 총 5개로 구성된 장고 과제를 스스로 해결해가면서 장고를 실제로 작성해보고 여러 기능들에 대한 이해를 높이는데 목적을 둔다. 요구사항 User app을 생성해주세요. 앱 이름에서 그 용도를 유
What is Set?Set는 array나 list 처럼 순열 자료구조 (collection) 입니다.하지만 set는 순서라는 개념이 존재하지 않습니다. Set의 특징은 다음과 같습니다.데이터를 비순차적(unordered)으로 저장할 수 있는 순열 자료구조 (colle
숫자로 이루어진 배열인 nums를 인자로 전달합니다.숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요. 예를 들어, nums = 3,2,3return 3nums = 2,2,1,1,1,2,2return 2가정 : nums 배열
스택은 가장 나중에 들어온 자료가 가장 먼저 처리되는 LIFO(Last-In-First-Out)자료구조이다.구멍이 하나밖에 없는 병이라고 생각하면 이해하기 쉽다.stack = \[]파이썬에서는 리스트로 스택을 흉내낸다. 따라서 스택 자료구조를 초기화 할 때는 빈 리스트
모델, 뷰, 템플릿 셋 중에 무엇을 먼저 코딩해야 하는지에 대해 정확하게 정해진 순서가 존재하는 것은 아니다. MVT방식에 따르면 화면 설계는 뷰와 템플릿 코딩으로 연결되고, 테이블 설계는 모델 코딩에 반영된다. 그렇기 때문에 독립적으로 개발할 수 있는 모델을 먼저 코
주어진 숫자 배열에서, 0을 배열의 마지막쪽으로 이동시켜주세요.원래 있던 숫자의 순서는 바꾸지 말아주세요.(새로운 배열을 생성해서는 안 됩니다.)index를 움직이기 위해 last0이라는 변수를 만들어 준다numsi에서 i가 0이 아니라면(last0을 써야하니) num
멘토님들이 Project Kickoff(시작) 전에 하시던 말씀이 있다. "앞으로 프로젝트 시작하시면 Velog작성이 더 어려우실거예요"틀린말 하나 없었다. 개인으로 개발공부를 하는것도 팀으로서 프로젝트를 진행하는것은 분명히 차이가 존재한다. 개인 개발공부는 온연하게
1) 보통 DB와 models.py에 코딩한 테이블을 기준으로 데이터를 뿌려주는게 일반적이지만 모델링/카테고리화가 까다로운 웹페이지의 경우 html을 통째로 저장해 프론트에다가 바로 뿌려주는 방식도 존재한다.2) '좋아요(Like)'기능은 User - Product 사
MySQL은 쿼리문 끝에 ";(semi colon)" 을 붙여 쿼리문을 구분/실행한다. mysql -u root -p : MYSQL 실행show databases; : 현재 생성되어 있는 데이터베이스 확인create database 'DB이름'; : 새로운 데이터베
다음과 같은 모델로 이뤄진 데이터베이스가 있다고 생각해보자.Image는 FK를 통해 Product를 정참조 하고 있으며, 반대로 Product는 Image 클래스를 역참조하고 있다. 이때 image를 가져오는 경우의 수는 두가지다. 하나는 역참조를 활용하는 방법, 두
프로젝트 기간 동안 멘토분들에게 PR(Pull Request)에서 자주 받은 피드백 중 하나는 CleanCode(깔끔한 코드)로 바꾸라는 요청이였다.깔끔한 코드, 가독성 높은 코드란 어떤 것이라는 내 질문에 멘토님들은 이렇게 명료하게 답해주셨다.다음 코드는 미숙하지만
list_eval 기능을 사용하기 위해선 ast 모듈을 알고 있어야 한다. ast는 Abstract Syntax Trees의 약자로 문법을 구조화 시켜주는 모듈이다.웹 크롤링을 해서 CSV파일로 저장하게 되면 CSV상에선 분명히 리스트나 딕셔너리로 보였는데 type을
출처 : 이재익님 VelogRepresentational State Transfe라는 용어의 약자이다.자원을 URI로 표시하고 해당 자원의 상태를 주고 받는 것을 의미한다.REST의 구성 요소는자원(Resource): URI행위(Verb): HTTP METHOD표현(R
<장고 공식문서를 참조 : 미숙한 번역 주의>프리페치란 지정해놓은 관계된 객체의 특정열을 하나로 미리 묶어 쿼리셋으로 반환하는 기능이다.본질적으로 프리페치는 select_related와 동일한 목적으로 사용되는데, 둘 다 (연관된 객체들을 참조할때마다 발생되는)
SpaceX Clone Project !youtube[c2med0MMlxw] 프로젝트 소개🤖 민간 우주기업 Space X 웹사이트 클론 프로젝트 팀원 Backend : 김기욱(👈), 이지연 Frontend : 송다슬, 황연욱, 이호현, Github [[Bac
쿼리스트링이란? 쿼리스트링이란 사용자가 웹 프로그램으로 입력한 데이터를 전달하는 가장 손쉬운 방법이다. 이 방법은 URL주소 뒤에 입력 데이터를 함께 제공하는데 기본적인 형식은 다음과 같다. >https://hostname"port번호"/folder/file?변수1
처음엔 뭣도 모르고 구니콘 구니콘 했는데, G-Unicorn이였다... 지유니콘이란 Green Unicorn의 약자로 UNIX 용 Python WSGI HTTP 서버다. 프리포크 방식의 작업자 모델이다. Gunicorn 서버는 다양한 웹 프레임 워크와 광범위하게 호환되
위코드 2차 프로젝트를 진행하면서, 내가 주로 맡은 부분은 기본적으로 데이터를 저장받아서 쓰는게 아닌 회원가입이나 이력서 작성, 지원 등
파이썬에서 메소드란 클래스 안에서 쓰이는 '함수'이다.클래스 이름은 대문자로 시작하고 카멜케이스를 사용하지만, 메소드는 소문자로 기입하는게일반적인 파이썬 코딩 스타일이다.인스턴스 메서드는 가장 손쉽게 만들 수 있는 메서드 형태이다.공백으로 만들어도 되는 함수와 달리 클
Wanted Clone Project 프로젝트 소개🤖 신개념 채용플랫폼 원티드 클론 프로젝트 >팀원 Backend : 김기욱👈, 이건규 Frontend : 마상원, 오상구, 박주엽, 손수민 BackEnd Github Repository : [Click Her
마이크로 웹프레임워크를 표방하는 플라스크는 startproject를 입력하면 알아서 레이아웃을 짜주는 Django와 달리 API 구조도를 직접 짜야한다.이때 베이직하게 적용되는 개념이 레이어드 아키텍쳐다.레이어드 아키텍쳐가 뭐냐구? 레이어드가 구성요소가 몇겹의 수평구조
데이터베이스의 상태를 변화시키기 위해서 수행하는 작업단위를 뜻 한다.데이터베이스 상태를 변화시킨다는건 예를 들자면 이런 것들이 있다.CREATE(생성)SELECT(참조)INSERT(추가)DELETE(삭제)UPDATE(수정)다음과 같은 SQLquery들은 데이터베이스의
sql문을 사용해서 table을 create할 경우 datetime 과 timestamp라는 거의 흡사해보이는 형태의 fieldtype들이 보인다. 둘 다 똑같이 YYYY-MM-DD HH:MM:SS 형식으로 날짜와 시간을 모두 포함해 년부터 초까지 일렬로 보여준다.과연
엔티티는 데이터베이스나 SQL상에 존재하지 않는다. 테이블과 달리 엔티티는 실제로 존재하지 않는 아닌 일종의 개념이다.그러나 테이블은 데이터베이스나 SQL에 실제로 존재하며 물리적인 구조를 지니고 있다.엔티티는 테이블이 될수도 있고 안 될수도 있다. 엔티티는 CDM(C
다양한 유형의 검사를 통해 데이터모델을 더욱 명확하게 구조화하고 개선시켜나가는 절차불필요한 데이터를 제거해서 데이터 중복의 최소화데이터베이스 구조 확장 시 리모델링을 최소화다양한 관점에서 쿼리실행데이터무결성의 시행을 간단하게 만듬각종 이상현상(Anomaly)의 방지이커
최근 데이터모델링을 학습하면서 느낀점은 '데이터모델링'은 '정답'이 정해지지 않은 학문인 것 같다는 점이다. 이론적으로 데이터모델링에서 가장 중요한 요점은 물론 '무결성'이다.무결성 확보를 위해서는 '중복'을 최대한 제거하는것이 중요하며, 이를 위한 정규화가 이론적으로
'역정규화'라고도 부르며 이전에 정규화된 데이터베이스에서 성능을 개선하기 위해 사용하는 전략이다.가장 큰 목적은 '조회'성능의 향상이며, 이 때문에 짧은 시간에 많은 양의 조회 트랜잭션이 발생하는 웹페이지에서 많이 쓰이는 편이다.테이블(엔티티)를 합치는 것은 비정규화나
관계형과 비관계형 DB중 어떤것을 사용하는데는 많은 고민이 뒤따른다. 각각 DB형태의 장/단점 비교를 통해 DB선택에 고민을 줄여보자.1) 관계형DB는 데이터를 더 효율적이고 체계적으로 저장하고 관리할 수 있다.2) 미리 저장하는 데이터들을 구조를 정의함으로써 데이터의
백엔드 개발공부를 하면서 VIM을 써야하나, VScode를 써야하나 고민이 많았다. vim같은 경우는 가볍고 터미널내부에서 바로 조작이 가능한 큰 장점이 있었지만, 커맨드가 익숙하지 않았고, Vscode같은 IDE에 비해 기능이 제한적이였다.Vscode의 경우에는 편리
예제로 작성된 코드입니다. 미흡한 점이 있더라도 너른 양해바랍니다. 검색기능을 간단하게 구현했습니다. Flask란? 마이크로 웹프레임워크, 여러기능이 기본적으로 내장되어있는 풀 프레임워크인 Django와 달리 사용자가 일일히 모든것을 짜줘야한다. 편의성은 떨어지지만
보이는게 다가 아니다. 생각보다 실제 돌아가는 웹사이트의 데이터모델링 구조는 매우 복잡하다.심지어 전체기능이 아닌 일부기능만 구현했는데도 정말 복잡했고, 기존에 위코드프로젝트에서 하루~이틀이면 끝났던 웹사이트 모델링이 일주일이나 걸렸다.아 그리고 ManytoMany로
문득 개발공부를 하다보면 기본적인 개념에 대해서 망각하는 경우가 왕왕 발생하게 된다. 그러므로 기본개념부터 되짚어보자. 나같은 경우는 웹개발을 공부하고 있으므로, 네트워크 상에서 쓰이는 포트(Port)의 개념을 기준으로 잡았다.쉽게 말하자면 TCP나 UDP에서 어플리케
다음과 같은 SQL문을 파이썬 문자와 혼용하게 되면 흔히 발생가능한 오류다.WHERE절에 스트링포매팅이 추가되면서 상단에 있는 date_format SQL문과 충돌이 발생하게 되며 밸류에러가 생기게 된다.상단에 있는 Date쪽 포맷형식을 %대신 %%으로 바꾸면된다.
마스킹이 뭐냐면 마스크를 연상하면 쉽게 이해가 갈 것이다. 마스크를 쓰면 얼굴 반절정도를 가려주는 역할을 하게된다. 이처럼 고유정보에 해당될 수 있는 정보들을 웹사이트에서 표시할때 \* , ?표시등을 활용해서 가려주는 역할을 하는것을 마스킹이라고 한다.(출처 : 브랜디
WHERE 구에서 조건 분기를 하는 사람은 초보자다.숙련자는 SELECT 구에서 조건분기를 한다.SELECT 조건분기 예시테이블을 생성할 때 int속성 필드라면 UNSIGNED를 표시해주면 된다. 최솟값이 0으로 고정되며 양수만 받을 수 있게 된다. 리뷰나 QNA에 카
한국말로 '방아쇠'를 뜻하는 트리거는 SQL에서는 이벤트 발생했을때 전/후를 기준으로 같은 테이블 혹은 다른 테이블에 또 다른 이벤트를 발생시키는것을 말한다.처음 트리거를 생각하게된 시점은 Questions(문의글)관련 API를 만들던 도중이였다.우리가 만든 데이터스키