항해99 부트캠프 (10) 썸네일형 리스트형 [TIL] 실전주차, 로드밸런서와 HTTPS의 늪 📍오늘 한 일 1. 깃허브 액션과 빈스톡 사용하여 배포 시 발생하는 에러 해결 - 잘못된 경로 설정으로 빈스톡 배포 부분에서 zip파일을 못 찾는 에러를 해결했다. - 무사히 샘플 코드로 CICD 파이프라인 구축을 성공했다. 2. 로드밸런서 및 HTTPS 관련 공부 3. 빈스톡에서 로드밸런서 리스터 설정해주기 📗 오늘의 어려움 1. 무사히 샘플 코드로 CICD 파이프라인 구축을 성공했지만, 우리 앱으로 배포를 하는데 실패. Environment health has transitioned from Pending to Severe. ELB processes are not healthy on all instances. None of the instances are sending data. 50.0 % of t.. [TIL] 데이터베이스 - 정규화(Normalization) 정규형(Normal Form) * 1NF, 2NF, 3F * 부를 때는 제1정규형, 제2정규형, 제3정규형으로 부릅니다. 데이터베이스에는 중복된 데이터가 존재할 경우 이상현상이 발생하기 때문에 정규화의 목적은 가능한 한 중복을 제거하여, 삽입, 삭제, 갱신, 이상의 발생 가능성을 줄이는 것입니다. 정규화를 하지 않은 관계형 데이터베이스는 비정규형 릴레이션이라고 부릅니다. 정규화 과정 1NF 2NF 3NF 이행적 함수적 종속을 제거해야 합니다. 이게 무슨 뜻인가 하면 한 가지 정보(기본 키, primary key)로 두 가지 정보를 알 수 있다면 테이블을 나누어서 정보를 정리해주는 것을 의미합니다. 굉장히 많은 정규형이 존재합니다. 하지만 대개 제3정규형까지만 갖추어도 정규화가 잘 된 데이터베이스라고 말합.. [TIL] 7주차 클론코딩 시작 - JWT 복습 📍 이번주는 무엇을 하나 로그인, 회원가입 페이지와 메인 페이지를 맡게 되었습니다. 클론코딩 주차에는 mySQL 사용법 및 로그인, 회원가입 기능 구현을 중점으로 공부할 예정입니다. 첫 날인 오늘은 팀원들과 API 및 스키마 설계를 완료했습니다. JWT란? 그럼 JWT가 암호화를 해주는 건가요 - 하면 사실 엄밀히 말하면 그건 아닙니다. 단지 데이터를 serialize해주는 것 뿐입니다. 시크릿키란? 시크릿키란 jwt에서 토큰이 유효한지를 사용할 때 사용하는 키입니다. 이 키는 아무 값이나 지정해도 되지만, 유출이 될 경우에는 키를 바꿔야 합니다. 요렇게 써주면 됩니다. 해당 값을 콘솔에 찍어보면 이상한 값이 나옵니다. 바로 이 값을 가지고 jwt.io에 들어가셔서 encoded란에 값을 붙여넣어주면 p.. [TIL] Uncaught TypeError: is not a function 오류 해결하기 📍오늘 주특기 심화주 마지막 날 📗 오늘의 챌린지 * Uncaught TypeError: is not a function 오류 해결하기 위 오류는 함수를 찾을 수 없는 경우 발생한다고 합니다. 함수명이 태그 id, name 등과 동일하거나 함수 내에 오류가 발생하는 코드가 있는 경우 발생하게 되는데요. 우선 에러 메시지를 살펴봅시다. addBoard라는 함수명을 찾을 수 없다는 메시지이니, id 또는 name에서 이와 같은 이름을 쓰는 것이 있는지를 확인해봐야 합니다. → 동일한 이름을 쓰는 id나 name은 확인할 수 없었습니다. 두 번째로 해야하는 일은 함수 내 어디서 오류가 뜨는지를 console.log를 사용하여 확인해 봐야합니다. 오류가 발생하는 파일은 index.js와 index.spec.js.. [WIL] ORM, noSQL vs SQL ORM(Object Relational Mapping) ORM이란 객체-관계 매핑의 줄임말이다. 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 말한다. 객체 간의 관계를 바타으로 SQL을 자동 생성해서 sql 쿼리문 없이도 데이터베이스의 데이터를 다룰 수 있게 해준다. ORM은 상향식, 하향식 중간에서 모임이라는 세 가지 접근 방식으로 객체 코드 및 관계형 데이터베이스 불일치를 해결한다. 패러다임 불일치 객체와 관계형 데이터베이스는 지향하는 목적이 서로 다르기 때문에, 둘의 기능과 표현 방법도 다르다. 배경지식 관계형 데이터베이스 1) 2차원 구조의 모델을 기반으로 한다. 2) 데이터의 무결성, 트랜젝션 처리 등 데이터베이스 관리 시스템으로써의 뛰어난 성능 3) 질의어(Query Lang.. [WIL] Restful API, package.json Restful API란? 기술이나 제품이 아닌 형식. REST, "Representational State Transfer"의 약자 API, "Application Programming Interface"의 약자 알아보기 쉬워 유지보수 및 운용을 유용하게 할 수 있는 시스템. 참조: https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html https://www.youtube.com/watch?v=iOueE9AXDQQ package.json이란? 배포한 모듈 정보를 담기 위해 만들어진 JSON 형식의 파일로, 직접 작성할 수도 있고 npm* init 명령을 통해서 자동으로 생성할 수도있다. main: 메인은 생성하는 자바스크립트 파일로 자동 업데이트 된.. [WIL] JavaScript의 ES란? ES5/ES6 문법 차이 JavaScript의 ES란? ECMA Script(ES)는 규격, 표준 즉, 스펙을 말한다. ES5/ES6 문법 차이 ES5: 배열과 관련해서 새로운 메소드들이 생김. 대표적으로 forEach, map, filter, reduce, some, every와 같은 메소드. 이 메소드들은 개발자가 반복 횟수나 조건을 잘못 입력하는 등의 실수를 줄여주는 효과가 있습니다. object에 대한 getter/setter 지원 자바스크립트 strict 모드 지원(더욱 세심하게 문법 검사를 합니다.) JSON 지원(과거에는 XML을 사용하다가, json이 뜨면서 지원하게 되었습니다.) bind() 메소드가 생겼습니다. (this를 강제로 bind 시켜주는 메소드입니다.) ES6: let, const 키워드 추가 arr.. [WIL] JWT, API JWT(JSON Web Token)란 인증에 필요한 정보들을 암호화시킨 토큰을 의미합니다. JWT 기반 인증은 쿠키/세션 방식과 유사하게 JWT 토큰(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별합니다. Header와 Payload를 가지고 Signature를 생성하므로 데이터 위변조를 막을 수 있습니다. 인증 정보에 대한 별도의 저장소가 필요없습니다. JWT는 토큰에 대한 기본 정보와 전달할 정보 및 토큰이 검증됬음을 증명하는 서명 등 필요한 모든 정보를 자체적으로 지니고 있습니다. 클라이언트 인증 정보를 저장하는 세션과 다르게, 서버는 무상태가 됩니다. 확장성이 우수합니다. 토큰 기반으로 다른 로그인 시스템에 접근 및 권한 공유가 가능합니다. OAuth의 경우 Faceboo.. [TIL] 자바스크립트: 연산자, 조건문, 반복문, 함수, 클래스 및 객체 어제와 마찬가지로 자바스크립트(javaScript) 강의를 들었습니다. 그중에서도 연산자, 조건문, 반복문, 함수, 클래스 및 객체를 배웠는데요! 오늘 제가 배운 내용은 다음과 같습니다. 1. 문자열 붙이기 2. 비교연산자 (Comparison operators) 3. 논리연산자 (Logical operators) 4. 일치연산자 (Equality operators) 5. 조건문 (if) 6. 반복문 (while) 7. 반복문과 조건문 활용 8. 함수 9. 클래스와 객체 10. 메소드 (Method) 1. 문자열 붙이기 왜 백틱(``)을 사용하는가? 백틱을 사용하는 이유는 더 간결하게 문자열을 붙이기 가능하기 때문입니다. 증감연산자(): ++ let count = 1 const preIncrement =.. [TIL] 자바스크립트 강의 시작 부트캠프 사전 강의를 일주일 동안 마치고, 본격적으로 들어가기 전 남은 일주일. 어떻게 시간을 보내면 좋을까 생각하다 그래도 며칠이라도 준비를 더 빨리 시작하면 도움이 되지 않을까 싶어서 자바스크립트 강의 수강을 시작했다. 사전 강의였던 웹종합반에서도 자바스크립트를 조금 배웠지만 아직 정말 맛도 봤다고 할 수 없을 정도로 가벼운 수준이기 때문에... 자바스크립트 강의를 통해 배경지식을 좀 쌓아놓고 싶다는 생각이다. 특히 나는 주특기로 node.js를 선택했으니, 자바스크립트를 조금이라도 더 이해하고 시작하면 도움이 될 것 같았다. 강의는 스파르타코딩 김신록 선생님의 'JavaScript 문법 뽀개기'를 듣기 시작했다(부트캠프에서 제공되는 강의라서..^^;) 오늘은 1-1강에서 1-4강까지 들었다. 오전 .. 이전 1 다음