hello jiniworld

hello jiniworld

  • hello jiniworld (220)
    • Spring (59)
      • Basic (16)
      • 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 (20)
      • MySQL (9)
      • 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)
09-15 06:08
  • 전체보기
  • 방명록
  • jini's GitHub
  • demo api
  • chaeking api
RSS 피드
로그인
로그아웃 글쓰기 관리

hello jiniworld

컨텐츠 검색

태그

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

최근글

댓글

공지사항

  • SSL 인증서 설정하기

아카이브

hello jiniworld(220)

  • [Effective Java] Item17. 불변클래스를 이용하여 변경가능성을 최소화 하라

    2024.03.16
  • [Effective Java] Item 15. 상수로 사용하고자하는 필드값이 불변객체인지 고려해야한다

    2024.03.16
  • [Go] 19. 테스트와 벤치마크

    2024.03.13
  • [Go] 18. 채널

    2024.03.12
  • [Go] 17. 고루틴

    2024.03.11
  • [Effective Java] Item 14. Comparable을 구현할지 고려하라

    2024.03.10
[Effective Java] Item17. 불변클래스를 이용하여 변경가능성을 최소화 하라

불변 클래스는 단순합니다. 그렇기 때문에 가변클래스보다 설계/구현/사용이 쉽습니다. 불변 객체는 생성시점부터 사용을 마치는 시점까지 값을 그대로 유지하기 때문에, 예상치 못한 오류를 방지할 수 있어서 안전합니다. ThreadSafe하고, 여러 스레드가 동시에 사용하더라도 훼손되지 않으며, 재활용이 편리합니다. 클래스를 불변으로 만들기 위해서는 아래의 규칙을 따라야 합니다. setter 를 제공하지 않는다 객체 내의 필드값을 수정할 수 없도록 합니다. 클래스를 final 설정하여 클래스를 확장할 수 없도록 합니다 하위 클래스를 통한 확장 중, 의도치 않게 객체 내의 필드값을 수정하는 상황이 발생할 수 있습니다. 모든 필드를 final로 선언합니다. ThreadSafe 하기 때문에 새로 생성된 인스턴스를 동..

2024. 3. 16. 21:43
[Effective Java] Item 15. 상수로 사용하고자하는 필드값이 불변객체인지 고려해야한다

프로그램의 요소를 접근할 수 있는 권한은 최대한 최소화하는 것이 좋습니다. 반드시 공개되어야하는 요소들만 public으로 설정하는 것이, 유지보수 면에서도 좋습니다. public 클래스 내의 가변 필드값들은 모두 private 으로 설정 하는 것을 권장하고 상수필드의 경우 필요에 따라 public으로 설정합니다 상수로 이용하고자하는 필드값에는 public static final 를 설정하는데, 이때 주의해야할 점이, reference 타입 중 몇몇 타입은 private static final을 설정하여도 내용을 수정할 수 있다는 점입니다. 변경가능한 레퍼런스 타입 필드값 (array, modifiable 컬렉션들) 의 경우 내용 private static final을 설정해도 변경이 가능하다. 예시 1 ..

2024. 3. 16. 20:37
[Go] 19. 테스트와 벤치마크

1. 테스트 Golang 에서는 테스트를 지원하고 있습니다. go test 명령을 이용하여 테스트 코드를 실행할 수 있으며, 아래와 같은 표준 규약을 가지고 있습니다. 파일명이 _test.go 로 끝납니다 테스트 코드는 func TestXxxxx(t *testing.T) 형태의 함수로 작성합니다 testing 패키지 import 테스트 함수의 매개변수는 t *testing.T 하나여야 합니다 1.1. 테스트 실행 1.1.1. 테스트 전체 실행 ex28.1.go 라는 이름으로 아래와 같은 간단한 예제코드를 작성하였습니다. package main import "fmt" func power(num int) int { return num * num } func main() { n := 5 result := po..

2024. 3. 13. 18:08
[Go] 18. 채널

channel은 고루틴간에 메시지를 전달하는 메시지 큐입니다. 1. 기본 문법 채널 인스턴스는 make() 내장함수로 만들 수 있습니다. var 변수명 chan 채널타입 = make(chan 채널타입) 채널에 데이터를 넣기 위해서는

2024. 3. 12. 18:07
[Go] 17. 고루틴

고루틴은 경량 스레드로, 함수 or 명령을 동시에 실행할 때 사용합니다. main() 함수는 고루틴에 의해 실행되는 함수로, Go 프로그램은 최소 1개 이상의 고루틴으로 구성되어있습니다. 원래의 CPU코어는 한번에 하나의 명령을 수행하지만, 컨텍스트 스위칭을 이용하여 여러개의 스레드를 전환하며 실행할 수 있습니다. 다만, 컨텍스트 스위칭은 스레드 전환 이전에 instruction pointer(명령 포인터), 스택 메모리 등의 정보를 저장하여 작업중인 스레드를 기록하는 과정을 거치고, 복원하는 일을 거치는데 이러한 부분에 의해 컨텍스트 스위칭 비용 이 발생되게 됩니다. CPU코어 수에 비해 스레드 수가 너무 많을시(CPU코어수의 2배이상으로 스레드를 설정), 컨텍스트 스위칭 비용에 의한 성능저하가 발생될..

2024. 3. 11. 18:06
[Effective Java] Item 14. Comparable을 구현할지 고려하라

Comparable 인터페이스 내에 선언된 유일한 메서드인 compareTo는 동치성 비교에 더해 순서 비교까지 가지고 있습니다. Comparable을 구현한 클래스를 담은 배열은 Arrays.sort()를 이용하여 정렬할 수 있습니다. compareTo 메서드 일반 규약입니다. 현재객체가 주어진 객체보다 작으면 -1, 같으면 0, 크면 1를 반환합니다. (현재객체와 비교할 수 없는 타입이 주어지는 경우에는 ClassCastException을 반환합니다.) x.compareTo(y) == -y.compareTo(x) x.compareTo(y) > 0 && y.compareTo(z) 일 경우, x.compareTo(z) > 0 를 만족해야 합니다. x.compareTo(y) == 0 일 경우, x.comp..

2024. 3. 10. 17:59
1 2 3 4 5 6 ··· 37
JINIWORLD
© jiniworld. All rights reserved.

티스토리툴바