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-12 06:39
  • 전체보기
  • 방명록
  • jini's GitHub
  • demo api
  • chaeking api
RSS 피드
로그인
로그아웃 글쓰기 관리

hello jiniworld

컨텐츠 검색

태그

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

최근글

댓글

공지사항

  • SSL 인증서 설정하기

아카이브

hello jiniworld(218)

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

    2024.03.13
  • [Go] 18. 채널

    2024.03.12
  • [Go] 17. 고루틴

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

    2024.03.10
  • [Go] 16. 에러 핸들링

    2024.03.10
  • [Effective Java] Item 10~11. equals는 일반 규약을 지켜서 재정의하라

    2024.03.10
[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
[Go] 16. 에러 핸들링

1. 에러 반환 에러가 발생할 수 있는 함수의 경우, 함수 내에서 에러를 처리하지 말고, 다중 리턴 성징을 활용하여 에러를 함께 반환하는 것을 추천합니다. 해당 메서드에서 에러가 발생했을 경우, 어떤 에러가 발생된 것인지 알림과 함께 종료 또는 재개를 하도록 코드를 작성하면 좋습니다. package main import ( "bufio" "fmt" "os" ) func ReadFile(filename string) (string, error) { file, err := os.Open(filename) if err != nil { return "", err } defer file.Close() rd := bufio.NewReader(file) line, _ := rd.ReadString('\n&a..

2024. 3. 10. 17:04
[Effective Java] Item 10~11. equals는 일반 규약을 지켜서 재정의하라

1. equals 규약을 지키면서 값을 추가하기 equals를 override할 때에는 반드시 아래의 일반 규약을 만족해야 합니다. (아래 규약은 모두 null이 아닌 참조값 x에 대한 규약입니다) x.equals(x) 는 반드시 true 여야 하고 x.equals(y) == true 라면, y.equals(x) == true 여야 합니다. x.equals(y) == true 이고, y.equals(z) == true 라면, x.equals(z) == true 여야 합니다. x.equals(y) 결과는 여러번 호출하더라도 늘 같은 값을 반환해야 합니다. x.equals(null) 은 반드시 false 여야 합니다. 위의 특징을 고려했을 때, 어떤 구현클래스의 상속클래스는 이 규칙을 만족하지 못하게 됩니다..

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

티스토리툴바