일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- node
- 스크럼 마스터
- nodejs
- 스레드
- 소켓
- scrum
- 자바
- 노드js
- java
- 개발자
- 특징
- C++
- RDF
- 이벤트 루프
- Groovy
- Stream
- ngrinder
- 예제
- node.js
- 스크럼
- socket.io
- Router
- Knowledge Graph
- benchmark
- 지식 그래프
- 노드
- express
- Django
- Python
- 파헤쳐보자
- Today
- Total
목록분류 전체보기 (55)
라봉이의 개발 블로그
서론 나는 현재 근무하는 회사에서 백엔드 개발자로 일하고 있다. 회사에 입사하고 1년 정도 됐을 때, 팀에서 스크럼 마스터(Scrum Master) 역할을 맡을 기회가 있어서 그 역할에 자원했다. 무언가 새로운 시도를 해보고 싶었기 때문이기도 했고 팀이나 팀원 매니징에도 관심이 있었기 때문이다. 처음에 스크럼 마스터 역할을 부여 받았을 땐 구체적으로 무엇을 해야하는지 전혀 감이 오지 않았다. 대학도 컴퓨터를 전공하고 일도 개발자로 시작한 나는 명시적이고 구체적인 일만 할 줄 알았지 소프트 스킬이 필요한 업무는 해보질 않았기 때문이다. 다행히 팀의 Product Owner가 간단한 가이드 문서를 만들어줬고 그걸 보면서 차근차근 시도해보기 시작했다. 그래서 그 이후로부터 약 1년 동안 백엔드 개발도 하면서 ..
서론 전 직장에 근무할 땐 미팅을 하던 뭘 하던 회고를 전혀 하지 않았습니다. 그렇기 때문에 회고가 중요한지 전혀 몰랐었습니다. 이직하고 나서 다니고 있는 현 회사에서는 미팅을 진행할 때마다 회고를 진행합니다. 회고를 하고나서 느낀 점은 회고를 진행하게 되면 현재 미팅의 문제점이 무엇인지, 잘하고 있는 점이 무엇인지 객관적으로 알 수 있게 됩니다. 개선하고 유지해야 할 부분이 명확해지기 때문에 다음에는 더 나은 미팅이 될 수 있습니다. 회고는 현재보다 더 성장하기 위한 최고의 수단이라는 것을 이 회사를 다니고 나서 깨닫게 됐습니다. 최근 개발자들이 자신들의 ‘개발자 회고’를 많이 작성하는 것 같습니다. 연차 성별 상관없이 많이들 작성하길래 언젠가 나도 한번 써봐야지 생각만 하다가 시간이 이렇게까지 흘러버..
안녕하세요. 현재 저는 레몬베이스에서 Backend Engineer로 근무 중입니다. 회사에서 업무를 볼 때 저희는 스쿼드 단위 조직에서 스크럼 방식을 통해 IT 서비스 기능을 개발하고 있습니다. 약 1년이라는 기간 동안 저와 제 팀이 스크럼 방식을 어떻게 개선했는지에 대한 글을 회사 팀 블로그에 게시했습니다. 많은 관심 부탁드립니다. 제품 스쿼드의 스크럼 프로세스 개선기 1부
enum 클래스 enumerate는 열거형이라고 불리며 고유한 상숫값에 연결된 기호 이름(멤버)의 집합입니다. python은 열거형을 지원하기 위해 enum 클래스가 존재합니다. 아래는 열거형을 만드는 예시 코드입니다. class LanguageType(Enum): C = 'c' PYTHON = 'python' JAVA = 'JAVA' django와의 호환성 하지만 python의 enum 클래스는 django orm과 호환성이 좋지 못합니다. 무슨 의미인지 아래 코드를 보면 알 수 있습니다. class TestType(Enum): A_TYPE = 'a_type' B_TYPE = 'b_type' C_TYPE = 'c_type&#..
서론 제가 현재 재직 중인 회사에서는 웹 어플리케이션 서버를 개발하기 위해 Django 스택을 사용하고 있습니다. Django는 Web Server가 아니고 Web framework이기 때문에 django를 단순히 python으로 실행한다고 서버 어플리케이션이 되는게 아닙니다. 때문에 Django를 동시 다발적으로 실행해 여러 클라이언트의 요청을 받아 Django에게 요청을 넘길 수 있는 WSGI 서버를 사용해야 합니다. 그렇기 때문에 저희 회사는 Django와 Gunicorn을 같이 사용하고 있습니다. gunicorn은 python의 prefork 방식의 웹 서버입니다. prefork란 이름 그대로 http 요청을 처리하기 위해 미리 자식 프로세스를 여러개 띄워서(fork) 동시에 처리하는 방식을 의미..
클라우드 컴퓨팅의 정의 NIST(미국 국립표준 기술 연구소)에 의하면 클라우드 컴퓨팅(Cloud Computing)은 최소한의 관리나 서비스 제공자의 상호 작용으로 신속하게 프로비저닝 및 출시할 수 있는 구성 가능한 컴퓨팅 리소스(예: 네트워크, 서버, 스토리지, 애플리케이션 및 서비스)의 공유 풀에 대한 유비쿼터스하고 편리한 온디맨드 네트워크 액세스를 가능하게 하는 모델. 참고: [NIST] 클라우드 컴퓨팅 정의 클라우드 컴퓨팅의 5가지 특성 온디맨드 셀프 서비스(On-demand Self Service) 소비자는 각 서비스 제공자와 상호작용 할 필요 없이 필요에 따라 컴퓨팅 기능을 자동으로 프로비저닝 할 수 있습니다. 광범위한 네트워크 엑세스(Broad Network Access) 기능들은 네트워크를..
Socket.io Socket.io란 WebSocket을 기반으로 클라이언트와 서버의 양방향 통신을 가능하게 해주는 모듈입니다. Socket.io를 사용하기 위해선 서버와 클라이언트 모두 Socket.io 라이브러리가 필요합니다. socket.io 문서를 보면 client에서 socket.io 라이브러리를 html script로 불러올 때 다음 코드를 작성하도록 하게 합니다. 문제는 Node.js 서버 개발 시에는 저런 파일을 정적(static)으로 제공한 적도, 저 파일을 만든 적도 없는데 사용할 수 있다는 것입니다. socket.io 서버 위에서 작성한 코드는 웹 클라이언트에서 상대 경로에 있는 socket.io.js 파일을 서버 측에 요청하는 코드입니다. 그렇다면 Node.js 서버에서는 stati..
데이터를 가져오는 함수 개발할 때마다 데이터를 가져오는 함수명을 지을 때 어떻게 이름을 쓸 지 고민한 경험이 있습니다. 함수 이름 앞에 get을 쓸 지, find를 쓸 지 고민한 적이 많았는데, 이번에 정리하려고 합니다. get vs find 기준 값을 가져오는 시간 기준 get: 데이터를 가져오는 시간이 짧을 때 사용 find: 검색 프로세스나 연산 알고리즘을 사용하며, 데이터를 가져오는데 걸리는 시간이 좀 더 길다. 데이터 가져오는 데 오류 여부 get: 데이터를 가져오는데 오류가 발생하지 않는다. 비교적 간단한 로직 find: 데이터를 가져오는데 오류가 발생한다. 비교적 복잡한 로직 따라서 정리하자면 다음과 같습니다. get을 사용하는 경우 데이터를 가져오는 시간이 짧다. 로직이 간단하다. 데이터를..
Nestjs란 Nest.js는 nodejs에서 새로 떠오르는 프레임워크입니다. 공식 페이지를 가보면 Nestjs를 다음과 같이 소개하고 있습니다. Nestjs는 효율적이고, 안정적이며, 확장에 용이한 서버 어플리케이션을 구축하기 위한 진보된 nodejs 프레임워크입니다. 효율성 개인적으로 써보면서 nestjs가 효율적이라고 느꼈던 점은 규모가 있는 프로젝트에서의 생산성이라고 생각합니다. nestjs 문서의 Nestjs 프레임워크의 철학 구문을 보면 나타나 있습니다. nestjs는 typescript의 적극적인 도입, DI(Dependency Injection), IoC(Inversion of Control), Module을 통한 구조화 등의 기술을 통해 생산적인 개발이 용이합니다. 안정적 Nestjs는 ..
이전 포스트: node.js express 5. middleware란? 미들웨어 정의, 미들웨어 유형 저번 포스트에는 express의 미들웨어 개념을 알아봤습니다. (시간이 꽤 오래 지나버렸다..) 이번에는 express의 오류 처리 방법에 대해 알아보도록 하겠습니다. 이 포스트에 대한 내용은 express 공식 페이지에서 더 자세하게 알아볼 수 있습니다. express 오류처리 에러 핸들링 404 에러 처리 express는 미들웨어 중간에 오류가 발생하면 다음 에러 처리 미들웨어로 error 객체를 넘겨 error를 처리할 수 있도록 만들었습니다. 다음 코드는 app.js의 맨 밑에 있는 코드입니다. // 라우터 등록 app.use('/', indexRouter); app.use('/users', us..