일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- machine learning
- webpack
- leetcode
- loop
- docker
- git
- Clone
- bash
- vuetify
- type
- condition
- Python
- npm
- var
- C#
- 앙상블
- property
- BOJ
- JavaScript
- C++
- AI
- VUE
- vue.js
- dotenv
- security
- generic
- 보안
- scss
- TypeScript
- nginx
- Today
- Total
목록분류 전체보기 (162)
ice rabbit programming
이전 글에서 Python에서의 함수와 반복문 등을 다루었는데, 이 글에서는 그런 식으로 정리하는 것은 아니고 기초 문제들을 풀면서 얻은 팁/지식/개념에 대해서 나열해보고자 한다. 정리가 잘 안되어 있다.. 시퀀스 타입 리스트 : [] 안에 숫자/문자 나열 + 연산자를 통해 두 리스트를 합칠 수 있다(ex. [1,2]+[3,4] = [1,2,3,4]) 튜플 : () 안에 나열, 리스트와 같지만 요소의 값 변경이 불가하다. 딕셔너리 : {} 안에 나열, key:value 로 구성되어 있다. dict[key]로 value에 접근할 수있다. key 추출 : dict.keys() value 추출 : dict.values() 모두 추출 : dict.items() len(list)를 통해 시퀀스 길이를 가져올 수 있..
이전 글에서 한 번 언급했던 것처럼, 업무 스택이 C# 클라이언트 프로그래밍에서 Python 서버 프로그래밍으로 변경되었다. Python을 안 써본 것은 아니지만, PyQT나 OpenCV, Tensorflow처럼 필요에 따라서 쓴 정도기 때문에 기초 문제를 푸는 강의를 수강하면서 개념을 정리했다. 다만 이론 강의를 듣는 형태가 아니라 주어진 문제를 풀면서 개념을 습득하는 형태라 정리를 한다고 했으니 다소 중구난방일 수는 있다... 가장 먼저 Python은 인터프리터 언어로, 코드를 한 줄씩 해석하게 된다.또한 PEP8이라는 정식 코드 가이드가 있는데, 이것의 준수가 꽤 엄격하게 적용되어야 한다. https://www.python.org/dev/peps/pep-0008/ 을 참조하면 좋다. 아마 타 언어와..
관계란? 관계는 각 테이블 간의 논리적 관계로, 1대1, 1대n, n대m관계가 있다. - 1대1 관계 : 각 개체가 1:1로 이어지는 관계(ex. 사람:주민등록번호) - 1대n 관계 : 한 쪽 개체가 여러 객체를 가지는 관계(ex. 직원들:부서) - n대m 관계 : 양 쪽 개체가 서로 여러 개체(다수 관계)를 가지는 관계(ex. 상품:고객) -> 여러 고객은 여러 상품을 살 수있고, 여러 상품은 여러 고객에게 팔릴 수 있다. 데이터 중복이 있으면 데이터의 일관성, 무결성, 보안성, 경제성 등에 해를 끼칠 수 있으므로, 테이블을 만들 때는 중복이 되지 않게 해야 한다. 이를 해결하기 위해 중복의 가능성이 있는 데이터를 다른 테이블로 나누고 관계를 맺게 한다. 외래키 관계를 가지고 있는 다른 테이블의 컬럼을..
크롤링 크롤링은 웹 페이지에서 필요한 데이터를 추출하는 작업이다. 이 데이터들을 원하는 형태로 파싱하여 사용한다. 도식화하여 과정을 보면 다음과 같다. 웹에서 HTML 구조 파악 -> request로 HTML 가져오기 -> HTML 분석하여 필요한 데이터 가져오기 -> 개행 문자 등 필요 없는 부분 필터링(파싱) -> 실제 사용 가져온 HTML을 분석하는 도구에는 여러 가지가 있지만, 여기서는 가장 널리 쓰이는 BeautifulSoup을 사용한다. BeautifulSoup은 HTML뿐 아니라 XML, JSON 등을 모두 분석할 수 있다. 아래와 같이 객체를 만들고 분석할 수 있다. soup = BeautifulSoup(open("index.html"), "html.parser") # 객체 생성 soup...
사실 티스토리에 글을 올리면서, 아직 방문자 분들이 많지는 않지만 지식 공유가 목적의 한 부분이긴 했으나, 내용 정리에 목적도 있어 C#, C++ 등의 언어를 다룰 때에는 기본적으로 프로그래밍에 대해서 어느 정도 안다고 하고 글을 쓰고 있었다. 하지만 이번에 자바스크립트 강좌는 상당히 기초부터 시작해서, 입출력/자료형 등 기본적인 부분부터 다루고 있다. 필자는 자바스크립트를 미약하게나마 써본 적은 있어서 실제 강좌에서는 스킵했으나, 정리는 해 두려고 한다. 자바스크립트의 문법은 다른 언어들과의 문법과 비슷하다. 이전 글에서 설명한 'var' 키워드나 나중에 비동기, 콜백 부분으로 넘어갔을 때 아마 많은 차이를 느낄 것이다. 연산 기본적인 사칙연산(+, -, *, /, %)과 증감연산(++, --), 논리..
이 기능도 학부 때는 몰랐는데, 굉장히 유용한 기능이다. stash는 넣어두다라는 뜻인데, 이름 그대로 commit하지 않고 임시로 넣어두는 것이다. 필자는 다른 브랜치로의 checkout이 필요한데 아직 작업 중일 때 주로 사용한다(작업 중이니 아직 commit이 불가하므로). 만약 commit이나 stash를 하지 않고 다른 브랜치로 checkout 하려고 시도하면 에러가 발생한다. git stash // 작업 중이던 파일을 임시 저장 git satsh save // 위와 같은 동작, 임시 저장 git stash list // 임시 저장된 stak의 list를 본다. git stash apply [이름] // list에서 확인한 이름의 stash를 가져온다. git stash apply // 최신의 ..
자료형 여타 프로그래밍 언어와 비슷하게, DB에도 담는 데이터에 자료형이 있다. 자료형은 데이터의 유효한 값, 수행 가능한 연산, 의미, 저장 방식 등을 결정하기 때문에 굉장히 중요한 개념이다. 유효한 값이나 수행 가능한 연산 등은 견고한 서비스를 만들 수 있고, 나아가 보안에도 영향을 미치기 때문에 신경써야 한다. int, float 등은 다른 언어와 비슷한데, varchar라는 자료형은 DB를 다뤄보지 않았다면 생소할 수도 있다. varahcar는 variable char로, 가변 문자열이다. char와의 차이점은 다음과 같다. char(8) : 무조건 8자리 문자열, 6자리가 입력되어도 8자리의 공간 차지 varchar(8) : 최대 8자리 문자열, 6자리가 입력되면 6자리의 공간 차지 그러므로 꼭..
요즘에는 NoSQL도 많이 쓰이지만, 전통적으로 RDBM은 굉장히 많이 쓰였고, 현실 세계를 반영하기에도 좋다. 이번에 SQL 강좌를 수강하면서 내용들을 정리해 보려고 한다. 관계형 데이터베이스 : row와 column으로 이루어진 하나 이상의 테이블의 관계로 이루어진 데이터베이스 각각의 테이블들이 있고, 이들이 관계를 가지는 것이 가장 기본적인 개념이다. 학생-과목-교사 등이 관계를 가지는 학생 관리 DB 등을 예시로 들 수 있겠다. 같은 관계형 DB라도 DBMS에 따라 SQL 문법이 다르다. MySQL, MS-SQL, Oracle 등 다른 DBMS에서 공통되는 문법도 존재하지만 다른 문법, 기능도 존재하기 때문에 반드시 해당하는 DBMS의 명령어를 잘 알아보고 사용해야 한다. ( select vers..