웹
-
팀워크를 위한 모노레포(Monorepo) 시스템 구축, 그리고 회고개발 블로깅/팀 문화 및 시스템 2022. 5. 30. 00:34
꽤 오랜 시간 동안 모노레포 이전 및 안정화 작업을 계속 진행해왔다. 그래도 이제는 상대적 주요 프로젝트들은 모두 모노레포로 이전이 완료되었고, 팀원들이 이제 모두 모노레포 내에서 작업이 가능한 수준으로 안정화를 시키게 된 것 같다. 콴다 팀 블로그에도 해당 블로그 글을 쓰긴 했지만, 내 스스로도 좋은 경험 및 큰 성장 과정이 되었던 것 같아서 내 블로그에도 기록을 남겨보고 싶어 이렇게 한번 더 작성을 해본다. (비록 내용이 거의 중복이 되겠지만..) 우리 팀은 이번 모노레포를 통해 새로운 팀워크 방향성이 생기면서, 이를 통해 향상된 팀 협업 요소들을 정리해 보려고 한다. 우선 그전에, 우리가 어떤 계기로 인해 팀 전체가 모노레포 시스템을 이용하기로 결정하게 되었는지 배경을 먼저 소개하고 싶다. 모노레포..
-
자바스크립트 메모리 관리(Garbage Collection)에 대해 알아보자개발 블로깅/Javascript 개념 2020. 9. 4. 17:06
자바스크립트는 언어 특성상 메모리를 자동으로 관리하도록 동작하기 때문에 개발자가 '메모리 관리'에 대해 많이 소홀해질 수 있다는 특징을 가지고 있다. 서비스의 성능 관리를 신경 쓰려면 자바스크립트 내에서 메모리 관리가 어떻게 이루어지고 어떻게 메모리에 신경을 써야 하는지 파악할 필요가 있다. 그래서 이번 블로그에서 자바스크립트 내에서 메모리 관리 핵심 요소인 가비지 컬렉션(Garbage Collection)과 개발자가 메모리 효율성을 높이기 위해서 주의해야 할 점들에 대해 한번 정리해 보려고 한다. 기본적인 메모리 사용 우선 C언어와 같은 로우(Low) 레벨 언어에서는 메모리 관리를 위해 malloc()과 free()를 사용한다. #C언어의 메모리 할당 #include #include // malloc,..
-
[2019.06.09] 4주 프로젝트 2주차를 마감하며...핵인싸 개발자의 길/코드스테이츠 Immersive Course 2019. 6. 9. 22:26
큰일났다...남은 기간에 비해 할 일이 너무 많이 남았다...ㅠㅠㅠ 이번주에는 참...중간에 현충일로 출근하지 않고 집에서 하루종일 작업을 했는데, 고놈의 TypeORM이 또 말썽을 피워서 삽집만 잔뜩했네.. #이번주 백엔드 진행사항 소셜 로그인 및 회원가입 기능 완료 및 DB 저장 AWS EC2 배포 및 API 에러사항 체크 서버 URL Restful 형식으로 리펙토링 데이터베이스 스키마 리펙토링 서버 환경변수 설정 - 로컬버전은 TypeScript형식, 배포버전은 빌드된 JS형식 메일 발송기능 구현 그리고 어제 저녁부터 지금까지 lambda를 이용한 이미지 리사이징 작업 중인데... lambda 사용법부터 삽질중인데 정말 잘 안된다...ㅋㅋㅋ 하다보니 serverless 프레임워크까지 쓰게 됐다. 로..
-
[2019.04.27] Promise 꿀팁 - util 모듈 promisify()개발 블로깅/Server&DataBase 개념 2019. 4. 27. 15:53
node.js의 내장함수인 util모듈 중에 promisify라는 함수가 있다. 이것을 쓰면, 비동기로 돌리려는 함수를 promise로 감싸주지 않고 사용할 수 있다. 그래서 지금부터 이 Promise를 조금 더 잘 다룰 수 있도록 하는 util promisify()함수를 소개해보려고 한다. 안녕하세요~! // hello.txt const fs = require('fs'); fs.readFile('./hello.txt', 'utf-8', (err, result) => { console.log(result); // '안녕하세요~!' }); // util.js 위와 같이 hello.txt와 utiltest.js 파일이 있다. util.js은 node.js 내장함수인 fs모듈을 이용하여 hello.js파일의 ..
-
[2019.04.24] 실시간 통신 API - webSocket개발 블로깅/Server&DataBase 개념 2019. 4. 24. 23:55
웹소켓이라는 통신 모듈을 사용하면, 꼭 클라이언트가 요청을 하지 않아도 서버 내에서 특정 데이터 변경이나 외부에서 이벤트를 발생하면, 클라이언트에게 신호를 보내는 방식이 있다. 이 방식을 통해, 기존에 서버에게 주기적으로 요청을 보내서 받아왔던 실시간 데이터를, 소켓을 이용하여 서버에게 응답을 받으면 된다. 소켓 모듈 설치 npm i -D socket.io // 서버 전용 소켓 npm i -D socket.io-client // 클라이언트 전용 서버 전용과 클라이언트 전용 소켓 모듈이 따로 있다. # websocket 특징 get, post등과 같은 http method를 가지지 않는다. 특정 통신을 위한 키를 가진다. 데이터를 전달할 때, stringify 등의 데이터 처리를 안해줘도 된다. , con..
-
[2019.04.24] API 통신 방식 -express개발 블로깅/Server&DataBase 개념 2019. 4. 24. 20:56
express방식을 이용하면 http 방식보다 조금 더 편리하고 강력하게 서버 기능을 구현할 수 있다. 확실히 express 방식으로 구현하니까 소스코드가 엄청나게 줄어들었다. # 통신을 위한 틀 var express = require('express'); const cors = require('cors'); var app = express(); app.use(cors()); app.use(express.json()); app.get('/getTest', function(req,res){ res.send(JSON.stringify({a:'pass1'})) }) app.post('/postTest', function(req,res){ console.log('---->',req.body); res.send(..
-
[2019.02.22] React로 Twittler 작업 완성..(하루만에..대박!)핵인싸 개발자의 길/코드스테이츠 Pre Course 2019. 3. 23. 01:07
대박...오늘 아침까지 리액트 첫번째 프로젝트 작업한거 개념 정리하고, preCoure 과제로 진행했던 트위틀러를 똑같이 리액트 방식으로 구현해 보았다.솔직히 내일까지는 걸릴 줄 알았는데, 오늘 점심부터 작업해서 방금 구현을 다 끝냈다! # 기존의 과제 때 구현했던 페이스북 형식의 twittler를 React 방식으로 구현한 모습 외관 상으로는 변경된 점이 당연히 없다. 정말 많이 변한 부분은 안의 소스코드 내용이다. # 리액트로 작성한 소스코드 기존의 html, css, javascript로만 작성했던 것을 거의 뒤집어 엎었다. 리액트 방식으로 작업을 하니 코드 구조가 전체 다 바뀌고, 데이터를 주고받는 형식, 렌더링 방식 등이 전부 달라서...작업 중에 정말 많이 헷갈렸다. 그래도 첫번째 작업한 전화..
-
[2019.03.06] 비동기 처리방식 Promise와 Async await개발 블로깅/Modern script 2019. 3. 6. 16:54
비동기적 통신방식인 AJAX가 있는데, 그것 말고 비동기적 처리 방식인 Promise가 따로 있다. 사실 둘의 무슨 차이인지는 모르겠다.AJAX는 통신이고, Promise는 함수처리를 비동기적으로 하는 것일까..? 우선 Promise가 향후에 많이 쓰여질 방식이라고 하는 것 같아, 사용방식에 대해 공부를 해봤다. # Promise 사용법 기본적인 사용 예제12345678910111213function delayP(sec){ return new Promise((resolve, reject)=>{ setTimeOut(()=>{ resolve('run!'); }, sec * 1000); }} let finalVal = delayP(1).then((result)=>{ console.log(result); ret..