교육
-
[컴퓨터 시스템] 3일차교육 2019. 11. 12. 01:50
- 아래 내용은 '컴퓨터 시스템(3판)' 책을 바탕으로 몰랐던 내용이나, 알고 있더라도 머릿속에 좀 더 각인시키면 좋을 것 같은 내용 위주로 기록했다. - 자세한 정리보단, 핵심만 남기는 것을 선호하는 편이라 친절하지 않을 수 있다. - 깊이 있는 학습을 원한다면 별도로 책(컴퓨터 시스템(3판))을 구입하여 학습하길 권한다. - 스스로 언제든 틀릴 수 있다는 사실을 인식하고 있기 때문에, 피드백은 언제나 환영한다. - 목표는 기본기 튼튼한 프로그래머가 되기 위함이다. 2진수 표현 - 컴퓨터는 숫자를 저장할 때 기본적으로 2진수를 사용 - 하지만, 263.3 같이 2진수로 표현하지 못하는 실수가 존재함 ex) 263 => 100000111 0.3 => 0.01001100110011...... 무한 반복 -..
-
[컴퓨터 시스템] 2일차교육 2019. 10. 15. 00:33
- 아래 내용은 '컴퓨터 시스템(3판)' 책을 바탕으로 몰랐던 내용이나, 알고 있더라도 머릿속에 좀 더 각인시키면 좋을 것 같은 내용 위주로 기록했다. - 자세한 정리보단, 핵심만 남기는 것을 선호하는 편이라 친절하지 않을 수 있다. - 깊이 있는 학습을 원한다면 별도로 책(컴퓨터 시스템(3판))을 구입하여 학습하길 권한다. - 스스로 언제든 틀릴 수 있다는 사실을 인식하고 있기 때문에, 피드백은 언제나 환영한다. - 목표는 기본기 튼튼한 프로그래머가 되기 위함이다. Context Switch - OS는 현재 프로세스에서 다른 프로세스로 제어를 옮길 때 현재 프로세스의 context(프로세스의 상태 정보)를 저장하고, 새 프로세스의 context를 복원시킴. 이를 Context Switch라고 함 - O..
-
[Node.js] 13일차교육 2019. 10. 9. 01:20
async/await 호출 시 응답이 안 오는 경우 - 여러 방법으로 해결 가능 - nginx에서 timeout 설정으로 해결 - 코드 단에서 해결 Sequelize ORM ManyToMany 관계에서는 어떤 방향에서든(양방향) 조회 가능 1. belongsToMany 관계 설정 2. 조회 시, 양쪽 어디서든 include 키워드 사용 SQL Injection 공격 - 사용자의 악의적인 입력 값으로 SQL Query를 조작하는 것 - 이러한 비정상적인 SQL Query를 통해 다음과 같은 공격이 가능 (1) 사용자 인증을 비정상적으로 통과할 수 있다. (2) 데이터베이스에 저장된 데이터를 임의로 볼 수 있다. (3) 데이터베이스의 시스템 명령을 이용하여 시스템 조작이 가능하다. - 데이터 입력이 가능한 ..
-
[컴퓨터 시스템] 1일차교육 2019. 10. 7. 22:38
- 아래 내용은 '컴퓨터 시스템(3판)' 책을 바탕으로 몰랐던 내용이나, 알고 있더라도 머릿속에 좀 더 각인시키면 좋을 것 같은 내용 위주로 기록했다. - 자세한 정리보단, 핵심만 남기는 것을 선호하는 편이라 친절하지 않을 수 있다. - 깊이 있는 학습을 원한다면 별도로 책(컴퓨터 시스템(3판))을 구입하여 학습하길 권한다. - 스스로 언제든 틀릴 수 있다는 사실을 인식하고 있기 때문에, 피드백은 언제나 환영한다. - 목표는 기본기 튼튼한 프로그래머가 되기 위함이다. Copy-on-write - 하나의 Resource를 공유하고 있는 프로세스 중 하나가 공유 Resource에다가 임의로 수정(Write)을 가할 때 그때 복사본이 만들어진다. - Optimization 기술 중 하나 - OS에서는 Copy..
-
[Node.js] 11일차교육 2019. 9. 27. 00:50
devDependencies - 개발에서만 사용하는 패키지 (개발용 패키지 ex> 목, 테스트 패키지 등) - 설치 명령어 : npm install --save-dev cron - 유닉스 계열의 Job 스케줄러 - 특정 시간, 날짜, 주기적으로 무언가 실행해야 할 때 사용 (스케줄링 목적) - crontab (cron table) 은 설정 파일 - 스케줄링 프로그램을 이용해서 특정 시간에 크롤링하도록 구현 가능 (특정 시간마다 원하는 URL 호출 가능) - 주의할 점은 우리 서버 시간과 다른 서버 시간이 다를 수 있음 크롤링 종류 - 정적인 사이트(정보)를 크롤링하는 경우 : 대한 통운에서 배송 정보를 가져오는 것 - 동적인 사이트(정보)를 크롤링하는 경우 : 동적인 액션에 따라 변하는 정보를 가져오는 ..
-
[Node.js] 10일차교육 2019. 9. 25. 00:32
템플릿 엔진을 사용할 때 단점 프런트 소스코드에 백엔드 코드가 들어가 소스 코드가 더러워질 수 있음 CSRF 공격(Cross Site Request Forgery) - CSRF 공격을 안 막아주면 포스트맨으로 API 서버를 찌를 수 있음 (특히, 쓰기 / 수정) - 대표적으로 2가지 방어기법이 있음 Referrer 검증 Security Token 사용 (A.K.A CSRF Token) 크롤링에 필요한 모듈 - request 모듈 : Node.js 내장 모듈로, 요청을 보내 HTML 정보를 가져옴 - cheerio 모듈 : 받아온 HTML를 파싱 하여 전체 페이지 중에서 필요한 부분만을 추출 - request-promise 모듈 : Promise를 지원하는 request 모듈 (async/await 사용 ..
-
[Node.js] 8일차교육 2019. 9. 18. 01:21
cartList = [ ] vs cartList = { }, 배열 vs 객체 - cartList를 배열로 선언한 뒤 cartList [100]에 값을 세팅하면 0~99까지 공간이 자동으로 생성됨 ㄴ 0~99까지 공간을 사용하지도 않는데 자동으로 생성되는 건 비효율적임 ㄴ 따라서 배열보다 객체를 사용했음 JSON.stringify, JSON.parse - stringify : 자바스크립트 객체를 -> string ( 쿠키 값은 string ) - parse : string -> 자바스크립트 객체로 장바구니 기능 (복잡함) - 구현할 수 있는 다양한 방법이 존재함 (쿠키, 세션 등등) - 다양한 케이스를 고려해야 함 ㄴ 비회원인데 상품을 장바구니에 담는 경우 ㄴ 회원인데 상품을 장바구니에 담는 경우 ㄴ 비회..
-
[Node.js] 4일차교육 2019. 9. 11. 01:46
수업 내용 정리 - ORM - 모델 간의 관계 ORM (Object Relational Mapping) - 객체 지향 프로그래밍 언어와 관계형 DB 간의 매핑을 지원하는 프로그래밍 기술 - Object-relational mapping (ORM) in computer science is a programming technique for converting data.........~ - 객체와 관계형 DB의 테이블 간에 불일치를 해결해줌 (중간 다리 역할) Sequelize - 프로미스 기반 Node.js ORM 라이브러리 - Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. 모델 관계 설정 - associate안에 적어줌 let Products = ..