코규리
article thumbnail
[Tool] Notion, Obsidian 그리고 OneNote
✏️ 개발 공부/ETC 2024. 1. 8. 23:50

Notion이 질렸다Notion 3년 차, 토이 프로젝트 스페이스만 서너 개를 운영해 봤다. 협업할 때야 다 함께 편집하기에 편하고 링크 공유도 하며 좋았지만, 개인 문서를 정리하기에는 부적합했다. 개인 문서를 작성하기 위해 그 각각의 특성을 생각해서 가장 좋은 템플릿 구성을 고민하는 나를 지난 3년간 봐왔으니 보다 대충 문서를 정리할 수 있는 툴을 찾아야 했다. Obsidian이 천재 도구라던데Youtube에서 니꼬가 말했다. Obsidian이 최고라고.많은 플러그인들을 선택적으로 커스텀하여 쓸 수 있는 이 Obsidian은 생각보다 꽤 불편했다. 처음엔 '뇌 지도'라는 트리 구조의 뷰가 매력적이어서 한 일주일 만에 문서 50여 개를 만들고 훗날 거대하고 멋있는 뇌 지도를 꿈꿨는데, 마크다운 기반의 문..

article thumbnail
[ETC] 오픈채팅방은 1:N 통신일까 N:M 통신일까?
✏️ 개발 공부/ETC 2023. 12. 2. 05:34

주관적인 의견입니다. 1:N? N:M? 그저께 싸피에서 마지막 오프라인 날, 각자의 1년 간 활동을 정리할 시간이 있었다. 그 날 언니가 하던 말. 🤱🏻 : 으잉,, 오픈채팅 구현에서 난 1:N 통신을 구현한걸까, N:M 통신을 구현한걸까? 🍊: 수신 발신 입장에선 1:N 같기도 하고.. 👦: N:M에 가까운 것 같은데? 다수가 다수한테 보내잖아. 흐음으흠음 🍊: 내가 알아볼게오 1:N 이라 볼 수 있는 이유 개별 사용자 관점에서, (가령 카카오톡같은) 오픈채팅방은 1:N 통신으로 볼 수 있다. 이 경우, 한 사용자(1)이 오픈채팅방 내 다른 여러 사용자(N)에게 메시지를 보내고 그 반대의 상황도 동일하게 이루어진다. 각 사용자는 자신과 다른 모든 참가자 간의 통신에서 '1'의 역할을 하며, 동시에 'N..

article thumbnail
1. 리액티브 프로그래밍을 위한 데이터베이스 선정
✏️ 개발 공부/ETC 2022. 9. 27. 18:29

💬 목표 한 두달 전부터 아른 거리던 프로젝트의 겉면을 좀 세분화 해봤다. 손이 심심할 때마다 빌드업하기에 좋을 것 같았다. 혼자 진행하게 될테지만, 그만큼 유연할 설계/구현/테스팅/배포 등의 과정 안에서 지난 흩어진 경험들을 모아보련다. 명확한 결과물을 보고 싶다. 순전한 개발사항들 보다도 병행하는 개발관련 공부내용도 함께 같은 카테고리에 집어넣을 것이다. 그래야 더 기억날 것 같으니까. 💬 리액티브 프로그래밍와 데이터 액세스 블로킹과 리액티브 웹 컨트롤러, 서비스 계층을 리액티브 방식으로 만들었으나 블로킹 방식의 데이터베이스 호출 시 리액티브는 무너진다 블로킹 방식의 데이터베이스 호출을 하는 스레드는 응답을 받을 때까지 다른직업을 못하고 있기때문이다 리액터 기반 Application은 스레드를 많이 ..

article thumbnail
[TS] TS기반으로 블록체인의 작동 이해하기
✏️ 개발 공부/ETC 2022. 7. 1. 14:39

니코씨와 함께하는 블록체인 개발 #1 package.json에 index.js 실행 명령어 설정 비효율적으로 프로젝트를 실행시켜보자 ... "scripts": { "build": "tsc", "start": "node build/index.js", }, ... 1. npm run build (ts한테 컴파일시키고) 2. npm run start (컴파일된 js파일 작동시키고.) 더 나은 방법으로 가자 // in terminal npm i ts-node // in package.json ... "dev" : "ts-node src/index.js", ... 원한다면 이 시점즈음에 nodemon도 설치하여 자동 커맨드 실행을 해주자 "dev": "nodemon --exec ts-node src/index.t..

article thumbnail
[TS] TS기반 프로젝트 생성과 lib이해하기
✏️ 개발 공부/ETC 2022. 7. 1. 04:14

니코씨와 함께하는 타입스크립트 기반 프로젝트 러닝 #1 프로젝트 빌딩 npm 명령어 실행 npm init -y //이후 package.json에서 javascript 설정 코드 삭제 npm install -d typescript // ts 라이브러리 설치 경로 및 파일 생성 src > index.ts #2 typescript 설정 config파일 생성 touch tsconfig.json //혹은 직접 만들기 해당파일을 통해 VSCode가 Typescript를 인식하게 됨, 이후 자동완성기능 제공 config파일 작성 // ts : Compiler { "inclue": [ // src의 모든 파일을 확인하도록 명시 "src" ], "compilerOptions" : { // Ts -> Js로 컴파일 시킬 ..

article thumbnail
[TS] TypeScript맛보기
✏️ 개발 공부/ETC 2022. 6. 30. 02:17

니코의 타입스크립트 강의를 하나 들어보자. #1 세팅 2. 노드버전 확인 node -v // 18.0.0 임을 확인 1. Visual studio Code TypeScript도 VSC도 MS가 만들었으니 찰떡궁합으로 써보자. #2 TypeScript 사용해보기 The starting point for learning TypeScript Find TypeScript starter projects: from Angular to React or Node.js and CLIs. www.typescriptlang.org 작동방식 1. 개발자가 코드 작성 2. 타입스크립트가 코드 확인 3. JS를 통한 컴파일 시점 이전에 자바스크립트의 기존의 잠재적 오류가능성을 방지 => TS가 런타임에 작동되는 것이 아니다 예시..

article thumbnail
[용어] Linux와 Daemon
✏️ 개발 공부/ETC 2022. 6. 23. 01:38

💬 용어정의 Deadmon = 유령 항상 실행되고있다 ls, mkdir, rm 등: 필요에 따라 키고 끄는 프로그램 Server 등: 항상 켜져있는 프로그램(Daemon) 사용자가 WebPage(Naver, Daum 등)에 접근하는 것 💬 Daemon 실습 1️⃣ Rinux 환경 준비 2️⃣ Apache WebServer 설치 sudo apt-get install apache2 cd /etc/init.d/ # 설치 프로그램 확인을 위한 경로 이동 /etc/init.d$ ls # Demon 프로그램들이 존재하는 디렉토리 3️⃣ Apache 실행 sudo service apache2 start # apache2 실행 ps aux # 현재 실행되고 있는 프로그램의 리스트 출력 ps aux | grep apac..

article thumbnail
[개발/HTTP] 요청 데이터가 없다면 상태코드를 어떻게 할까?
✏️ 개발 공부/ETC 2022. 4. 9. 21:40

문제사항 Get 요청이 들어왔다 요청을 보내는 path까지는 알맞으나, 데이터가 없으면 어떤 코드를 내보내야할까? http://dblab112.org/request/member?name=gimgu 200, 접근 url자체는 알맞으니 요청성공(200)을 안내하고 Empty body를 반환한다 400, 잘못된 요청임을 표시한다 404, 리소스가 잘못된 요청임을 표시한다 400 vs 404 에 대한 의견이 분분하다 200 OK + Empty Body The HTTP **200 OK** success status response code indicates that the request has succeeded. A 200 response is cacheable by default. 200(ok)는 GET, PO..

article thumbnail
[개발] Rest API, Spring으로 Category 구현하기 (1)
✏️ 개발 공부/ETC 2022. 3. 24. 11:16

지난 3개월동안의 프로젝트 개발팀 4인은 1주일단위의 스프린트를 계획하여 오늘까지 개발을 진행했다 겨울동안 코드베이스를 맡은 선배가 Spring Security/JWT, 자체 알고리즘 제작, Swagger Docs, 로그인/회원가입등을 구현하였다. 그리고 min-0 동생이 같이 Oauth2와 docker환경의 서버를 준비했다. 그리고 JHJ는 각종 테이블설계와 TDD를 위한 사전조사, API 설계를 도맡았다. 나같은 경우는 log(log4j2)쪽과 이에 대한 mongoDB를 연동을 위해 JPA 이해를 기반으로 CRUD구현과 테스트, rest 원칙을 기반으로 API를 설계하기 등을 맡았다. 우리의 목적은 크게 주서비스에 대한 만족도 높은 큐레이팅인데, 그 전에 기본적인 API구현을 다 끝내는 것이 leve..

article thumbnail
[nodeJS] 비동기, 동기에 대한 이해 (ft.callback)
✏️ 개발 공부/ETC 2022. 3. 15. 21:09

⚑ Node의 기본적인 특징 기본특징 비동기 방식을 이용하는 이벤트 기반 입출력 모델(Event Driven, Non-blocking I/O model) 가볍다, 효율적이다 많은 데이터를 주고받는 실시간 프로그램에서 큰 효과가 발휘된다 Chrome과 사용하는 것이 궁합에 맞다 기존의 인터프리터(코드 한 줄씩 해석)방식에선 속도 저하가 발생하였었음 크롬의 *V8엔진은 JS코드를 native코드로 변환하여 실행하여 속도가 향상됨 server동작을 주로 함 (socket, HTTP프로토콜을 통한 데이터 송수신 기능을 포함함) *V8엔진 필요한 기능을 병렬로 실행하는 ‘thread pool’ & 이벤트를 받아 처리하는 ‘event loof’ 존재 네트워킹 기능을 담당하는 Socket, http 라이브러리 존재 ..

article thumbnail
[용어] 네트워크에서 Payload의 뜻
✏️ 개발 공부/ETC 2022. 3. 12. 20:24

Payload 데이터와 함께 전송되는 데이터 중에서, 헤더 메타데이터 등을 제외한, 사용하는데에 있어 전송의 근본적인 목적이 되는 데이터의 일부분 큰 데이터 덩어리 중에 내가 근본적으로 원하는, 관심있는 데이터 전송 행위의 본래 의도 용어 사용 목적 프로그래밍에선 주로 Message potocols중에 protocal overhaed와 원하는 데이터를 구별할 때 사용된다 컴퓨터 보안에서 멀웨어의 일부를 뜻한다 웜, 바이러스, 트로이목마 등의 해로운 소프트웨어 분석이 그 소프트웨어가 주는 피해를 의미함

article thumbnail
[JS] JS의 기본 문법 (변수, 식별자, 객체, 심볼, 문자열)
✏️ 개발 공부/ETC 2022. 3. 12. 20:05

⚑ 변수와 상수 let, const 변수보다 상수가 권장되어야지~ ETRI 기억나지, 규리야? 예외는 있지. 루프라든지. ⚑ 식별자 이름 식별자: 변수, 상수, 함수의 이름 식별자 작성 조건: 글자, $, _ 로 시작할 것 js는 달러기호를 특수문자로 사용하지 않는다 유니코드 문자 가능 ex) Ʃ, Ò 예약어 사용 불가 camelCase, snake_case 언급 cf) 리터럴 = 찐 값. (변수에 삽입된 찐 값) ⚑ 원시타입과 객체 원시타입: 숫자, 문자열, 불리언, null, undefined, 심볼 js의 내장된 객체 타입: Array, Date, RegExp, Map&WeakMap, Set&WeakSet Number(숫자와 대응), String(문자열), Boolean(불리언) 이 세 가지는 대응..