본문 바로가기

분류 전체보기

(24)
[redux] 리덕스 구조 이해하기 | 우아한테크러닝 3기 보호되어 있는 글입니다.
[window]윈도우에서 파이썬 설치 및 환경변수 설정하기 | 파이참 파이썬 세팅 | venv 실행 요즘 새로 일을 구했다. 프로젝트에 투입됐는데 이런, 컴퓨터가 윈도우다. 개인적으로 윈도우에 대한 인식이 안좋게 잡혀있다. 어렸을 때 윈도우 컴퓨터를 썼는데 느리고 고장이 많이 났다. 개발자가 된 이후로 계속 mac만 써서 윈도우 컴퓨터를 쓰는 게 참 어렵게 느껴졌다. 근데 정말 파이썬 하나 까는데도 시간이 많이 걸리네. (내가 잘 못 한 듯.. 다시 했더니 금방 깔았다. 역시 삽질... 후엔 뭐든 괜찮아 보이지^^;) 근데 윈도우가 많이 좋아졌고 실제로 성능 차이는 많이 없는 것 같은데 단축키가 달라서.. 그냥 익숙하지 않아서 어렵게 느껴진다. 맥에서 spotlight를 정말 많이 쓰는데.. 그걸 쓰는 방법을 몰라서 불편하게 느껴진다. 아무튼 cmd (맥에서 터미널) 명령어가 조금 달라서 이것도 잠깐 ..
[postgres] MAC postgres 설치 & 데이터베이스 생성 & django + postgreSQL 데이터베이스 연결 https://postgresapp.com/downloads.html 여기서 latest version을 다운로드 한다. 이런 팝업이 뜨면 Postgres.app 을 Applications에 드래그 한다. 그러면 Applications 폴더에 Postgre가 생긴다. 실행을 한다. Application에서 postgres app을 실행한다. 처음 실행하면 Initialize 버튼을 클릭한다. PostgreSQL 에서 root 계정이 postgres인것 같다. postgres를 더블클릭하면 터미널이 열린다. postgres계정 비밀번호를 세팅한다. postgres=# \password postgres Postgres create database - Postgres 데이터베이스 생성하기 - dbredb 라는..
[django] 파이썬 장고 BeautifulSoup 이용한 웹 크롤링 연습 간단한 크롤링 작업을 해보았다. 처음인데 재미있네.. 근데 이거 불법인가? 상업 아니고 그냥 연습이에요.. 뭘 끌어올까 고민하다가 야구를 좋아해서 네이버 스포츠에서 점수를 크롤링 해보기로 했다. 제일 간단한거 먼저 해보고 기능은 추가해볼 예정 간단한 장고로 이용한 크롤링 django는 당연히 있어야 하고 pip로 두 개 인스톨한다. pip install BeautifulSoup pip install requests 먼저 프로젝트를 생성한다. django-admin startproject crawlingapp crawlingapp 디렉터리로 들어간다. cd crawlingapp app 생성 python manage.py startapp baseball settings.py 에서 생성한 baseball앱을 ..
[javascript] Javascript Hoisting | 자바스크립스 호이스팅 | Let, var, const Hoisting 여러 youtube에서는 `process of assigning a undefined value to varible and it it pulled to the top`라고 설명한다. 변수의 값이 아닌 선언만 브라우져 맨 위로 올려지는 것. 아래 예를 들어보겠다. 처음이랑 다른 에러가 난다. 처음에 이거 봤을 때 완전 멘붕. 근데 공부하고 보니까 자바스크립트에서는 위에 코드를 이렇게 인식한다고 한다. 먼저 dog라는 변수를 선언하는것과 같다는 것이다. 그렇기 때문에 dog는 undefined 에러가 나는 것이다. 자바스크립트는 dog를 console.log 위에 선언하지 않았음에도 불구하고 dog라는 변수를 "aware"(알고 있는) 하고 있다는 것이다. 자바스크립트에서는 위에 코드를 아래..
[javascript] 객체 복사와 참조 차이| object deep copy | 객체 깊은 복사 값을 복사하고 싶을 때가 있다. 아래와 같은 상황을 말한다. name 변수 안에 paige라는 값을 넣는다. clonedName이라는 변수에 name 값을 복사하고 싶다. 그러면 위에 처럼 그냥 clonedName = name 하면 된다. clonedName과 name은 연결고리가 없다. 원시 값을 복사하기 때문에 문제가 되지 않는다. 숫자와 boolean 값도 마찬가지이다. 문제는 객체에서 나타난다. 배열로 예를 들어본다. favouriteFruits 첫번째 값을 변경했을 뿐인데 fruits 값도 cherry로 바뀐다. fruits = favouriteFruits 라고 하는 것은 복사가 아니라 참조이기 때문이다. Ojbect에서도 배열과 같은 현상이 나타난다. obj2 의 name 값을 jenny로 바..
[javascript] 자바스크립트 완전 기초 비교 & 연산 // 비교할때는 =을 3개를 사용한다. // 왼쪽 오른쪽 같은데 true가 나온다 5 == '5' // true // 왼쪽 오른쪽 같은데 false 5 === '5' // false // 자바스크립에서 이것만 예외이다. 왼쪽 오른쪽 같은데 false가 나옴 NaN === NaN // false // 사칙연산을 먼저 계산한다. 1 + 2 * 3 > 6 // 7>6 true 변수 // 계산 결과를 기억하기 위해 변수(variable)를 사용한다. // 변수명은 $와 _를 제외한 특수문자는 안되고 숫자는 첫 글자로는 쓸 수 없다. var n = 3 * 5 console.log(n) // 15 // 변수에 값을 꼭 안넣어도 된다. default로 undefined 들어감 var 빈값; consol..
[Data Structure] 이진트리 순회 (깊이우선탐색) : 전위순회, 중위순회, 후위순회 | Tree traversal : preorder, inorder, postorder Tree는 부모노드와 왼쪽 자식노드, 오른쪽 자식도드가 있는 구조다. 이렇게 하나가 기본 단위다. 이진트리를 순회하는 방법은 3가지가 있다. 전위순회(pre-order traversal), 중위순회(in-order traversal) 그리고 후위순회(post-order traversal) 아래 이진트리로 연습을 해보겠다. 노드는 1 ~ 7까지다. Root node는 1 전위순회를 먼저 알아보겠다. 어떻게 1 2 4 5 3 6 7 이 나오는 것일까? 그 과정을 정리해봤다. 슬라이드를 천천히 보면서 설명을 읽어본다면 이해할 수 있을것이다. 트리는 stack과 재귀를 이용해서 탐색한다는것을 이해했다. 중위순회(in-order traversal) 후위순회(post-order traversal) 원리만 안다면 쉬..