일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자료구조
- OAuth
- npm
- 최단경로문제
- 프로젝트진행
- 내돈내산
- 전화영어
- 시급합니다
- 백엔드
- 개발자
- 원격근무
- webServlet
- 백엔드스쿨
- OpenAPI프로젝트
- Spring
- 탄력근무
- 백엔드공부
- 탐색알고리즘
- array
- Queue
- java
- JavaScript
- YBM전화영어
- 자바스크립트
- 그래프탐색
- maven
- Node.js
- 제로베이스
- BFS
- 교육철학과 교육사
- Today
- Total
목록개발/Dev | 웹개발 (29)
개발자취
본 글은 OpenAPI 데이터를 기반으로 WebApp을 생성하는 프로젝트의 과정을 담았다. 프로젝트 진행 과정을 정리한 글은 총 세 개의 글인 계획 및 Data 핸들링, 1차 기능 구현, 2차 기능 구현 및 검토로 이루어져 있고, 그 중에서 본 글은 2차 기능 구현 및 검토에 해당한다. 들어가며 2차 구현에서는 금방 해결될 것이라 예상했던 db 마이그레이션에서 꽤 시간이 오래 걸렸다. 그래서 발생했던 주요 이슈 및 이슈 해결 방안, 참고 자료를 순차적으로 정리해볼 것이다. 주요 이슈 1. MaridDB to SQLite SQLite는 서버가 없는 응용프로그램만 존재한다. 따라서 SQLite로 DB를 연결할 때 라이브러리를 mariadb-jdbc에서 sqlite-jdbc로 교체만 해주면 될 것이라는 생각이..
본 글은 OpenAPI 데이터를 기반으로 WebApp을 생성하는 프로젝트의 과정을 담았다. 프로젝트 진행 과정을 정리한 글은 총 세 개의 글인 계획 및 Data 핸들링, 1차 기능 구현, 2차 기능 구현 및 검토로 이루어져 있고, 그 중에서 본 글은 1차 기능 구현에 해당한다. 들어가며 구현 과정에서 어떤 블로그를 참고했는지 노트해놓은 것을 정리해봤다. 프로젝트를 진행하는 순서에서 계획도 계획이지만, 구현이 제대로 이뤄지지 않으면 프로젝트 결과물이 나오지 않으니, 기간을 최대한 맞추기 위한 어떤 노력을 했는지를 중점으로 내용을 담아봤다. 구현 중에 발견한 사소한 이슈들을 어떻게 처리했는지도 중간에 담아봤다. 구현 흐름 1. 프로젝트 생성 (1) Servlet 프로젝트 생성 https://suyeoncho..
본 글은 OpenAPI 데이터를 기반으로 WebApp을 생성하는 프로젝트의 과정을 담았다. 프로젝트 진행 과정을 정리한 글은 총 세 개의 글인 계획 및 Data 핸들링, 1차 기능 구현, 2차 기능 구현 및 검토로 이루어져 있고, 그 중에서 본 글은 계획 및 Data 핸들링에 해당한다. 들어가며 온라인 백엔드 스쿨에서 본 과제를 부여받았다. 과제를 진행중에 있지만, 아주 간단하게 세워놓은 계획을 조금씩 구체화하며 진행중에 있었다. 그 내용을 메모장에 정리해놨는데, 글로 짜임새 있게 정리하고자 했고, 또한 다음주에 진행하는 2차 구현을 위해서도 리마인드 차원으로 본 글을 작성하게 되었다. 진행과정 1. 본 과정을 진행하는 데 앞서서 이걸 어떻게 해야하나 엄청 고민을 했던 것 같다. MariaDB를 사용해서..
들어가며 내가 회사에서 만드는 서비스는 백오피스에 해당한다. 백오피스 서비스에는 그다지 큰 기술이 들어가지는 않는다. 따라서 사용자는 적은 기능으로 만들어진 시스템을 사용하기에 불편함을 느낄 수밖에 없다. 가끔 사용자 경험이 무조건 개선되어야 하는 경우가 나타날 때가 있다. 이땐 추가적인 요구사항으로써 서비스를 개선해주고 있다. 우리 서비스를 이용하는 고객은 서비스를 이용함으로써 초 단위로 전력 관련 데이터를 체크하는 수고를 덜어낸다. 상당히 많은 데이터를 다루기에, 데이터 입력/출력에 혼선이 생길 수도 있다. 그래서 우리 시스템이 백오피스 사용자를 위한 경험을 조금이나마 향상해서 제공한다면 휴먼 에러를 줄이는 데 도움을 줄 것이라 본다. UX(User Experience)와 같은 맥락으로 DevEx(D..
올해 연말이나 내년 초에 지원할 웹 백엔드 포지션을 대비하여, 기술 인터뷰에서 지원자가 기본적으로 알고 있다고 가정(?)하고 있는 것들을 먼저 정리해보려고 합니다. 가장 기초적이지만, 정확한 워딩으로 풀어낼 수 없던 것들을 정리할 것입니다. 이와 관련된 개념은 크게 Web 기본 개념, HTTP status Code, Software Architecture and Design입니다. 오류(?)가 있을 수 있으니, 댓글에 남겨주시면 감사드리겠습니다.1. Web 개념Web이란웹 개념은 다음과 같습니다.W3 ; 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간을 의미한다. 인터넷 상에서 텍스트나 그림, 소리, 영상 등과 같은 멀티미디어 정보를 하이퍼텍스트 방식으로 연결하여 제공한다.2. HTTP s..
Passport 정의 Passport.js : 여러 플랫폼에서의 가입 정보 중 username과 password를 가져와서 로그인 구현을 쉽게 해놓은 OAuth 패키지로, Node.js용 요청을 인증하는 express 호환 미들웨어이다. Passport Strategies Passport는 앱의 용도에 맞는 전략을 configuration 파일에 미들웨어로 작성하고 사용해야한다. 미들웨어에 작성하는 코드는 다음과 같이 작성한다. passport.use(new LocalStrategy( function(username, password, done) { User.findOne({ username: username }, function (err, user) { if (err) { return done(err)..
1. 포스팅의 목적 프로젝트를 진행함에 앞서 분산 버전 관리 및 협업을 위한 리포지토리 관리툴은 반드시 필요하다. 이때 거의 대다수가 Github를 이용하곤 한다. 쓰니도 대다수처럼 Git bash를 활성화 하여 command line으로 remote repository에 접근하는 일을 수없이 반복해오며 자주 쓰는 명령어를 곧잘 외워서 잘 사용했다. 하지만 가끔씩은 본의 아닌 commit으로 꽤나 난처한 경우가 생기곤 한다. 그럴땐 재빠르게 구글링으로 무마시키지만, 이러한 과정은 버그를 발견하지 못하는 상황과 맞먹을 정도의 스트레스를 동반하곤 한다. 따라서 /*쓰니와 읽는 이의 정신건강을 위해*/ git remote/local repository 생성 과정과 git command를 한 페이지에 담아 쉽게..
2. 소셜계정 로그인 구현 2018년 12월 기준 카카오톡 서비스의 시장점유율이 86%인 가운데, 카카오톡 계정을 보유한 사용자가 10명중 8~9명에 이르고 있습니다. 비단 카카오톡뿐만이 아니라 네이버, 페이스북 계정도 마찬가지일 것입니다. 이러한 가운데 소셜 계정을 이미 보유한 사용자는 소셜 계정 로그인으로 웹서비스에 로그인 할 때, 권한만 허용하는 절차를 거치고 나면 보다 간편하게 로그인을 할 수 있습니다. 그러나 사용자 입장에서 간단하게 느껴지는 이 절차는 실제 다소 복잡한 개발 절차를 필요로 합니다. /*이는 다소 복잡한 개발 프로세스가 따르는 것을 의미합니다.*/ 또한 소셜 계정 로그인을 구현하기 위해서는 /*너무 당연한 소리겠지만*/ 소셜 계정 서비스에서 사전 절차를 필요로 합니다. 사전 절차..
1. 프로젝트 설계 1.1 프로젝트 개요 본 프로젝트는 앞서 배운 개념을 바탕으로 하여 OAuth를 이용한 소셜 로그인 구현 및 블로그 포스팅 웹앱을 만드는 것입니다. 본 앱을 만들기 위해 수강한 강의에서는 모바일에 최적화된 앱으로 제작하였으나, 쓰니의 개발 능력 향상을 위해 웹에 최적화된 앱의 형태로 변형하여 제작하였습니다. 1.2 아키텍처 설계 1.2.1 OAuth flow - Vendor - Naver - Facebook - Kakao - 각각의 OAuth provider에 개발자 계정을 만들어서 그에 따른 설정을 해야함. - access token -> (platformUserId, platform) -> 회원가입 / 로그인 처리 - 위 vendor를 통한 로그인 처리를 위해서는 HTTPS 상에서..
RDB 기본 개념 1 | RDB란? RDB는 Relational DataBase로, 가장 고전적인 DB 모델로써 테이블을 생성하여 그에 따른 제약조건에 맞게 데이터를 저장한다. 이때, SQL문으로 데이터를 CRUD 할 수 있다. DB의 구성 요소 data table의 가로줄 : 행 (row), data table의 세로줄 : 열 (column, attribute) data table 덩어리 : table(relation) row를 구별하는 값 : primary key 관계형 데이터베이스는 NoSQL과는 다르게 다른 테이블에서 참조할 수 있도록 relationship을 형성하고 있다. 그래서 RDB가 잘 짜여져만 있다면, 데이터 중복이 거의 없다. 이는 곧 일관성이 높다는 것을 의미한다. /*패캠 강의 인..