끌리는 하나를 끈덕지게 물고 늘어지는 나는 19년째 같은 게임을 하면서 생전 맥북을 써 본적이 없다. 그런 내가 어떻게 기회를 얻어 맥북에어로 코딩 공부를 하다니... 윈도우에 완전히 손이 익은 내가 이 변화를 감당할 수 있을까 싶지만 함 가보자고!이미지오늘 스케쥴아
오늘 개인학습 시간에는 유튜버 조코딩님의 자바스크립트 기초 입문 강의를 봤다. JavaScript라는 녀석이 너무 어렵게 느껴졌었는데, 조금 이해할 것 같은 느낌. BOM과 DOM에 대해서도 처음 들었다. 두 강좌 듣고 조금 따라해보려니 시간이 금방 가버렸다...공유
오늘 글을 남기기 위해 어제 쓴 나의 글을 읽어야 했다. 어제 우리가 계획했던 것은 다 했지만, 주말이라는 거대한 벽이 앞을 가로막고 있었다. 우리 팀은 조금 빡쌔게 즐겨보기로 했다.비전공자 4명이 모인 팀이지만 정말 아무런 지식도 없는 것은 나 뿐인 것 같다. 폐가
첫 주말 자유공부자바스크립트 기본을 공부했다."text=string", numbers, boolen:true, fales, null(없음), undefine(정해진 값 없음)변수 선언은 두가지 코드로 한다.array는 리스트업을 할 수 있지만 리스트의 요소들이 어떤 의
오늘은 마무리? 작업을 위해 CSS를 많이 만졌다.오늘 검색한 것들HTML로 구현하기, CSS로 구현하기, JavaScript로 구현하기...형태를 만드는데는 다양한 방법이 있다.디자인을 하는데에 있어서 포토샵이냐, 피그마냐, 일러스트레이터냐, 프로크리에이트냐...도구
오늘 대망의 미니프로젝트 발표가 있었다. 오후 2시에 프로젝트 발표 시간이라 오전에 시간이 좀 남았다. 시연 영상을 어제 9시까지 제출을 했어야했기 때문에, 이미 완성된 상태로 발표 준비만 하면 되는 상황이었다.우리는 대본을 썼고 준비를 완료한 채로 개인공부 시간을 가
기본문법 - 변수, 상수, 데이터 타입과 형 변환, 연산자, 함수문 - 조건문, 반복문배열, 객체 기초 - 객체와 배열 메소드, 배열과 배열 메소드코딩테스트 입문 Day2-2 숫자 비교하기 까지 완료!!!!프로그래머스 코딩테스트 입문부터 하기Javascript 기초gi
자바 스크립트 3주차 데이터타입, 실행 컨텍스트 강의를 쭉 들었다.이해하지는 못하지만 일단 듣고 다시 들으면서 쳐봐야 할 것 같다.내일 4주차 5주차 끝내고 가자!Javascript function의 작동 순서강의 그대로 따라가기탄수화물 많이 먹음Javascript 기
모던 자바스크립트 딥다이브 책이 도착했다. 알라딘에서 분철을 했더니 900페이지가 넘는 책이 400여 페이지 책 2권이 되었다... 부담이 조금 덜었다.내 전공서적 중에 가장 두꺼웠던 책은 510페이지 서양복식사였는데, 오늘 새로운 역사가...오늘은 알고리즘과 TIL특
오늘의 목표는 api 호출이었는데, 동료들의 도움을 받아 완성까지 할 수 있었다...기초가 너무나 모자라기 때문에, 도움을 받아 완성한 코드들을 보며 다시 공부하고 복기하는 것이 필요할 것 같다.fetch로 api 불러오기불러온 데이터로 카드 만들기불러온 카드들 중에
어제 작성한 코드를 바탕으로 자바스크립트만 복기를 했다. 기초에 대해서는 책과 강의를 반복해서 봐서 어느정도 알겠지만(???) 웹에서 어떻게 작동되는지는 전혀 감을 잡지 못해서 너무 좋은 기회였다. 도움 받은 코드들을 씹고 뜯고 맛보면서 어떤 메써드가 있는지 조금씩 알
Mapforeachfilter배열JavaScript 문법 종합반 1주차 다시 듣는 중
git branch 이용한 협업 방법유효성검사 - 비속어 필터링(array 사용)
브랜치의 뜻은 말 그대로 분점, 나누어지는 부분이다.처음 github에서 레포지토리를 새롭게 만들고나면 첫번째 브랜치(main)가 자동으로 형성된다.main 브랜치는 사용자들에게 최종적으로 배포된다. (이것을 Default branch 라고 한다. 기본값이 되는 브랜치
error 처리
수업 따라가는 중에 자꾸만 뜨는 애러 node로 js 파일을 작동시키면 자꾸만 아래의 문구가 나왔다. punycode 뭐시기....능력자 동기에게 물어보니 node 버전을 너무 최신걸 쓰고 있는 것 같다고 했다.homebrew로 버전을 바꿔보라는 조언!먼저 버전을 확인
HTTP 사용자가 웹사이트를 방문할 경우 사용자의 웹 브라우저를 통해 사용자의 컴퓨터나 기기에 설치되는 작은 기록 정보 파일이다. 데이터가 여러 사이트에 공유될 수 있기 때문에 보안에 취약할 수 있다.쿠키는 아래와 같은 형식으로 존재한다.데이터를 서버에만 저장하기 때문
요청과 응답의 중간에 있다고 해서 미들웨어라고 부른다. 미들웨어를 통해 요청과 응답을 조작해 기능을 추가하기도 하고, 걸러내기도 한다.미들웨어는 위에서 아래로 순서대로 실행되면서 요청과 응답 사이에 기능을 추가할 수 있다.next()라는 세번째 매개변수를 사용하면 다음
모든 데이터들을 공통적으로 관리할 수 있는 표준 언어로 생성, 삽입 조회 명령문을 SQL이라고 한다.데이터를 정의할 때 사용하는 언어로 테이블이나 데이터베이스를 생성, 수정, 삭제 할때 사용한다.CREATE : DATABASE, TABLE, VIEW, INDEX 등을
sequelize 로 새로운 데이터 베이스를 만들려고 하는데 위와 같이 Error 문구가 떴다. sequelize의 config.js에서 열어둔 호스트를 받은 RDS를 열고 보안 그룹의 상태를 확인해야한다. 위와 같이 모든 서버에서 접속 가능하도록 열어놓으면 해결된다
피드백을 내용을 중심으로 한 보충 공부200 OK요청이 성공했다.201 Created요청이 성공했고, 새로운 리소스가 생성되었다. (주로 Post, Put 메소드)202 Accepted요청을 수신했지만 다음 행동을 할 수 없음203 Non-Authoritative In
빨리 끝날줄 알았는데..Crypto-jsbcrypt 모듈Sequelize 모델 사용시 1:N 관계를 위해서는 models 폴더의 파일들을 수정해주어야한다.model의 1:N 관계를 설정할 때는 model.hasMany, model.belongsTo 2가지의 메서드를 사
생성 Post 조회 get 수정 Put 삭제 Delete
vs code에서 MySQL 확장앱을 사용하면서 잘못 등록한 test용 데이터가 신경쓰여서 정리하고 싶었다. 테이블 정리할때 필요한 MySQL 명령어들 정리해본다.Table 내용 보기데이터 삭제api 만드는 동안은 다른건 필요하지 않았다. JWT나 비번해쉬로 테이블 정
보안 유지를 위해 env 파일에 환경변수를 정의해놓고 사용할 수 있다. 때문에 env는 github에 올리지 않는다.개발단계에서는 vs code등에서 env파일을 만들어 그 안에 환경변수들을 넣는다.지금 나의 레벨에서 env의 내용은 다음과 같았다. DB_HOSTDB_
프로젝트 폴더 생성.env .gitignore .prettierrc 파일 수동생성gitignore.io 접속해서 .gitignore 파일 내부 생성 (visual studuo cone, node, dotenv).prettierrc 에는 자주 사용하는 템플릿을 만들어두
Node.js, Sequelizer, MySQL로 API 구현 후 간단한 프론트 작업까지 구현하는중.수업에서 사용하지 않았던 yarn과 ES6모듈을 사용해서 import/export로 전환을 하다가 config 파일과 db 생성을 하다 좌절했다. yarn은 그대로 적용
express-validator 라이브러리는 유효성검사를 쉽게 할 수 있게 도와준다.Node.js 14버전, express 4버전 이상에서 작동한다.클라이언트로부터 전달받는 데이터 속성은 주로 3가지가 있다.1\. check -단일 속성에 대한 검사 수행2\. body
HTML을 조작하는 기본적인 Javascript기본적으로 사용되는 형태Jquery는 javascript를 줄여 쓰게 만든다.
전체적인 CRUD 기능을 각자 데이터베이스 기반으로 구현하였다.ejs에서 foreach로 뿌려진 카드의 값에 따라 클릭 이벤트를 만들고 axios로 patch, put, delete메서드를 사용하여 api를 호출할 수 있다.프론트 날짜 데이터 입력용 api를 가져와서
tuple은 배열이고, 순서에 맞게 가질 수 있는 타입을 정할 수 있다.enum은 열거형 데이터타입으로 number, string 타입만 넣을 수 있다.readyonly는 객체의 속성을 변하지 않게 한다.any타입은 어떤 타입의 값이든 저장할 수 있다. 하지만 any보
오늘과 내일(?)의 TIL, 그래서 TTIL참고 사이트 Refactoring.Guru행동패턴 : 커맨드 패턴생성패턴 : 빌더 패턴구조패턴 : 어뎁터 패턴https://refactoring.guru/ko/design-patterns작업들을 모아서 모아놓고 사용자
타입스크립트는 변수를 만들때 타입을 지정할 수 있다. 위의 name 값의 타입을 string 으로 지정하고 있다. array 배열과 오브젝트의 타입지정도 가능하다. nestJs
Nest.js 에서 프로젝트를 생성할 때에는 터미널에서 프로젝트 폴더를 만드는 것으로부터 시작한다.기본적인 프로젝트 세팅이 완료된다.tsconfig.json 파일을 수정해 주어야 한다.맨 아래에 esModuleInterop을 추가하고 true 로 입력한다. ES6모듈을
공연예매 사이트를 위한 백엔드 생성에 앞서 erd를 만들었다. 혼자 하는 과제인데 시간이 꽤 주어지니 테이블을 좀 많이 만들어서 해보기로 했다.주제는 1n년째 덕질하고 있는 샤이니 전용 콘서트 예매 사이트다...뭐든 보기 좋은 떡이 먹기에도 좋다고 erd도 예쁜 것으로
콘서트 등록, 수정, 삭제 까지 구현이 완료되었다. 연말에 약속 하나 갔다 왔다고 시간이 좀 부족하다. 빠르게 예매기능 구현해야지.
강의만 따라가다보니 예외처리중에 아는 것은 BadRequestExceotion 하나뿐이었다.보너스로 강의자료에서만 다루고 있는 Nest.js에서의 예외처리를 정리해보자.공식문서에서의 예외처리위는 공식문서에서 제공하는 표준 예외처리 방식이다. 또는 다음과 같이 사용한다.
OK (200): 요청이 성공적으로 처리됐음을 나타냄.CREATED (201): 요청이 성공적으로 처리되고, 새로운 리소스가 생성됐음을 나타냄.ACCEPTED (202): 요청이 성공적으로 접수됐으며, 처리가 아직 완료되지 않았음을 나타냄.NO_CONTENT (204)
데이터 저장 방식에 따른 분류NoSQL(Not only SQL)RDBMS(Relational DataBase Management System 관계형 데이터베이스 매니지먼트 시스템)NoSQL은 동적으로 데이터 구조를 변경할 수 있는 유연성을 가지고 있다. 대표적으로 Mo
RDBMS(관계형데이터베이스관리시스템)에서의 정규하는 DB 설계과정에서 중복데이터를 최소화하고 무결성을 유지하기 위한 과정이다.중복 데이터를 최소화 하기무결성 유지하기 : 잘못된 정보나 모순된 데이터의 발생을 방지효율적인 쿼리 지원 : 데이터 검색을 효율적으로 할 수
쿠키는 클라이언트 측에 저장되는 작은 정보 조각이고, 세션은 서버에 정보를 저장한다.쿠키와 세션은 기본적으로 웹이 가진 무상태 특성을 극복하고 사용자에게 개인화된 경험을 제공할 수 있고 사용자의 상태를 유지 관리하기 위해 등장한 기술이다.쿠키와 세션 중 어떤 기술을 사
TCP는 신뢰성 있는 데이터 전송을 보장한다. 이는 데이터가 순서대로, 오류 없이 손실 없이 도달하는 것을 의미한다.TCP 연결성의 신뢰성을 만드는 데에 중요한 역할을 한다.연결 설정: 클라이언트는 서버에게 SYN(Synchronize)패킷을 보내 연결을 요청한다. 서
HTTP(Hyper Text Transfer Protocol)웹 브라우저와 서버간 정보를 주고받기 위한 프로토콜암호화 되지 않은 평문 데이터를 전송, 보안문제에 취약하다.HTTP(Hyper Text Transfer Protocol Secure)HTTP에 데이터 암호화를
도메인 주도 설계에서 사용되는 개념비즈니스 개념을 모델링하거나 시스템 내에서 데이터를 전달하는데에 사용되는 객체튜터님의 간략한 설명으로는 사용자 토큰과 관련된 데이터를 캡슐화해서 사용하는 것이 가능하다고 한다.이런 경우 사용자 인증 과정에서 생성되는 accessToke
스케일아웃수평적 확장 : 서버의 수를 증가시켜 분산시킨다.로드밸런서를 사용하여 트래픽을 여러 서버에 분산시킬 수 있다.캐싱자주 요청되는 데이터를 캐시에 저장하여 빠르게 제공한다.데이터베이스 부하를 감소시키고 응답 시간을 단축시킨다.CDN 사용정적 자원들을 CDN(Con
클라이언트가 GET 요청을 보내면, 서버에게 특정 정보를 요청하는 것이다. 주로 url에 매개변수를 포함시켜요청한다. 이 메소드는 서버로부터 데이터 검색을 하는 데 사용된다. 웹페이지의 내용을 가져오기 위해 GET요청을 보낸다. POST메소드는 GET메소드와는 반대
프로젝트 관리 도구에서 사용되는 순위 지정 방법, 항목들 사이에서 동적으로 순위를 변경하는 것을 용이하게 하기 위해 사용된다.각 항목에 고유한 ID를 부여하는 방식으로 작동한다. 항목의 순위를 변경할 때, LexoRank는 기존 항목 사이의 어딘가에 배치하고 새로운 순
깃허브 액션은 소프트웨어 개발 워크플로우를 자동화하기 위한 도구이다. 개발 과정에서 발생할 수 있는 다양한 작업들(코드 통합, 테스트 실행, 배포 과정 등)을 자동으로 수행할 수 있도록 해준다. 코드가 특정 깃허브 저장소에 푸시되면 자동으로 테스트를 실행하고 테스트를
JWT(JSON Web Token), Access Token, 그리고 Refresh Token은 웹이나 앱 서비스에서 인증과 권한 부여를 처리하는 데 사용되는 중요한 개념이다.JWT는 사용자 인증에 널리 사용되는 개방형 표준(RFC 7519)이다. 이는 사용자의 인증
아래 내용은 엘라스틱서치 적용 후 개인적인 이해를 돕기 위해 작성한 글입니다. 틀린 내용이 있다면 알려주세요. 설치 및 실행 엘라스틱서치는 독립적인 검색 서버로, 도커 컨테이너 또는 직접 설치한 서버 상에서 실행할 수 있다. 개발 및 테스트 단계에서 도커를 활용하면 설
최종 프로젝트의 프론트를 정리하면서 보기 싫었던 JSON 형태의 오류 페이지를 정리했다.https://docs.nestjs.com/exception-filtershttps://jakekwak.gitbook.io/nestjs/overview/untitl
문제상황4만여개의 place 데이터를 api에서 받아온 데이터로 더미를 만들어서 가져와야한다.44842개의 데이터를 아무런 처리 없이 인덱싱 할 경우 7782개 에서 인덱싱이 멈춰버리는 문제의견조율Batch, ES 내부 Bulk Api 등으로 데이터 처리 최적화 필요2
내일이면 부트캠프 졸업... https://github.com/leesin1040/2024nbcamp_timeattack