부트캠프 시작 TIL
[부트캠프] 중도포기자 #01
내가 원하는 형태로 데이터를 가지고 올 수 있게 SQL Query문을 사용한다.
Select Query 문과 where 절 그리고 where 절과 같이 쓰는 문법들 소개입니다.
스파르타코딩부트캠프 (왕초보)웹계발 종합반을 들으며 사용 했던 프로그램 및 언어 목록이다. 내가 무슨 프로그램을 사용하는지 복습도 할겸 글을 쓰며 정리해본다.
Group by는 동일한 범주를 갖는 데이터를 하나로 묶어서, 범주별 통계를 내주는 것을 의미합니다. Order by 는 데이터를 오름차순 또는 내림차순으로 정렬합니다.
Join 두 테이블의 공통된 정보 (key값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을 의미
책으로 예습 반복문 가지고 놀기
혼자 공부하는 자바스크립트 공부 중이다.05 함수 Chapter 기본 형태와 종류에 대해 알아보자.
() 안에 Select 문을 Subquery 라 한다.where 문 사용할 때 안에 Subquery 의 Select 문 필드 이름을 밖에 있는 where 문 필드와 연결 시켜준다는 느낌으로 작성Select 문이 실행될 때 하나하나에 대해서 Subquery 가 실행된다.
이메일의 아이디만 추출하고 싶거나 도메인만 추출하고 싶을 때해당 타겟을 기준으로 문자열을 자를 수 있다.
기다리던 Node 반이 시작됐다. 9 to 9 이라고 9시부터 9시까지 붙잡아 놓고 공부를 시킨다.첫날이라 힘든건가.오늘한 주요 내용들이다.미니프로젝트 팀원소개페이지 만들기/ Git & Gitgub 개요 및 사용법
intro 미니프로젝트 2일째이다. 다들 분주히 자신의 소개페이지를 만들고 있다. 나도 만드는 중인데 디자인은 계속 해도 어색하고 어렵다. 그리드 처음엔 그리드를 만들었는데, 총 3개의 section 을 나누어 img 가운데정렬 목업
intro어제 새벽까지 프론트단을 완료하고, 방명록과 팀원들과 소통해 백엔드 기능들을 추가하자 하였다. 방명록 pymongo ajax 이용해 데이터 저장 후 불러오기이건 동영상으로 이미 해본 실습이기에 어렵지 않게 할 수 있었다. 방명록 삭제 버튼 만들기삭제버튼은 배워
intro4일동안 미니프로젝트를 만들고, 내일 발표만이 남았다. 팀원들과 친해지고 배웠던걸 복습하는겸 했던 프로젝트라 쉬울줄 알았지만, 첫 프로젝트이고 팀플로 하다보니 의견을 나누는데 있어 조심스럽게 하지만 의견은 확실하게 표출하는 부분에서 신경을 더 썼던 것 같다.코
intro 마무리를 하고 프로젝트 발표를 시작했다. 발표는 별로 어렵지 않을거 같아 내가 한다 하였다.
4주간 SQL 강의가 끝났다. 어렵게 생각했던 데이터베이스는 이 강의로 좀더 친근하고 , 쉽게 다가오는 인식으로 변하게 되는 계기가 됐다. seclet, where, Group by, join 로 데이터 테이블을 정리하는걸 위주로 배웠는데, 많은 예제들로 익숙해 지는
스파르타 코딩클럽 첫 주가 끝났다. 첫 프로젝트를 했던 팀은 다음주에 바뀌어서 인사도 나누었다. 프로젝트를 하며, 부족했던 부분들을 정리하고 채워나가야겠다.Bootstrap 이해도 높이기코드스피넷 사용하지 않고, Bootstrap 문서에서 주소 가져와 연결하기.다양한
python 기초이다. 조건문, 반복문, 함수 형태와 다른 형태등을 정리했다.
intro자료구조와 알고리즘 강의가 시작됐다. 다들 어려워서 해매는 모습이 보인다. 그래서 튜터님들께서 컴비팅 사고를 하는 방법을 알려주었다.문제를 풀기전 컴비팅 사고를 하기 위해 사용하는 방법.문제를 풀기위한 절차를 생각해보는것!문제를 어떤 관점으로 보는지가 중요하다
알고리즘 공부 시작.어떻게 할까 고민을 했었는데 첫 번째 공부 방법은 내가 로직을 고민하고 코딩해본다음, 해답을 이해하는 것이다. 첫 공부는 최댓값 구하기 이다.
많은 빈도수를 구해 값으로 출력알파벳을 최빈값으로 구해야한다.
mysqlWorkbench GUI 기반 SQL 에디터dbeaverSQL 클라이언트이자 데이터베이스 관리 도구mysql 과 dbeaver 설치는 어렵지 않았다.어렸웠던건 mysql 를 연결하는 일이였다.접속 명령어 이지만, 에러를 낼 경우 연결을 해주어야 한다.내가 해결
엑셀의 테이블 형태우리 부트캠프에서는 관계형 데이터베이스를 주로 쓴다.SQL : 틀이 있다 // 수정, 삭제, 업데이트에 특화NoSQL : 틀이 유연하다 // 읽기기능 특화MySQL Naming Convention프로젝트를 하기전 파일, 함수, 테이블, 칼럼 등 이름을
프로젝트 버전 관리도구, 작업단위 나누기 가능버전관리를 한다는 것은 프로젝트 상태가 변경되는 정보를 알고 있다는 것이다.Git 커뮤니티 도구 시스템Git을 쉽게 쓸수 있게 도와주는 툴commit현재 프로젝트 상태 저장1\. 폴더 - 파일 만들기2\. 소스트리(Sourc
2번째 팀이 배정됐다. 인사를 나눈 후, 개인 공부를 마치고 3주차에 들어서서 미니 프로젝트를 시작했다.역시 UI 를 구현해야 하기에 팀들에게 템플릿을 제공하기 위해 부트스트랩으로 주말동안 4개의 페이지를 구현했다. 부트스트랩은 계속 사용하는거지만, 쉬우면서도 어려운거
문제파이썬 파일을 만들고 실행을 했을 때, 계속 되는 오류 문구 확인해결해당 명령어는 터미널에 python3 라고 입력하지 않고 python 을 입력하는 것 만으로도 명령어를 수행할 수 있다.하루 동안 시도해 본 방법들homebrew , python , pip 모두 삭
venv(Virtualenv) 프로젝트별로 독립된 환경을 제공하는 디렉토리 트리 파이썬 파일을 만들고 터미널에 pip list 작성 시 파이썬 공용공간에 설치된 패키지들을 확인 할 수 있다. 여기서 갑자기 생각난 패키지, 라이브러리, 모듈의 차이점 라이브러리(lib
화면구현 프로젝트가 끝나고, 회고 느낌으로 정리해본다.GIT git add / commit / push 활용 git pull / merge 활용CRUD 게시글 쓰기 기능 구현 게시글 글 보여주기 구현 게시글 글 수정 구현 게시글 글 삭제 구현DB MySQL 정규화 작업
vi(Vlsual display Editor)각종 문서를 편집할 수 있는 텍스트 기번의 편집기로 모든 운영체제에서 사용하는 편집기이다.내가 당황했던 부분은 터미널에 vi 를 입력하면 ~ 만 나오고 텍스트를 써도 아무일도 일어나지 않고, 어떤 식으로 사용해야할지 감이 안
터미널 환경을 바꾼다고 제목을 써놓고 왜 기본 셸을 변경한다 할까?윈도우의 명령 프롬프트, 맥의 터미널과 비슷한 개념, 명령어를 입력하는 환경을 말한다. 즉, 터미널창을 '셸'이라고 한다. 터미널 환경을 바꾸기 전 자신이 지금 사용 하고 있는 셸을 확인해보자.cat :
현재 파일이 존재하는 디렉토리를 기준으로 해당 파일까지의 위치최상위 디렉토리부터 해당 파일까지 경유한 모든 경로 맥 터미널 사용 시 pwd 를 입력 해 현재 위치 절대 경로를 구할 수 있음/ : (루트) 가장 최상의 디렉토리로 이동한다../ : (현재위치) 파일이 있는
현재 작업중 디렉토리 경로파일과 디렉토리 확인디렉토리 이동새 디렉토리 만들기빈 디렉터리를 삭제, 디렉토리가 비어있지 않다면 삭제 불가프로세스 중지 명령어빈 파일 만들기파일 내용을 읽어 출력터미널에서 직접 파일의 다른 문자열로 단어를 바꿀 수 있음셸을 사용자 정의하고 환
환경변수란? 파일을 찾을 때, 현재 위치한 디렉토리(폴더)를 먼저 찾음. 하지만 환경변수를 등록하면 변수이름으로 경로값을 참조할 수 있게 됌. .bach_profile 컴퓨터가 참조가능하도록 환경변수를 저장해두는 '메모장' 이다. 환경변수를 등록할 때, 이 메모장에
Node.js 입문 컴파일언어, 인터프리터 언어 싱글스레드, 멀티스레드 스레드(Thread) : 프로그램이 동작할 때, CPU 또는 프로세서를 사용하는 단위 싱글 스레드(Single Thread) : 스레드 하나를 사용하는 것이며, 동시에 하나의 작업만 처리할 수
객체 리터럴이란? 리터럴(literal)은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법이다. 객체 리터럴은 객체를 생성하기 위한 표기법. Javascript는 객체기반의 프로그래밍 언어이고, 거의 객체로 구성되어 있다. 객체는 0개 이
에러관리, 예상못횐 상황 대처 방식서버에서 에러를 발생하지 않기 위해 예외처리 진행에러가 발생하더라도 프로그램이 멈추지 않고 에러를 기록할 수 있다.if 문으로 실행 조건을 거는 것이 아닌, try 를 실행하더라도 catch 가 실행될 수 있으니if 문과 헷갈리지 말아
잘 되던 vscode 자바스크립트가 갑자기 오류를 낸다. 환경변수 때문에 그런가 하고, 환경변수도 설정해주었는데 되지 않았다. 찾아보니
데이터를 주고 받는 양식을 정의한 "통신 규약"중 하나통신 규약이란, 컴퓨터끼리 데이터를 주고 받을때 정해둔 약속을 의미브라우저는 서버에게 자신이 원하는 페이지(URL 등의 정보)를 요구(Request)서버는 브라우저가 원하는 페이지가 있는지 확인하고, 있다면 해당 페
Routing은 클라이언트의 요청 조건(메서드, 주소 등)에 대응해 응답하는 방식조건에 -> 응답 빙식!클라이언트의 요청을 쉽게 처리 할 수 있게 도와주는 Express.js 기본 기능중 하나요청을 처리 하는 Express.js 기본기능!router: express의
패키지를 손쉽게 다루는 작업을 안전하고 편리하게 사용하기 위한 툴다른 사람들이 만들어준 코드를 다운로드 받거나, 자신의 코드를 배포하여 다른 사람이 쓸 수 있도록 할 수 있다.Node.js에서 대표적으로 사용하는 패키지 매니저는 npm과 yarn이 존재npm이나 yar
모듈(Module)은 "Javascript 파일" 단위로 분리된 코드이다. 여기서의 "Javscript 파일" 은 특정한 기능을 가진 여러 개의 함수와 변수들의 집합을 말한다.하나의 모듈에서 다른 모듈을 호출하여 사용할 수 있다.그 자체로도 하나의 프로그램이면서 다른
Studio 3T의 GUI를 통해 MongoDB에 저장된 데이터를 관리1.수동으로 연결 선택 2.New Connection 버튼 클릭db 이름 입력localhost : 27017 (기본)만든 connection 을 클릭 후 Connect 버튼눌러 연결보여진 데이터에서
데이터베이스란 단순히 데이터를 잘 저장하고 잘 찾기 위해 만들어진 소프트웨어 Database Management System(DBMS) 이라 부른다. DB 서버의 모든 데이터는 DBMS가 관리 데이터베이스 종류 관계형 데이터베이스 - Relational Databas
API는 애플리케이션끼리 연결해주는 매개체이자 약속프론트엔드에서 원하는 기능을 수행하는 URL과 인터페이스를 제공한다는 의미월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식“REST 아키텍쳐”라는 규칙을 따르는 API우리가 만들 소프
Request : 클라이언트가 서버에게 전달하려는 정보나 메시지를 담는 객체response : 서버에서 클라이언트로 응답 메시지를 전송시켜주는 객체http모듈 , Express모듈 이 존재한다.Express 모듈은 http 모듈을 확장하여 제공최근에는 Express의
4번째 프로젝트 리펙토링을 했다.Language: Node.js,Framework: Express.jsORM: sequelize3계층, 소켓, 타입스크립트 적용, 쇼셜 로그인 API, 페이지네이션 로그아웃 API 삭제로그아웃은 프론트단에서 처리해 서버에서 하는 일을
리펙토링을 진행 중프로젝트 때, 백엔드 CRUD 를 못했던 부분들을 다시 만져봄필요한 기능들을 부분적으로 3계층을 나누며, 개발하기 시작개발하면서 로직하고 어려웠던 부분들을 정리컨트롤러에서 객체분할로 받은 userId 값을 인자로 주었다면, where 문 안에 { 칼럼
프로젝트 때, 제대로 못만들어봤던 페이지네이션 주소창의 query , params 값을 어떻게 가져와서 처리하는지 정리인자의 page는 프론트에서 query 로 페이지 넘버를 넘기고, 그 페이지 넘버에 맞는 데이터 갯수를 보낼 생각이다.sequelize 가 없을 땐,
영환이형이 코드를 알려줄 때 기능이 제대로 동작하지 않을 때, 난 자기가 작성한 코드부터 보거나 파일을 이리저리 둘러보는 버릇이 있다. 당황해서 그랬겠지.. 하지만 그건 쓸모없는 시간과 에너지 낭비인걸 배웠다. 프론트단에서 에러인지 백엔드단에서 에러인지 브라우저 con
마지막프로젝트를 시작했다. 이번 프로젝트에선 부리더를 맡아 진행했다. 4번의 프로젝트를 경험해서 그런건지.. 아니면 3계층을 직접 나눠봄으로써 express 의 이해도가 높아져서 그런진 몰라도 API 명세서를 직접 작성하며 코드가 그려지고, ERD 를 보며 예전에 이해
nest.js으로 프로젝트를 만들기로 결정했다. 그래서 팀원들은 부랴부랴 nest 스터디를 가졌다. 프로젝트 환경설정도 하고, ERD 도 피드백 받으면서 다음 주엔 프로젝트를 바로 시작할 수 있도록 세팅도 했다. 스터디 중 나왔던 오류들을 정리팀원 중 한명이 typeo
자바 스크립트는 단일 스레드 기반의 언어로 한 번에 하나의 작업만을 처리할 수 있다.비동기로 동작하기 때문에 단일 스레드임에도 불구하고 동시에 많은 작업을 수행한다.하지만 비동기로 동작하는 핵심 요소는 자바스크립트가 아닌 브라우저가 가지고 있다.(Node의 경우 lib
실행된 코드의 결과가 나올때까지 대기하는 것놀이기구 탑승/하차가 동기적으로 관리된다실행된 순서와 관계없이 결과가 나오는 것맛집에 입/퇴장이 비동기적으로 처리 된다사전적 의미“컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램”메모리에 올라와 실행되고 있는 프로그램의 인
2주차부턴 정신없이 프로젝트가 진행됐었다. 내가 맡은 부분을 기간내에 끝내려 하니 주말도 제대로 쉬지 못했다. 벨로그도 쓸 시간이 없어 프로젝트를 마무리 하고 주 단위로 회고를 작성하기로 했다. 2주차 시작 2주차엔 간트차트를 작성하고, 자신이 맡은 부분을 개발해 나
HTTP와 HTTPS의 차이점HTTP(Hypertext Transfer Protocol)와 HTTPS(Hypertext Transfer Protocol Secure)는 모두 인터넷에서 정보를 주고받는 데 사용되는 프로토콜이다.하지만, 두 프로토콜의 가장 큰 차이점은 보
데이터베이스(Database)와 ORM(Object Relational Mapping)
개발 방법론 (Development Methodology)
비동기적 처리를 위한 프로미스와 async/await
테스트코드
https://yceffort.kr/2020/11/nodejs-best-pratices-for-performance
클로저(Closure)
멀티스레딩 (Multithreading)과 멀티프로세싱 (Multiprocessing)의 차이점
정규 표현식, 또는 정규식이라 하며 특정 문자 조합을 찾기 위한 패턴이다.즉, 반복문과 조건문 없이 패턴을 가진 문자열을 간단하게 검색, 추출, 치환 할 수 있다.단점은 가독성이 좋지 않다.RegExp의 exec()와 test() 메서드를 사용할 수 있다.RexExp
프로그래밍 언어 (Programming Language)와 스크립트 언어 (Scripting Language)의 차이점
전 프로젝트를 리펙토링 중이다. 회원가입 API 를 3계층으로 나누어보았다.
엑세스 토큰 유효성 검증했을때 catch 문에 있는 id 값은 탈취 가능성이 있기 때문에 쓰면 안되는 것이 아닌가?XSS 공격 토큰 탈취 개선회원가입 로직을 리펙토링 한 이유오더 리스트를 오더 테이블로 줄이고 관계설정을 리펙토링한 이유유니테스트 , 통합테스트엑세스토큰
우연히 메뉴수정 리펙토링을 하며 저장한 이미지를 불러올 때, 충격적인 사실을 알아냈다. multer 설정으로 루트디렉토리에 저장한 이미지파일이 서버에서 가져오기때문에 아래 코드를 추가했다.검색으로 multer 라이브러리를 이용해 이미지를 저장하는 게시글은 많다.하지만
데이터를 주고받다보면 클라이언트에서 데이터를 보낼때가 있고 안보낼 때가 있다.그럼 서버에선 데이터가 당연히 들어올 줄 알고 준비하고 있는데, 빈값이 들어온다면 에러를 발생시킨다.그럴때 && 나 ! 연산자를 이용해 데이터의 유무를 판별했는데 옵셔널 체이닝 연산자만 있다면
리펙토링을 마무리하고 회고록을 작성 중 데이터베이스 연결 문제로 주춤했다.데이터베이스는 팀원껄 썼는데, 리펙토링을 마무리 하니 말도 없이 데이터베이스 연결을 끊었다.리펙토링이 먼저라 생각했기 때문에, 팀원 데이터베이스와 레포지토리에서 작업하고 있었어서 언젠간 이런 날이
서버를 키려고 하니 에러가 났다.해당 에러는 에러에 표시한 포트번호를 이미 사용하고 있다는 뜻이다.맥에선 터미널 명령어로 내가 서버를 킬려고 하는 포트가 어떻게 사용되고 있는지 간단히 확인 할 수 있었다.출력값 코멘트에 dbeaver 가 적혀있는걸 보니 내가 RDS 포