전체보기 106

외부 API 호출 정리(GET, POST 방식)(feat. JWT토큰 활용)

코딩을 업으로 삼은지 6년차가 되었다. 최근 이직을 해보니 그동안 공부를 너무 설렁설렁해왔다는 것을 인지하게 되었다. 이론만 숙지하고 실제로 행동하지 못한 것들이 상당히 많았다. 교육생시절 웹 크롤링을 통해 URL호출을 해보기는 했었으나 정리를 해놓지 않아서 완전히 잊혀진 상태였고 SM(시스템 유지보수)일만 4년을 하다보니 API연동을 직접 해볼 기회가 없었다. 그래서 이론만 숙지하고 있었는데 이직한 회사에서 ZOOM API를 직접 연동하게되었다. 그리하여 최초로 코드정리를 하게 되었다. 대략적인 흐름만 기억하고 있어도 될듯 하다. HttpURLConnection: URL호출 OutputStream : form 데이터 넘겨주기(POST방식 사용시) responseCode : 결과코드확인(200이면 성공)..

[nodejs] 비밀번호 해시 bcrypt.hash, 테이블 참조 populate

노마드코더 유튜브 클론코딩 #8.14 Bugfix 공부내용 정리 비디오 업로드시 유저비밀번호를 해시하던 현상 수정 유저가 비밀번호 변경시에만 해시되도록 수정 == isModified("password") userSchema.pre("save", async function () { if (this.isModified("password")) { this.password = await bcrypt.hash(this.password, 5); } }) 비디오 수정,삭제시 비디오 소유권자만 작업할 수 있도록 기능추가 story.owner의 타입은 object이고 _id의 타입은 String이므로 ' !== ' 연산자로 비교가 불가능하기 때문에 String으로 형변환을 해줘야한다. const { user: { _id..

나에게 필요한 책 고르는 방법 5단계

내가 고민하는 것이 무엇인지 파악한다. 고민을 해결해주고 도움이 될 만한 책은 어디 있을지 찾아본다. 어떤 키워드를 검색하면 쉽게 찾을 수 있을지 생각해본다.(연관검색어, 유튜브 참고) 온라인 서점에 검색하여 판매량, 리뷰 등을 참고하며 5권 정도 추린다. 서점으로 가 목차와 앞부분을 읽으며 술술 읽히는지 확인한다.

생각정리/회고 2023.03.29

내가 웹개발 일을 하는 이유

첫째, 당신이 지금 하는일은 무엇인가? 웹개발자로써 웹사이트 신규 제작 및 유지보수 업무를 하고있다. 둘째, 당신이 지금 하는 업무는 어떻게 하는 것인가? 매우 단순하다. 고객이 원하는 사이트를 제작해준다. 고객이 원하는 기능을 구현한다. 셋째, 당신은 그 일을 왜하는가? 나는 "웹사이트 제작" 회사를 목표로 창업을 원한다. 고객입장에서 대체불가한, 유일무이한 회사로 인정받는 것이 목표다. 즉, "고객만족서비스"가 나의 행복이고 신념이다. 넷째, 지금 당장 무엇을 해야하는가? 내 첫번째 고객은 현 회사 대표님이다. 현재 대표님은 화상어플 줌 기능 도입을 원하시기 때문에 그에 맞는 기술을 갖춰야한다. 자바스크립트부분 강의수강부터 시작해서 포트폴리오를 만듦으로써 내 기술로 습득해야겠다. (드림엘리코딩, 노마..

생각정리/회고 2023.03.28

Springboot에서 DB(mysql, application yml 방식) 연동 및 조회

Springboot에서 gradle library를 사용하는 경우 데이터베이스와 연동하는 방법과 데이터 저장 및 조회를 하는 방법을 간단하게 정리하였다. 데이터베이스연동 데이터베이스 저장 및 조회 데이터베이스 연동 프로젝트의 src > main > resource에서 application.yml 파일 생성 spring: datasource: url: "jdbc:mysql://localhost/library" username: "root" password: "" driver-class-name: com.mysql.cj.jdbc.Driver 데이터 저장 및 조회 package com.group.libraryapp.controller.user; import com.group.libraryapp.dto.user..

IT 5분 잡학사전 Final (SMART 방법론)

SMART 방법론 Specific(구체적) Measurable(측정 가능한) Achievable(달성 가능한) Realistic(현실적) Time-bound(기한이 있는) Object(목표) Today I Learned 블로그를 성장시키자. Activities(구체적인 활동) 1주일에 하나씩 블로그에 전문성을 띠는 칼럼쓰기 Time Schedule(상세한 계획) 매일 공부하며 메모했던 내용들을 수집한다. 수집한 내용들을 기반으로 글을 쓴다. 작성된 글을 다듬어서 칼럼을 완성한다.

IT 5분 잡학사전 Day 10 (39~45)

오늘 TIL 요약 머신러닝, 딥러닝 REST API 도커 암호화폐의 진실 재택근무 고수의 노하우 하이브리드 앱, 크로스 플랫폼 앱, 네이티브 앱 멀웨어, 바이러스, 웜 주니어 개발자가 빠르게 성장할 수 있는 비법 TIL (Today I Learned) 날짜 2023. 03. 01 오늘 읽은 범위 에피소드 39~ 45 책에서 기억하고 싶은 내용을 써보세요. 머신러닝은 인공지능을 학습시키는 방법이다. 지도학습 : 인간이 기계에게 준 라벨(특징)을 토대로 학습하는 방식 비지도학습 : 라벨이 없는 데이터를 통해 직접 가르치지 않는 학습하는 방식 딥러닝은 엄청나게 많은 층으로 구성되어 있는 머신러닝의 한 종류이다. REST API는 REST 방식의 설계 규칙이다. 1단계 : REST 없이 API 설계하기 2단계 ..

IT 5분 잡학사전 Day 9 (35~38)

오늘 TIL 요약 비밀번호가 저장되는 방식은? 프로그래밍 패러다임이란? 객체지향 프로그래밍 함수형 프로그래밍 개발자 번아웃 관리하는법 TIL (Today I Learned) 날짜 2023. 02. 28 오늘 읽은 범위 에피소드 35~ 38 책에서 기억하고 싶은 내용을 써보세요. 해시 함수는 입력한 비밀번호 값을 무작위 값으로 둔갑시켜주는 함수이다. 동일한 입력값에 대해 동일한 출력값을 가진다. 입력값이 아주 살짝만 바뀌어도 출력값은 엄청나게 크게 바뀐다. 반대로 입력한다고 해서 원래 값이 나오지 않는다. 레인보우 테이블은 해시 함수가 변경한 값을 원래의 값과 연결한 표이다. 이 때문에 해시 함수도 완벽하진 않다. 입력한 비밀번호를 무작위 텍스트인 솔트와 합쳐서 해시 함수에 통과시켜 이 문제점을 해결할 수..

IT 5분 잡학사전 Day 8 (30~34)

오늘 TIL 요약 커뮤니티와 프로그램 관리의 중요성 SQL, ORM, NoSQL 깃, 깃허브 버전 표기 방법 TIL (Today I Learned) 날짜 2023. 02. 26 오늘 읽은 범위 에피소드 30~ 34 책에서 기억하고 싶은 내용을 써보세요. 프로그램은 책임감있게 만들어야 한다. 프로그램은 끊임없이 관리해야 한다. SQL(Structured Query Language) 데이터베이스에 어떤 질문 또는 문의를 하기 위해 어떤 구조를 가진 언어 ORM(Object Relational Mapping) SQL 번역기 같은 도구로써, 사용자에게 익숙한 프로그래밍 언어로 SQL을 사용할 수 있게 해준다. 하지만 너무 ORM에 의존하면 ORM만으로 해결하기 어려운 상황에 대처하기 어렵기 때문에 SQL 기초공..