분류 전체보기81 2. JRE와 JDK의 차이점 JRE JRE : Java Runtime Environment의 약자로, 직역하자면 자바 실행 환경이다. Java Virtual Machine이라 불리는 JVM와 자바 실행에 필요한 클래스 라이브러리 등을 포함하고 있어 JRE를 통해서 자바 실행을 지원받을 수 있다. 다만 JRE는 개발에 필요한 요소들을 들고 있지 않다. 따라서 개발을 하기 원한다면 JRE는 옳은 선택이 아니다. JDK JDK는 Java Development Kit의 약자로 자바 개발 키트이다. JDK는 자바 어플리케이션을 개발하기 위한 도구를 지원한다. 대표적인 예시가 자바 컴파일러(javac), 자바 소스 코드의 코드 문서를 생성하는데 도움을 주는 javadoc, 일종의 압축 파일로 java기반 아카이브파일인 jar의 실행 등이 있다.. 백엔드 개발자라면 대답해야 할 100가지 질문 2023. 7. 17. 1. SOLID 원칙 ✏️로버트 마틴이 클린코드를 지향하며 고안한 객체지향의 5가지 원칙을 통틀어 객체지향 5원칙(SOLID)이라 칭한다. 일단 한번 보면 개념은 알아듣긴 하지만 막상 실현하려면 생각보다 어려움이 따른다. SRP, OCP, LSP, ISP, DIP - 5개의 원칙의 앞글자를 따서 SOLID라고 부른다. 🌟SRP 🌟OCP 🌟LSP 🌟ISP 🌟DIP ✍️SRP란? SRP란, Single Responsibility Principle(단일 책임 원칙)으로 '한 클래스는 하나의 책임만 가져야 한다.'는 뜻이다. 여기서 하나의 책임이라는 표현은 조금 모호하게 들릴 수 있다. 이는 문맥과 상황에 따라 달라지며 클 수도 있고 작을 수도 있다. 중요한 것은 "변경"이다. 변경이 있을 때 파급효과가 적으면 단일 책임 원칙을 잘.. 백엔드 개발자라면 대답해야 할 100가지 질문 2023. 7. 15. 네이버 메인 페이지의 트래픽 처리 - 마무리 지금까지 네이버가 메인 페이지에서 발생하는 트래픽을 어떻게 처리하는지 총 서론, 본편 1, 본편 2로 나누어 살펴보았다. 서비스 아키텍처 모식도를 다시 한번 살펴보며 정리하자. 🔔 서비스 요구사항 🔔 ❗어떤 서버로 접속해도 동일한 내용을 보여 주어야 하며, 특정 상탯값(사용자의 로그인 여부 등)에 의존하지 말아야 한다. ❗ 무슨 일이 있어도 사용자에게 서비스가 제공되어져야 한다. => 브라우저에 빈 페이지가 나타나선 안된다. => 메인 페이지에서 연동하는 외부 시스템은 늘 접속 불안정을 가정하고 빠른 실패 전략을 실행한다. ❗ 트래픽 증가에 탄력적으로 대처할 수 있어야 한다. => 트래픽이 폭주할 때 서버 증설만으로도 대응할 수 있어야 한다. => 각 컴포넌트(Web server, WAS)의 효율성을 극.. 기술블로그 2023. 7. 13. 네이버 메인 페이지의 트래픽 처리 - 본편 2 네이버 메인 페이지의 트래픽 처리 - 본편 1에서 정리한 네이버 메인 페이지의 서비스 요구사항과 기술 스택은 다음과 같다. 🔔 서비스 요구사항 🔔 ❗어떤 서버로 접속해도 동일한 내용을 보여 주어야 하며, 특정 상탯값(사용자의 로그인 여부 등)에 의존하지 말아야 한다. ❗ 무슨 일이 있어도 사용자에게 서비스가 제공되어져야 한다. => 브라우저에 빈 페이지가 나타나선 안된다. => 메인 페이지에서 연동하는 외부 시스템은 늘 접속 불안정을 가정하고 빠른 실패 전략을 실행한다. ❗ 트래픽 증가에 탄력적으로 대처할 수 있어야 한다. => 트래픽이 폭주할 때 서버 증설만으로도 대응할 수 있어야 한다. => 각 컴포넌트(Web server, WAS)의 효율성을 극대화할 수 있어야 한다. 1. GCDN(Global C.. 기술블로그 2023. 7. 13. SSAFY 10기 전공자 합격 후기 이 글을 보고 계신 고민 많은 주니어 개발자 분들께 양해의 말씀 구합니다. 다른 포스팅과 마찬가지로 이 글에서도 구체적인 사항을 공개할 수 없는 대외비라는 사정이 존재합니다. SSAFY를 지원하기 위해 제가 준비했던 과정과 그 후기만을 말씀드리는 글이라는 점을 미리 밝힙니다. 또한, 객관적인 평가를 위해 간단한 저의 프로필을 함께 올립니다. - 인서울 하위권 4년제 대학 졸업예정자 - 학점 3.9 - 프로젝트 경험 2회 - 기업 인턴 경험 1회 - 백준 알고리즘 골드 3 지원 동기 SSAFY를 처음 알게 된 것은 학교 게시판에 걸려있던 SSAFY 7기 모집 포스터를 보고 나서였다. 막 복수전공으로 컴퓨터 공부를 시작하게 된 때라 정확히 SSAFY 안에서 무엇을 하게 되고 어떤 결과물을 만들 수 있는지 자.. 카테고리 없음 2023. 7. 1. 네이버 메인 페이지의 트래픽 처리 - 본편 1 서비스 특성상 네이버 메인 페이지가 실행하는 역할의 대부분은 데이터를 사용자에게 보여주는 역할 - view이다. 데이터를 받아서 저장하는 동작이 거의 없기 때문에 분산 처리나 다중화에서 트랜잭션을 고민할 필요도 없다. 이런 서비스 특성을 고려해 네이버 서버 개발팀이 도출한 요구사항은 다음과 같다. 🔔 서비스 요구사항 🔔 ❗어떤 서버로 접속해도 동일한 내용을 보여 주어야 하며, 특정 상탯값(사용자의 로그인 여부 등)에 의존하지 말아야 한다. ❗ 무슨 일이 있어도 사용자에게 서비스가 제공되어져야 한다. => 브라우저에 빈 페이지가 나타나선 안된다. => 메인 페이지에서 연동하는 외부 시스템은 늘 접속 불안정을 가정하고 빠른 실패 전략을 실행한다. ❗ 트래픽 증가에 탄력적으로 대처할 수 있어야 한다. => 트.. 기술블로그 2023. 6. 27. 네이버 메인 페이지의 트래픽 처리 - 서론 📑서론 PC나 스마트폰을 접하는 대부분의 사람들이 한 번 정도는 네이버 메인 페이지에 접근한 경험이 있을 것이다. 네이버는 기본적으로 트래픽이 많은 편이지만 사회적으로 이슈가 생겼을 때는 트래픽이 폭발적으로 늘어나게 된다. 위 사진은 2017년 11월 포항에서 지진이 발생했을 때 네이버 메인 페이지의 트래픽 변화를 나타낸 그래프이다. 파란색 선이 평상시의 트래픽이고, 급격하게 상승한 붉은색 선이 지진 발생 당시의 트래픽이다. 14시 30분 12초부터 트래픽이 상승하기 시작해 평상시 트래픽의 6배 수준이 될 때까지 30여 초밖에 걸리지 않았다. 네이버의 개발팀은 이런 상황을 어떻게 해결하는지 알아보자. 📑일반적인 분산 처리 모델 웹서비스에서는 일반적으로 3-Tier 분산 처리 모델을 활용한다. 클라이언트의.. 기술블로그 2023. 6. 24. 3계층 구조(3-Tier Architecture) 3 계층(3-tier) 구조란, 플랫폼을 3 계층으로 나누어 별도의 논리적, 물리적 장치에 구축하고 운영하는 형태를 의미한다. 웹 서버 운영을 예를 들자면, 서버 한 대에 한꺼번에 모든 기능들을 몰아넣고 구축하는 것이 아니라 데이터를 저장하고 읽는 데이터 계층, 데이터를 처리하는 어플리케이션 계층, 그리고 데이터를 표현해 주는 클라이언트(혹은 프레젠테이션) 계층과 같이 3개의 계층으로 나누어 각각의 기능을 별도의 논리적, 물리적 장치에 개발, 운영하는 형태이다. 프로젝트의 상황에 맞게 2개, 4개의 계층을 활용할 수도 있고 이 경우엔 다층 구조(Multi-tier Architecture 또는 n-tier Architecture)라고도 표현할 수 있다. 인프라 관점에서 3 Tier 구조는 클라이언트로부터 .. 기술블로그 2023. 6. 24. 2023 IT 10대 트렌드 IT 10대 트렌드-3가지 테마 코로나 특수 종료와 전쟁, 미 금융위기 등으로 시장 유동성 감소에 따라 기업들의 투자 규모 축소와 소비 심리 저하로 인한 구매력 감소 등으로 내실을 다지고 다음 단계로의 도약을 준비하는 한 해가 될 것. A. 최적화(Optimization) 1. 디지털 면역시스템(Digital immune System) 2. 식별 가능성 적용(Applied Observability) 3. 인공지능 트리즘(AI TRiSM => Trust, Risk, Security, Management) 최적화의 관점은 속도 뿐만 아니라 안정성도 고려되어야 함. 디지털 시스템이 고도화될수록 분산 시스템이 늘어나게 될 것이다. 유지 보수, 보안 등을 위해 각각의 모듈들이 정상 동작하는지 모두 모니터링 되어야.. IT 생태계 2023. 6. 24. 이전 1 ··· 4 5 6 7 다음