일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- python
- 코루틴 빌더
- table not found
- k8s #kubernetes #쿠버네티스
- JanusWebRTCServer
- 코루틴 컨텍스트
- tolerated
- vfr video
- 달인막창
- Value too long for column
- mp4fpsmod
- 깡돼후
- 티스토리챌린지
- terminal
- JanusWebRTC
- JanusGateway
- 겨울 부산
- 자원부족
- taint
- kotlin
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 오블완
- PersistenceContext
- VARCHAR (1)
- pytest
- 개성국밥
- preemption #
- PytestPluginManager
- Spring Batch
- JanusWebRTCGateway
목록Programming Language (47)
너와 나의 스토리
1. 컬렉션 만들기 간단한 컬렉션들을 만들어보자 val set = hashSetOf(1, 7, 53) val list = arrayListOf(1, 7, 53) val map = hashMapOf(1 to "one", 7 to "seven", 53 to "fifty-three") 코틀린은 자체 컬렉션을 제공하지 않다. -> 기존 자바 컬렉션을 활용할 수 있음 코틀린 컬렉션은 자바 컬렉션과 똑같은 클래스지만 자바보다 더 많은 기능을 쓸 수 있다. 예: 리스트의 마지막 원소 가져오기. 수로 이뤄진 컬렉션에서 최댓값 찾기 val numbers = setOf(1, 14, 2) println(numbers.max()) // output: 14 val set = hashSetOf(1, 7, 53) println(s..
스마트 캐스트 interface Expr class Num(val value: Int) : Expr // Expr 인터페이스를 구현한다 class Sum(val left: Expr, val right: Expr) : Expr 위의 예제를 보자. Expr 타입의 객체라면 어떤 것이나 Sum 연산의 인자가 될 수 있다. 즉, Num이나 다른 Sum이 인자로 올 수 있다. (1+2)+4를 계산한다고 하자. fun eval(e: Expr): Int { if(e is Num){ val n = e as Num return n.value } if(e is Sum){ return eval(e.right)+eval(e.left) } throw IllegalArgumentException("Unknown expressio..
1. 함수와 변수 함수 코틀린 함수는 내부에 아무 효과가 없어서 오로지 인자에 의해서만 반환 값이 결정된다. 이런 함수를 종종 순수 함수(pure function)라고 부른다. 이는 항상 같은 인자에 대해 같은 결과를 내놓는다. main 함수는 다음과 같이 생겼다. fun main(args: Array) { } Hello world를 출력해보자. main 함수에 println()를 이용해 'hello world' string을 출력할 수 있다. import com.sun.org.apache.xalan.internal.xsltc.compiler.util.Util.println fun main(args: Array) { println("Hello World!") // output: Hello World! }..
1. Spring initializr로 프로젝트 생성 기본 프로젝트 다운: https://start.spring.io/ 2. Data class와 controller 생성 MessageController.kt 파일을 생성해서 아래의 코드를 작성해주자. 두 개의 string 변수를 필드로 갖는 클래스 Message를 생성하였다 -> data class 이 Message 클래스를 type으로 가지는 리스트를 생성하여 값을 초기화해주었다. @GetMapping 어노테이션을 붙임으로써 "http://localhost:8080/message"로 요청이 들어오면 위에서 초기화한 리스트가 리턴된다. package demo import org.springframework.web.bind.annotation.GetMap..
프로세스 vs 스레드 프로세스 운영체제에서는 실행 중인 하나의 애플리케이션 사용자가 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행하는데 이것이 프로세스이다. 하나의 애플리케이션에서 여러 개의 프로세스가 만들어질 수 있다. 스레드 하나의 코드 실행 흐름 멀티 태스킹(Multi tasking) 여러 개의 작업을 동시에 처리하는 것 운영체제는 멀티 테스킹을 할 수 있도록 CPU 및 메모리 자원을 프로세스마다 적절히 할당해주고, 병렬로 실행시킨다. 멀티 태스킹의 예 멀티 프로세스(Multi process): 여러개의 프로세스를 병렬로 실행 멀티 스레드(Multi thread): 하나의 프로세스 내에서 여러개의 작업을 병렬로 처리 Multiprocessing vs..
File file = new File("file path"); boolean res = file.setExecutable(true); // res==true: 실행 권한 설정됨 // res==false: 파일을 찾을 수 없어서 설정 못 함 파일 절대 경로 찾는 법: resources에 file을 넣어두고, filePath를 아래 방법으로 찾아 File(filePath)로 넣어주면 된다. String filePath = new File(getClass().getClassLoader().getResource("file name").getFile()).getAbsolutePath();
에러(Error) 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 애플리케이션 실행 오류가 발생하는 것 에러는 JVM 실행에 문제가 생겼다는 것으로, 개발자는 이런 에러에 대처할 방법이 없다. 자바에서는 에러 이외에 예외(exception)이라고 부르는 오류가 있다. 예외란 개발자의 잘못된 코딩 또는 사용자의 잘못된 조작으로 발생하는 오류를 말한다. 에러는 발생하면 곧바로 프로그램이 종료된다. 하지만 예외는 예외 처리(Exception Handling)을 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다. 예외(Exception) 예외에는 두 가지 종류가 있다. 일반 예외(Exception) 컴파일 체크 예외라고도 한다. 자바 소스를 컴파일하는 과정에서 예외 처리 코드가 필요하는지 검사..
익명(Anonymous) 객체 익명 객체는 단독으로 생성할 수 없고 클래스를 상속하거나 인터페이스를 구현해야만 생성할 수 있다. Parent라는 부모 클래스와, 이를 상속받은 Child라는 자식 클래스가 있다고 하자. class Child extends Parent { } 이를 다음과 같이 사용할 수 있다. Parent field = new Child(); 이때 자식 클래스가 재사용되지 않고, 오로지 초기값으로만 사용하는 경우 익명 자식 객체를 생성해서 사용하는 것이 좋은 방법이다. 익명 자식 객체 생성 방법: Parent field = new Parent() { int childField; void childMethod() {} @Override void parentMethod() { childFiel..