반응형

전체 글 67

node js 시작하며

비동기식 이벤트 처리 : 비동기식으로 동시에 처리가 된다. - 그래서 multi thread인가 찾아보니 node 내부적으로 여러 thread를 가지고 있지만 javascript 자체가 싱글스레드 기반이기 때문에 일반적으로 node도 single thread라고 한다고 함 - 즉 이벤트 IO들을 비동기로 처리하여 빠르게 처리하지만 Single thread 기반으로 함으로써 Multi thread가 가지는 문제로부터 자유롭다고 할 수 있음 코드 처리가 상당히 빠르다. 데이터를 주고 받을 때 버퍼링 방식을 사용하지 않기 때문에 거치는 곳이 없어 더 빠르게 처리 가능하다. - 비동기 이벤트 처리 원리 : node.js의 비동기 처리는 이벤트 방식으로 풀어낸다. 클라이언트 리퀘스트를 비동기로 처리하기 위해 이벤..

서버 2021.03.08

muuri로 Drag&Drop 만들기

- 일단 기억나는대로 까먹기 전에 정리해놓음 > Drag&Drop 구현 조건 좌측 영역에서 우측영역으로 Drag&Drop하고 우측 아이템 복사하는 것 처럼 같은 항목을 계속 드래그 해서 넣을 수 있음 이 때 우측 영역은 5개의 그룹으로 나누어서 보여줘야하며 5개 그룹간에는 Item을 드래그해서 옮길 수 없다. 우측의 5개 영역에서 좌측으로만 옮길 수 있으며 좌측의 Area는 Item을 넣을 수록 무한정으로 길어지게 구현하고 우측의 Area는 Scroll로 Max-height : 700으로 고정하여 안의 5개 드래그 그룹을 내부 스크롤로 보여주고, 리모컨처럼 스크롤을 내리면 우측 Area는 고정되어 보여지게 한다. 하나의 아이템에 대해서 Drag하기 전의 Item UI와 Drag하고 나서의 Item UI를..

개발 일반 2021.01.27

왜 함수형을 써야하는가?

- 필요성 동시성과 객체 지향을 동시에 해결하고자 하는 움직임에서 요구된 방식 대용량 데이터를 다룰 일이 점점 많아 지고 있는데 이러한 과정에서 매번 데이터를 객체를 변환하여 관리하는데 있어 부담이 커질 수 밖에 없음 모듈화 하기에 더 적합하다 할 수 있음 (이건 논란의 여지가 있다) Class단위로 분리하여 구조를 짜는게 더 어렵기 때문에 함수형이 더 작업하는데 있어 빨라질 수 있다. 함수형은 Input과 Output이 항상 있기 때문에 TDD를 하는데 있어 더 용이하다. - 선언형 프로그래밍 / 명령형 프로그래밍 - 함수형 프로그래밍의 가장 큰 특징이자 핵심은 Side effect가 없는 함수를 만드는 것임 a = 0 def example(): global a a += 1 - a가 항상 바뀔 수 있고..

개발 일반 2020.12.12

TDD를 하는 이유

- 이제 3년차 개발자가 되어가는 시점인 지금 바빠 죽을 것 같은 시기에 피토하면서 이렇게 TDD 강의를 듣는 이유 (이렇게 정리해야 나중에는 제대로된 개발을 할 수 있을 것 같다. ) - 일단 개발한 다음에 테스트 코드를 구현하자 절대 되지 않는다.. > 회사에서 일단 가만히 냅두질 않는다. 테스크 다 끝내면 바로 다음 테스크를 줄 것이고 그 중 반은 기존 코드와 기능이나 데이터가 연관되어 있는 테스크일 것이다. 그럼 더욱더 테스트 코드는 멀어진다. - 코드 구조도 달라진다. Production code가 중심이 된 개발 코드와 Test code가 중심이 된 개발 코드는 구조적으로 달라질 수 밖에 없음 (사실 둘다 극한의 객체지향적으로 개발하면 달라질 것은 없음. 필요한 function의 차이만 있을 ..

첫과제 정리

- 기능별로 Function을 따는 것에 대한 습관화가 필요하다. for loop 안에 if 쓰는 것을 지양하는 것처럼 - TDD에 대한 습관도 필요하다. > 나는 바로 Production code 작성 및 구조 짜는 것을 시작하는데 TDD는 말 그대로 test 코드를 먼저 짜고 test 코드를 돌리기 위한 구조를 짜는 것이 먼저 되어야 함 - 좋은 개발자가 된다는 것은 기똥찬 기능을 만들고 잘 만드는 것이 아닌 클린 코드, 유지보수하기 좋은 코드를 만드는 것이다. 그리고 다른 개발자와의 소통이 중요한 시대가 되었다. - 자기 주도적으로 개발하고 문제를 해결하는 능력 - 지금 회사에선 내가 스스로 문제를 인식, 발견하고 문제화를 하여 해결 방법을 찾고 개발을 하고 있다. - 내가 API를 개발하면서 홈쇼..

기타 2020.11.15

2주차 Q&A

- 3~5년차 개발자가 갖춰야할 역량은? : 어떤 하나의 업무가 맡겨지면 혼자 할 수 있다 판단이 되는 경력이다. 개발 외적으로는 후임들이 들어오는 시기이기 때문에 후임에게 영향력을 발휘해서 알고 있는 것을 공유하고 도와주고 동기부여를 하는 그런 역할이 중요하다 생각한다. 나중에 하려고 하면 기회는 없다. 나만 개발을 잘 한다고 시니어가 되는건 아니라 생각한다. 블로그나 이런 곳에 글을 쓰면서 지식 공유에 대한 연습을 하고 경험을 쌓는다. 알려주는 만큼 내 지식이 된다 . - 시키는 대로 개발하는 것이 아닌 개발에 대한 자신의 철학, 가치관에 따라 일하고 주도적으로 일하는, 즐겨서 일하는 직원을 원한다. - 어떤 서비스를 맡겼을 때 얼마나 자기가 집중해서 일을 하는가 ~ 난 아쉬웠던게 스타트업이다 보니 ..

step2 PR 리뷰

과제 요약 사칙연산 식이 들어오면 " " 으로 split하여 계산된 결과값 return 사칙연산 기호가 잘 못 들어오거나 식이 없으면 exception PR 주요 내용 enum class을 활용하자 function 뿐만이 아니라 class에도 기능이 집중되는 것을 방지하자 추상화를 활용하자 stream을 쓰면 for문과 if를 섞어 쓰는 것을 확 줄일 수 있다. enum class을 활용하자 사칙 연산 기호에 대해 else를 쓰지 말라고 해서 switch case를 통해 체크해서 사칙연산 function을 선택하여 돌아가게 만들었음 calculate라는 function을 가진 interface Operator을 만들어서 enum에 Operator를 받는 사칙연산 class 4개를 부여함 그리고 단순히 e..

시작하며

객체지향 원칙 하나의 Method에서는 한 단계의 들여쓰기만 한다. else 예약어를 쓰지 않는다. 모든 원시값과 문자열을 포장한다. 한줄에 점을 하나만 찍는다. 줄여쓰지 않는다. (축약 금지) 모든 엔티티를 작게 유지한다. 3개 이상의 인스턴스 변수를 가진 클래스는 지양한다. 1급 콜렉션을 사용한다. getter/setter/property를 쓰지 않는다. - 지금 내가 플젝하고 있는 코드는 지키지 않고 있다.. 상당히.. 이렇게 지키면서 가능할까 싶을 정도로 그나마 API 위주의 코틀린 플젝은 지키고 있는 것같은데 메인 프로젝트는 엄청나게 거리가 멀다. 근데 동시에 그렇기 때문에 지금 우리 메인 프로젝트가 리팩토링을 하기엔 한동안 개선 작업 없이 전부 붙어야 가능할 것이라고 생각하고 있나보다. (실제..

카테고리 없음 2020.10.30

TDD, Clean Code 시작하며

- '소프트웨어 장인' 책 읽어 보기 - 설계를 할 때 가장 재밌고 머리 쓰는게 신난다. 내가 생각한 것에 대해서 피드백 받는 것도 즐겁다. 내가 생각 못 한 내용을 들을 때 오.. 아.. 하는 맛 - 과제할 땐 힌트는 최대한 보지말고 구글링도 최소화하자 - 리팩토링은 TDD안에 속한 개념임 - 일주일에 4회 이상의 코드 리뷰 요청은 보내고 하루에 2시간은 투자해야 할 수 있는 미션 (2주에 미션 1개) - 코드 리뷰 마다 중요시하는 가치가 다를 수 있다. 코드의 효율성이 우선시 될 수 있고 코드의 가독성이 우선시 될 수 있다. 그건 결국 상황마다 다르기 때문에 이런 것들을 생각하고 판단하는 경험들이 짬바 - 각 과정 타이틀도 내용 있으니 이거 숙지하고 과제 시작하자 - 코딩 컨벤션은 그냥 인텔리제이 디..

개발 일반 2020.10.28

IP 관련 기술

- 스터디 한 것 중에 까먹기 전에 이건 먼저 정리해서 올려야할 것 같아 지금 바로 정리함 1. DNS ( Domain Name System) 사람이 모든 IP를 기억 할수 없음 → 사람이 할수 있는 언어를 IP로 변환해주는 방법이 필요해짐 도메인을 가지고 있는 서버는 기본적으로 도메인 서버를 가지고 있다. (도메인과 IP를 Mapping하는) 네임서버는 계층 구조를 가지고 있음 상위에 있는 서버가 하위에 있는 서버의 도메인 정보를 가지고 있음 도메인 recursive하게 찾아냄 - www.naver.com 주소를 찾으러 갈때 로직 순서가 1. com을 먼저 root DNS 서버에 가서 com을 가지고 있는 DNS서버 주소를 받아냄 -> 받은 DNS서버 주소로 가서 mydomain 도메인 IP 주소를 받..

네트워크 2020.10.19
반응형