네트워크 들어가기
·
Deep Dives/CS Fundamentals
컴퓨터 네트워크 기초 정리: 쉽게 풀어보는 네트워크 기본 개념안녕하세요! 오늘은 컴퓨터 네트워크의 기본 개념에 대해 함께 알아보려고 해요. 네트워크는 언뜻 복잡해 보이지만, 기본 개념을 이해하면 그렇게 어렵지 않답니다. 함께 하나씩 살펴볼까요?컴퓨터 네트워크란 무엇일까요?컴퓨터 네트워크는 크게 단말기와 네트워크 기기로 구성되어 있어요.단말기는 통신을 하는 주체예요. 우리가 일상적으로 사용하는 데스크톱 컴퓨터, 노트북, 스마트폰, 서버 컴퓨터 등이 모두 여기에 해당해요. 이들은 모두 무선이나 유선 네트워크 연결 단자를 가지고 있죠.가장 기본적인 네트워크 구성은 두 단말기를 직접 네트워크 케이블로 연결하는 것이에요. 하지만 이렇게 하면 단말기 두 대밖에 연결할 수 없어요. 세 대 이상 연결하려면 다른 방법이..
HTTPS와 SSL 인증서 SSL 동작방법
·
Deep Dives/CS Fundamentals
생활코딩 https 와 ssl 인증서 수업과 HTTP 완벽가이드 14장 보안 HTTP 를 정리한 내용입니다.공부자료를 남기기위한 목적입니다HTTP인터넷 상에서 정보를 주고 받기위한 프로토콜(양식과 규칙의 체계)클라이언트와 서버사이에 이루어지는 요청/응답 프로토콜암호화되지 않은 방법으로 데이터를 전송HTTPS보안이 강화된 HTTPHypertext Transfer Protocol Over Secure Socket Layer의 약자모든 HTTP 요청과 응답 데이터는 네트워크로 보내지기 전에 암호화된다.HTTPS는 HTTP의 하부에 SSL과 같은 보안계층을 제공함으로써 동작한다SSL 디지털 인증서클라이언트와 서버간의 통신을 공인된 제3자(CA) 업체가 보증해주는 전자화된 문서SSL 인증서의 장점 및 역할통신 내..
node xx.js 가 실행되지 않은 이유 트러블 슈팅
·
Deep Dives/문제 해결 (Troubleshooting)
문제 상황 -포맷 후 호이스팅을 테스트 해보기 위해 해당 하는 코드 를 입력하고 01.js 파일 console.log(score);score = 80;var score;console.log(score); node 01.js를 입력하여 undefined와 80을 기대하였으나 아무 응답이 없었다.해결 방법 cmd 입력후   시스템 로캘을 영어 미국이 아닌 한국으로 설정하고 세계 언어 지원을 위해 UTF -8 을 사용하니 해결이 되었다 !!
MongoDB Atlas Search
·
Deep Dives/Technical Notes
숏폼프로젝트의 검색기능을 강화 하고자 MongoDB 아틀라스서치와 Elasticsearch 에 대한 이야기가 팀내에서 나왔고1두가지의 공통점과  2.  차이점을 비교한후 3. 어떤 것을 선택했는지 4. 그것을 선택했을때 어떠한 장점이 있는지를 간단하게 서술하고자 합니다. 우선 검색 부분에서 몽고DB 와 아틀라스 서치의 비교 MongoDB Atlas Search는 전체 텍스트 검색 기능을 제공하지만, 복잡한 검색 시나리오를 위한 Elasticsearch만큼 기능이 풍부하거나 성능이 뛰어나지는 않습니다. 기본에서 중간 정도의 검색 요구 사항을 충족하려면 Atlas 검색으로 충분할 수 있습니다. 엘라스틱 서치와 몽고DB 의 주요 차이점 Elasticsearch는 주로 빠르고 복잡한 검색 쿼리, 특히 텍스트 검..
의사결정 PostgreSQL vs MySQL
·
Deep Dives/Technical Notes
데이터 베이스 선택의 중요성은 데이터베이스는 응용 프로그램에서 데이터를 저장, 검색, 수정 및 관리하는 데 필수적인 역할을 하기 때문입니다. 따라서 데이터베이스 선택은 애플리케이션의 성능, 확장성, 보안 등에 직접적인 영향을 미칩기 떄문입니다.그리하여 데이터베이스 선택은 단순히 기술적인 결정을 넘어서, 비즈니스 요구 사항을 충족시키고 장기적인 관점에서 애플리케이션의 성공을 지원하는 전략적인 결정입니다. 왜냐하면 올바른 데이터베이스 선택은 데이터 관리의 효율성을 높이고, 유지 관리 비용을 줄이며, 최종 사용자에게 더 나은 서비스를 제공하는 데 기여하기 때문입니다. 이번 쇼츠 프로젝트에서 관계형 데이터베이스 관리 시스템을 어떤것으로 선정할까 라는 고민을 했습니다.응답이 7만 6천으로 엄청나게 많지는 않지만 ..
프로젝트 보안 강화를 위한 Helmet과 다른 것들 비교 , XSS attack
·
Deep Dives/Technical Notes
XSS (Cross-Site Scripting)  XSS(Cross-Site Scripting) 이란 웹 애플리케이션에서 일어나는 취약점으로 관리자가 아닌 권한이 없는 사용자가 웹 사이트에 스크립트를 삽입하는 공격 기법입니다. XSS공격 역시 OWASP Top10에 포함되어 있습니다. 대부분 사용자가 글을 쓰고 읽을 수 있는 게시판에 많이 발생하지만, 사용자의 입력 값을 웹 페이지에 보여주는 곳에서도 발생합니다. 악의적인 사용자가 C&C 서버로 리다이렉션 하기 위해 리다이렉션 스크립트를 주입하여 중간 경유지로 활용하기도 하고, 사용자의 쿠키를 탈취하여 세션 하이재킹(Session Hijacking) 공격을 수행하기도 합니다. 위의 사진은 XSS 공격중 Persistent(or Stored) XSS Att..
동영상 쇼츠 서비스 프로젝트 기술적 의사 결정 part 2 테스트 도구편 Artillery를 선택한 이유 vs K6 vs Locust 그리고 APM 을 선택한 이유 vs 다른 도구들
·
Deep Dives/Technical Notes
우선 동영상 쇼츠 서비스 프로젝트 기술적 의사결정을 하기 이전 성능 테스트,부하 테스트,스트레스 테스트가 왜필요한지에 대해서 조사하고 그렇다면성능 테스트 부하테스트 스트레스테스트에 대해서 조사한 것들 먼저 작성 해보겠습니다 . 이후에 관련한 테스트 도구들을 비교해보고 의사결정 이유까지 작성해보겠습니다.애플리케이션 성능 테스트의 필요성애플리케이션 성능 테스트는 시스템의 안정성과 확장성을 보장하기 위해 필수적인 과정입니다. 단순히 기능이 정상적으로 동작하는지 확인하는 것을 넘어, 실제 사용자 환경에서 애플리케이션이 어떻게 반응하고, 예상치 못한 부하나 오류 상황에서 얼마나 안정적으로 동작하는지를 확인할 수 있습니다. 특히, 현대의 복잡한 애플리케이션 환경에서는 단순 테스트만으로는 알 수 없는 다양한 문제를 ..
Node.js백 엔드 서버 개발자 주니어의 동영상 쇼츠 서비스 프로젝트 기술적 의사 결정
·
Deep Dives/Technical Notes
BackEnd1. NestJs를 선택한이유 vs Express1. 구조화와 확장성NestJS는 모듈 기반 아키텍처를 제공하므로, 프로젝트를 기능 단위로 잘게 나누어 관리할 수 있습니다.동영상 업로드, 처리, 검색, 사용자 관리 등의 기능을 모듈로 분리하여 개발과 유지보수를 쉽게 할 수 있습니다.쇼폼 콘텐츠 프로젝트는 기능 추가(예: 추천 알고리즘, 댓글 기능 등)가 빈번할 가능성이 높으므로, NestJS의 구조화된 방식이 장기적으로 유리합니다.Express는 구조를 사용자가 설계해야 하며, 프로젝트 규모가 커질수록 코드 복잡도가 증가합니다.2. TypeScript 지원NestJS는 TypeScript를 기본 지원하며, 강력한 정적 타입 검사와 IDE 자동 완성 기능을 제공합니다.동영상 메타데이터, 사용자..