본문 바로가기

전체 글

(347)
프로그래머스 데브코스 49일차 with. TS 웹 풀스택 📚요약지난 시간부터 C언어를 통해 프로그래밍의 기본 원리를 배우고 있습니다. 이어서 계속 배워보도록 하겠습니다. 이번 시간에는 46,47일 차에 배웠던 내용과 겹치는 부분은 따로 정리하지 않겠습니다. 📖프로그래밍 기본 원리📄포인터C언어에는 포인터라는 개념이 있습니다. 포인터 변수라는 이름을 줄여 부르는 말이기도 한 이 변수는 주소를 가리키는 변수입니다. *과 함께 사용되는데 선언될 때와 호출할 때의 의미가 달라집니다. 선언할 때 사용되는 *은 해당 변수가 포인터 변수라는 것을 의미하고, 호출될 때 *은 해당 포인터 변수의 값을 의미합니다. 또한 주소를 가리키는 변수이므로 주소를 나타내는 &와 함께 사용됩니다.int a = 10;int* pA = &a;printf("%d", a); // 10print..
프로그래머스 데브코스 48일차 with. TS 웹 풀스택 📚요약지난 시간까지 JS의 전반적인 내용을 훑어봤습니다. 이번 시간부터는 이창현 강사님의 강의를 들으면서 프로그래밍의 기본 원리부터 시작해 타입스크립트를 활용한 리액트를 배워보겠습니다. 📖프로그래밍의 기본 원리프로그래밍의 기본 원리를 알아야 문제가 생겼을 때 어디서 문제가 생긴 것인지를 쉽게 이해하고 파악할 수 있습니다. 📄컴파일 언어JS는 인터프리터 언어인데 왜 갑자기 컴파일 언어냐?라고 한다면 앞으로 배워야 할 TS가 컴파일 언어이기 때문입니다. 컴파일 언어란 한 줄씩 읽어가는 인터프리터와 달리 소스코드 전체를 컴퓨터가 이해할 수 있도록 기계어로 변환하고 실행됩니다. 그렇기에 번역하는 과정에서 시간이 걸릴 수 있지만 번역해 두면 런타임에서는 빠르게 실행할 수 있습니다. 📄변수와 자료형📑변수 ..
프로그래머스 데브코스 47일차 with. TS 웹 풀스택 📚요약지난 시간에 이어서 JS의 기본적인 내용을 학습합니다. 그리고 배운 것을 바탕으로 간단하게 가계부를 만들어 보겠습니다. 📖JS📄Flow Controlgoto : 다른 구문에서 시작choice(조건문) : if...else, switchloop(반복문) : collection loop(for...in, for...of), general loop(for), conditional loop(while, do...while)continue : loop continuation(continue)break : loop early exit(break), 함수 실행 정지(return)non-local control flow : try...catch, throw, generator, async🍯tip! 조건문 ..
프로그래머스 데브코스 10주차 회고 with. TS 웹 풀스택 회고⏲46일차 (06.10)알고 있던 내용까먹었던 내용새로 배운 내용- JS- 명시적, 암묵적 형변환- 변수 생성 과정(평가 및 실행 단계)- JS 버전 미지원 시 해결 방법(Polyfill)- 쉼표 연산자오늘은 FE에 대한 수업이 아닌 시작 전 JS를 다시 점검하는 시간 같은 느낌이었다. 그래도 좋았던 것은 강사님이 알고 있던 부분 중에 모르는 부분은 신기해하고, 이거 까먹었구나, 이건 아는 내용이구나 하면서 듣기에 좋은 수업이었다. 47일차 (06.11)알고 있던 내용까먹었던 내용새로 배운 내용   어제오늘 JS의 전반적인 부분을 훑어봐서 좋았다. 하지만 해당 영상이 현 과정과 무슨 상관이 있는지 잘 모르겠다. 특히 이번에 나온 가계부 부분의 영상과 과제는 이해할 수 없는 과제였다. 하지만 순수 JS..
프로그래머스 데브코스 46일차 with. TS 웹 풀스택 📚요약지난 시간까지는 백엔드에 대해서 배웠습니다. 이번 시간부터는 프론트엔드에 대해서 배워볼 예정입니다. 프론트엔드를 배우기 전에 JS에 대해 정리하고 넘어가겠습니다. 📖JS📄특징인터프리터 언어동적 타입 언어JS의 함수는 일급 객체(first class object)프로토타입 기반 상속다양한 프로그래밍 패러다임 지원📄표준화초기 여러 다른 브라우저들이 나오면서 개발할 때마다 하나의 브라우저에서는 동작하지만 다른 브라우저에서는 동작하지 않는 크로스 브라우징 문제가 발생했습니다. 이를 해결하기 위해 표준화가 시작되었습니다. 그렇게 나오게 된 것이 ECMAScript로 명명되었고 다양한 이름으로 불리고 있습니다.ECMAScript 해당연도 == ES 해당연도 == ES 버전 표준화가 된 것은 정말 다행이..
데브코스 스터디(알고리즘, 코테) 13회차 ✍문제 풀기초록색은 성공, 빨간색은 실패, 주황색은 이전에 풀었지만 실패, 회색은 이전에 풀었지만 시간 부족브론즈 2 : 수학 문제. 예외 생각하기.lv1 : 시간 부족.실버 1 : 자주 본 문제. 도전했지만 구현 실패. 큐. 거의 모든 시간 소비.실버 3 : 시간 부족lv3 : 시간 부족pccp 모의고사 2번 : 시간 부족📢리뷰 시간 & 🙄느낀 점이번에는 지난 시간에 생각했던 점을 반영해 하나의 문제를 풀면 넘어가자라는 생각으로 문제를 풀어보았다. 그렇게 진행했더니 한 문제에서 막히니까 답이 없었다. 해당 방법은 맞지 않는 것으로 판단했고, 다음 시간에는 기본적으로 풀기로 한 4문제에 집중적으로 시간을 할당해서 풀어보는 것으로 결정했다. 이 방법도 단점이 있을 것이기 때문에 다음에 적용해 보고 안 ..
프로그래머스 데브코스 43일차 with. TS 웹 풀스택 📚요약지난 시간에 최종적으로 JWT를 전부 적용하고 API 설계 문서에 맞춰 수정하는 작업을 시작했습니다. 이번 시간에는 앞으로 어떻게 고도화할 수 있을지 고민해 보겠습니다. 추가적으로 초간단 프로젝트로 랜덤 유저 데이터 생성 API를 만들고 마무리하겠습니다. 📖고도화패키지 구조Router : 들어오는 요청을 구분해 주는 폴더.Controller : 요청에 따라 맞는 서비스를 호출시키는 폴더. 매니저 역할을 담당.Service : 비즈니스 로직. 실질적으로 동작하는 코드(함수).Model : 실질적으로 데이터베이스와 소통하는 코드(함수).데이터 CRUD 모듈화DB 모듈(mysql2) => 몽구스, 시퀄라이즈 활용예외처리유효성 검사 추가 : express-validator와 같은 모듈 활용.JWTacc..
프로그래머스 데브코스 42일차 with. TS 웹 풀스택 📚요약지난 시간은 JWT를 활용해 API의 수정이 있었습니다. 이번 시간에는 인가(authorization)의 모듈화를 하고 나머지 API도 수정을 해보겠습니다. 추가적으로 API 설계 문서와 실제 구현을 비교해 보면서 부족한 부분과 네이밍 등 어색한 부분도 수정해 보겠습니다. 📖SQL📄전체 행(튜플, 레코드) 수(Cardinality) 구하기테이블의 전체 데이터 수를 구하기 위해서는 두 가지 방법이 있습니다.count() 활용 : 결과의 행 수를 세는 함수.SQL_CALC_FOUND_ROWS & found_rows() 활용 : SQL_CALC_FOUND_ROWS을 통해 테이블의 모든 행 수를 계산하고, found_rows()를 통해 이전 결과의 행 수를 출력.SELECT count(*) FROM ..