본문 바로가기

분류 전체보기

(122)
나의 개발일지 WIL(Weekly I learned) 2023-01-15 Weekly I learned 이번주는 저번주의 목표 중 this에 대해서 알아보았고 socket.io를 학습해서 팀프로젝트에 적용해보는 시간을 가졌다 그리고 socket.io를 프로젝트에 적용하면서 팀 프로젝트를 리팩토링하는 시간을 가졌다 팀 프로젝트를 리팩토링하면서 API를 다시 제대로 만들어보고 부족했던 코드를 조금 더 완성시키는 시키면서 더 좋은 코드를 짤 수 있게 지속적으로 생각하고 관리하는법을 배웠다 그리고 socket.io를 적용해서 새로운 주문이 들어왔을때 console.log로 실시간으로 찍히는 걸 확인했다 이제 팝업창으로 보여주는 작업을 진행할 예정이다 이번주는 팀프로젝트를 리팩토링하면서 axios에 대해서 알게되었고 더 효율좋은 예외처리를 알게되었다 그리고 socket.io를 이용해서..
나의 개발일지 20220110 TIL(Today I learned) - 이미지 업로드 Today I learned 오늘은 이전 프로젝트를 계속해서 미구현 기능을 추가하고 코드를 조금 더 좋은 로직으로 다듬는 작업을 했다 주문을 추가하는 기능에서 원래 세탁물의 이미지를 추가하는 기능을 구현하고 싶었지만 구현을 하지 못해서 이번에 이미지를 업로드하는 작업을 진행했다 진행을 하면서 계속 file이 텍스트로 받아지는 문제가 발생했다 그래서 검색해보니까 formData로 통신을 해야지 파일을 살려서 보낼 수 있다고 했다 그래서 axios통신을 하기 전에 new FormData를 사용해서 시도를 했다 이런식으로 진행을 했는데 문제는 해결하지 못했다 오브젝트 폼데이터가 계속 문자로 받아지는 문제가 계속 진행이 되었다 이 문제를 해결하기 위해서 계속 시도를 해서 문제가 발생한 부분을 확인해서 해결은 했..
나의 개발일지 20220111 TIL(Today I learned) Today I learned 오늘은 프로젝트를 리팩토링을 하는 작업을 진행하면서 프론트부분을 수정했다 수정하는 작업에서 문제가 발생했다 문제는 head.js와 order_list.js를 사용하는데 head.js에서 만들어주는 span을 order_list.js에서 사용을 해야하는데 자바스크립트가 동시에 작동하다 보니까 order_list에서 span을 null로 받아와 버리는 문제가 발생을 했다 order_list가 html을 불러오고 콜백으로 작동을 하게 만들어놨는데 문제가 계속 발생을 했다 그래서 async를 사용해보고 커스텀이벤트도 만들어서 발생시켜도 보고 여러가지 방법을 사용했지만 해결하지 못하고 있었다가 그냥 쉽게 가보자! 해서 하나의 방법을 시도해봤다 뒤에서 실행되야하는 자바스크립트를 함수로 ..
나의 개발일지 20220111 TIL(Today I learned) Today I learned 오늘은 프로젝트에 socket.io를 적용해서 주문이 새로 작성이 되면 클라이언트에게 알림을 보낼 수 있게 주문이 작성되면 클라이언트에게 간단한 확인을 할 수 있는 메시지를 보내는 작업을 진행했다 하지만 app.js를 socket이 벗어나는 방법이 문제였다 이 문제를 해결하기 위해서 socket을 모듈화해서 사용하기로 했다 let io; module.exports = { init: (httpServer) => { io = require('socket.io')(httpServer); return io; }, getIO: () => { if (!io) { throw new Error('socket not initialized'); } return io; }, }; socket의 ..
나의 개발일지 20220110 TIL(Today I learned) - socket.io Today I learned 오늘은 socket.io를 프로젝트에 적용하는 작업을 진행했는데 소켓이 연결이 안되는 문제가 발생했다 문제를 해결해보기 위해서 html문서에다가 소켓을 연결해주니까 제대로 작동이 되었다 진짜 너무 간단한 문제인데 클라이언트에도 소켓을 세팅을 해줘야 서로 연결이 된다 기본적인 socket.io의 문제는 해결을 했는데 이제 문제는 주문을 입력했을 때 새로고침을 진행하기 전에 바로 실시간으로 주문리스트가 업데이트가 되는 작업을 진행하고 싶은데 해결이 되지 않는다 emit으로 소켓을 이벤트를 보내고 socket.on으로 받아서 테스트해볼려는데 진행이 되지 않는다 오늘은 소켓을 나의 프로젝트에 직접 적용해보는 시간을 가지면서 연결하는 방법을 알았다 그리고 내일은 오늘 해결하지 못한 문..
나의 개발일지 20220109 TIL(Today I learned) - Websocket, socket.io Today I learned 오늘은 Websocket과 socket.io에 대해서 학습을 진행했다 학습을 진행을 하면서 polling, long polling, websocket, server sent event, webrtc등 실시간 통신에 대해서 알게 되었다 그 중 양방향 통신이 필요하고 socket 통신을 위한 전용 서버를 구축할 환경이 되는 곳에 오늘 배운 websocket을 사용한다 socket.io는 websocket을 기반으로 클라이언트와 서버의 양방향 통신을 가능하게 해주는 모듈이다 websocket을 사용해도 좋다 하지만 socket.io는 websocket보다 편의성이 좋아 개발하는 입장에서 사용하기 편하다 그리고 websocket을 지원하지 않은 곳에서 polling을 이용해 webs..
나의 개발일지 WIL(Weekly I learned) 2023-01-09 Weekly I learned 이번주는 저번주의 목표 중 팀프로젝트를 완성시키는데 너무 바쁜 주였다 자바스크립트의 특징인 this, callback, promise, async/await 등을 학습하지 못했다 그래도 팀 프로젝트를 목요일까지 완성시키고 금요일에 발표까지 잘 끝냈다 팀프로젝트를 하면서 access token, refresh token를 프로젝트에 사용해보고 3계층 아키텍처 패턴을 사용하면서 프로젝트에 적용하는 법을 배웠다 다음주는 socket.io를 제대로 학습하고 this, callback, promise, async/await, 클로저 등을 다시 꼭 학습할 계획인다 그리고 이번 팀 프로젝트에서 구현하지 못한 socket.io를 학습해서 팀 프로젝트에 적용해봐야겠다
나의 개발일지 20220106 TIL(Today I learned) - 팀프로젝트 회고록 Today I learned 오늘은 팀프로젝트의 마지막 제출과 발표의 시간이였다 오늘의 TIL은 팀프로젝트의 회고록으로 마무리를 할 생각이다 1. Keep (잘한점) GitHub 활용을 통한 협업 (Pull Requests)한 점 자주 소통하고 코드 리뷰를 자주 하면서 서로의 진행 상황을 빠르게 해결한 점 프로젝트를 설계를 자세하게 진행해서 변경 해야하는 부분이 있어도 최소한으로 변경할 수 있었던 점 프로젝트의 변경 사항이 발생하면 문서를 수정하고 공유하면서 팀원들이 모두 알 수 있게 한 점 일정을 정해서 최대한 일정에 맞게 프로젝트를 진행한 점 FE 부트스트랩을 사용해서 통일성을 가져간 점 2. Problem (문제점) FE부분과 서버의 연결이 부족한 부분 통합테스트를 구현하지 못한 부분 데이터베이스 ..