hello jiniworld

hello jiniworld

  • hello jiniworld (218)
    • Spring (58)
      • Basic (15)
      • Spring Docs (6)
      • Spring Data JPA Tutorial (14)
      • Spring Boot Tutorial (17)
      • Jersey (6)
    • Go (17)
    • Dev (10)
      • Clean Architecture (3)
      • System Design (2)
      • Documents (2)
      • Client (2)
    • Infrastructure (5)
      • Docker (1)
      • Kubernetes (4)
    • DB (19)
      • MySQL (8)
      • MariaDB (9)
      • Oracle (1)
    • Java (52)
      • Basic (14)
      • coding test (27)
      • Effective Java (11)
    • Python (7)
      • Flask (1)
      • Basic (3)
      • Effective Python (1)
      • coding test (2)
    • Front-end (3)
      • Vanilla JS (2)
      • Basic (1)
    • Linux (11)
      • Basic (2)
      • Command-line (9)
    • Web Server (6)
      • CentOS 7 (5)
      • Oracle Linux 8 (1)
    • WAS (3)
    • CentOS 7 (17)
      • Basic (9)
      • Jenkins (8)
    • Etc (10)
      • Windows 10 (3)
      • trash bin (3)
05-14 00:11
  • 전체보기
  • 방명록
  • jini's GitHub
  • demo api
  • chaeking api
RSS 피드
로그인
로그아웃 글쓰기 관리

hello jiniworld

컨텐츠 검색

태그

MariaDB JAX-RS spring docs Spring Boot codility centos7 springboot SpringBoot2 jenkins https Command-Line MySQL Java effectivejava hackerrank week1 go Jersey Spring Boot Tutorial Spring

최근글

댓글

공지사항

  • SSL 인증서 설정하기

아카이브

hello jiniworld(218)

  • [MacOS M1] Apple Silicon Mac에 VM을 이용하여 Ubuntu 설치하기

    2023.11.18
  • [가상 면접 사례로 배우는 대규모 시스템 설계 기초] 11. 뉴스 피드 시스템 설계

    2023.08.26
  • [가상 면접 사례로 배우는 대규모 시스템 설계 기초] 01. 사용자 수에 따른 규모 확장성

    2023.05.19
  • [Hexagonal Architecture] 3. Adapter 구현하기

    2023.03.31
  • [Java - String] 1. 중복 문자 제거하기

    2023.03.08
  • [Java] override, overload

    2023.02.05
[MacOS M1] Apple Silicon Mac에 VM을 이용하여 Ubuntu 설치하기

M1 MacOS에 가상머신을 이용하여 Linux 설치하기 UTM은 Apple Silicon Mac 환경에서 x86/x64 운영체제를 가상화할 수 있게 합니다. 이 Hypervisor를 이용하면 VM환경에서 Linux나 Windows를 설치하여 사용할 수 있습니다. Ubuntu Server를 다운받은 후, UTM을 실행시킵니다. 본인 컴퓨터에 맞는 타입으로 iso파일을 다운받으면 됩니다. 저의 경우 MacOS M1 Appli silicon으로 arm 타입으로 다운받았습니다. 새 가상머신 만들기 버튼을 누르고 Virtualize(가상화) 를 누른 후 운영체제 Linux로 가상머신을 생성합니다. 탐색으로 통해 Boot ISO Image 를 불러오고 장치 설정은 각자 컴퓨터 사양에 맞춰 설정해주면 됩니다. 저의..

2023. 11. 18. 01:58
[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 11. 뉴스 피드 시스템 설계

요구사항 개략적 설계 피드 발행 뉴스 피드 조회 상세 설계 피드 발행 상세 설계 뉴스피드 조회 상세 설계 캐시 구조 마무리 뉴스피드 시스템은 인스타그램이나 트위터와 같이 홈페이지 중앙에서 지속적으로 업데이트되는 포스팅 시스템을 말합니다. 뉴스피드 시스템을 설계하는데에서 고민해야하는 부분은 아래와 같습니다. 내가 작성한 포스팅을 나를 팔로워한 사용자들에게 발행하는 것 팔로잉하고 있는 사용자의 피드를 나의 뉴스피드에서 읽는 것 간단하게 표현하자면, 데이터를 쓰는 파트 그리고 데이터를 읽는 파트에 대해 설계하면 됩니다. 1. 요구사항 뉴스피드 시스템을 설계하기 위해 필요한 요구사항들을 생각해봅니다. 모바일, 웹 모두 지원 뉴스 피드 내가 직접 포스팅을 올릴수도 있고 팔로잉하고 있는 사용자가 올린 포스팅을 뉴스..

2023. 8. 26. 06:23
[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 01. 사용자 수에 따른 규모 확장성

※ 이 포스팅은 가상 면접 사례로 배우는 대규모 시스템 설계 기초의 1장. 사용자 수에 따른 규모 확장성 부분을 정리한 것입니다. 개요 웹계층 Scale Out 로드밸런서 stateless 메시지 큐 로그, 메트릭, 자동화 데이터 계층 Scale Out 로드밸런서 && 데이터베이스 다중화 데이터베이스 규모 확장 샤딩 데이터베이스 종류에 대한 고민 응답시간 개선 캐시 CDN Cache && CDN 적용 결과 데이터 센터 1. 개요 1.1. 단일서버? 모든 컴포넌트(웹앱, DB, 캐시서버 등)가 단 한대의 서버에서 실행되는 시스템입니다. 웹서비스를 이용하고자하는 사용자가 웹서버에 바로 접근하는 구조로 웹서버가 다운될 경우 웹사이트 접속이 불가능합니다. 또, 데이터베이스가 하나이기 때문에 장애가 발생했을 시,..

2023. 5. 19. 02:16
[Hexagonal Architecture] 3. Adapter 구현하기

Web Adapter 구현하기 Persistence Adapter 구현하기 Output Port ORM Entity Mapper 클래스 참고 1. Web Adapter 구현하기 웹 어댑터는 incoming adapter 중 하나로, 외부로부터 http를 통해 request를 받아 애플리케이션 코어를 호출하는 주도하는 어댑터입니다. 우리가 controller 클래스로 정의하는 부분이 이에 해당되며, http와 관련된 기능을 담당합니다. 웹 어댑터는 application - port - in에 위치한 input port를 호출합니다. input port는 외부 어댑터와 애플리케이션 코어가 통신하는 명세로 인터페이스로 되어있어 DIP(의존성 역전 원칙)이 작용됩니다. 이전시간에 설명했던 UseCase 인터페이..

2023. 3. 31. 03:42
[Java - String] 1. 중복 문자 제거하기

주어진 문자열에서, 중복된 문자는 제거하는 코드를 작성하라 apple -> aple banana -> ban 풀이 indexOf 활용 HashSet 활용 stream의 distinct 활용 성능 1. 풀이 1.1. indexOf 활용 문자열 s의 각 문자를 순회하며 StringBuilder sb에 아직 입력되지 않은 문자를 추가한다. 문자가 sb에 포함되어있지 않다면 추가 포함되어있다면 추가하지 않으면 된다. static String removeDuplicates1(String s) { if (s == null || s.isBlank()) { return s; } StringBuilder sb = new StringBuilder(); for (char c : s.toCharArray()) { if (sb..

2023. 3. 8. 20:36
[Java] override, overload

1. method override 상속하는 클래스에서 상위 클래스(또는 인터페이스)의 메서드를 재정의하는 것 메서드를 재정의 하는 것이기 때문에 final, static 메서드는 오버라이드 할 수 없습니다. protected 이상의 접근 제한자에서 지원됩니다. private 접근제한자는 오버라이드 할 수 없습니다. 서브 클래스의 오버라이드 메서드에서 슈퍼 클래스의 메서드를 호출하고 싶다면 super키워드를 사용하면 됩니다. 오버라이딩은 런타임 시 실질적으로 작동될 메서드가 결정되는 동적 바인딩 방식입니다. 1.1. 예제 1 Java에서 서브 클래스 타입은 슈퍼 클래스 타입으로 받을 수 있습니다. 아래 예제에서는 Animal 타입으로 Cat, Dog 클래스를 받을 수 있습니다. interface Anima..

2023. 2. 5. 16:57
1 ··· 4 5 6 7 8 9 10 ··· 37
JINIWORLD
© jiniworld. All rights reserved.

티스토리툴바