일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 의존성역전원칙
- 코틀린 노트북
- ruby
- Test
- Pitest
- MySQL
- 공짜블로그
- standard input
- JPA
- 자바
- 코틀린 in
- Java
- cli 만들기
- Convariance
- IntelliJ
- hugo 로 블로그
- standard output
- change refresh rate
- output stream
- kotlin
- 코틀린 out
- resize image with go
- 개인블로그 hugo
- 코틀린
- image resizer with go
- InnoDB
- 객체지향
- 돌연변이 테스팅
- Mutation testing
- resizer 구현
- Today
- Total
목록전체 글 (160)
Rlog
발단 책 Effective testing 을 보다가 돌연변이 테스트(Mutation testing) 이라는 키워드를 발견했다. 돌연변이 테스트라는 키워드를 발견한 후 키워드가 궁금해서 찾아보게 되었고, 바이트 코드를 조작하여 기존 테스트 케이스들로 인해 "죽은 돌연변이" 들 혹은 "살아남은 돌연변이들", "실행조차 안된 돌연변이" 들 등의 수치들이 있었다. 이 모든 수치들을 보면서 이 수치가 무엇을 의미하는가에 대한 궁금함이 생겼고, 그렇다면 이 돌연변이들의 생사 지표가 어떻게 프로덕션 코드의 퀄리티를 측정할 수 있지? 라는 궁극적인 의문이 생겼다. 개념 기본적으로 Mutation testing 이 동작하는 방식을 설명하자면 기본적으로 바이트 코드를 조작하는 몇가지 동작(Operation) 들이 존재한다..
Go is the simplest language I've ever seen! Image Resizer 를 다른 언어가 아닌 Golang 으로 하는 이유는 Go lang 은 컴파일 빌드시 Executable File(실행 가능한 파일)이 바로 튀어나오므로, 사실상 위와같이 주로 실행시켜 만드는 Utilities 를 만들기에 상당히 심플합니다. 설계 대략적인 어플리케이션의 구상도는 아래와 같습니다. 사용자가 CLI 를 통해 우리가 Go lang 으로 만든 어플리케이션에게 요청을 보내면 Go lang 이 내부 Standard Library 를 이용해 맞는 Encoder / Decoder 를 찾아 요구하는 사양을 갖춘 새로운 이미지의 형태로 이미지를 생성하여 클라이언트에게 돌려주는 형식입니다. 일단 요구사항을..
운영체제에서의 리다이렉션은 무엇인가요? 운영체제에서의 리다이렉션에 대해 들어보신 적이 있나요? 듣지 못했다면 이 글이 도움이 될 것 입니다. 이 글에서는 운영체제에서의 리다이렉션에 대해 배워보겠습니다. 표준 입력, 출력 및 오류 소개 이 사진은 여기서 가져왔습니다 처음에는 I/O가 물리적으로 연결된 시스템 콘솔을 통해서만 발생했습니다(키보드를 통한 입력, 모니터를 통한 출력). 시간이 흘러감에 따라 I/O 장치(마우스를 통한 입력 또는 터치 패드 등)가 시스템에 추가되었습니다. 그래서 표준 입력, 출력 및 오류가 도입되었습니다. 표준 스트림은 프로그램의 입력과 출력을 사용자 정의하기 위한 측면을 추상화하여 이를 만족시키며, 프로그램이 실행을 시작할 때 컴퓨터 프로그램과 그 환경 간의 미리 연결된 입력 및..
Generic 코틀린에서 Generic 은 왜 있을까요? 왜 무공변, 공변, 반공변 등의 개념이 필요할까요? 이러한 질문을 코틀린을 공부하는 사람이나 저 역시도 코틀린을 공부했을때 많이 들어왔습니다. 그래서 오늘은 코틀린 'Generic' 에 관해 파헤쳐보도록 하겠습니다. Generic 에 대해 우리가 반드시 알아야 하는 몇가지 컨셉이 있습니다. 일단 우리가 들어가기전에 반드시 알아야 하는 개념들이 있는데요. Derived Type 입니다. Derived Type Derived Type 은 많은 의미가 있지만 여기서는 부모클래스 부터 속성들을 상속받는 클래스라고 이야기 하겠습니다. open class OriginalClass( val name: String, val age: Int, ) { open fu..
Hugo와 Github 페이지 통합하기 Hugo는 가장 인기 있는 오픈 소스 정적 사이트 생성기 중 하나입니다. 로컬에 hugo를 쉽게 설치하고 정적 사이트를 Github 페이지에 배포할 수 있습니다. 로컬에 Hugo 설치하기 설치로 바로 들어가기 전에 Mac OS에 설치하는 방법에 대해서만 다루겠습니다. Windows나 Linux에서 설치하는 방법은 공식 문서를 참조하세요. brew install hugo hugo 설치가 완료되었다면 다음 단계로 넘어갑니다. Github에 배포용 저장소 만들기 Github에는 두 개의 저장소를 만들어야 합니다. 하나는 블로그의 글과 스킨을 관리하는 ** 쪽 이고, 다른 하나는 **사이트 배포 용입니다. 그래서 두 저장소를 관리하기 위해 submodule을 사용해야 합니..
의존성 역전 원칙 (Dependency Inversion Principle) 의존성 역전 원칙(DIP)은 SOLID 원칙 중 하나입니다. SOLID는 객체 지향 디자인을 더욱 이해하기 쉽고 유연하며 유지보수 가능하게 만들기 위한 다섯 가지 디자인 패턴 집합입니다. 의존성 역전 원칙을 이해하기 위해서 우리는 반드시 제어의 역전과 의존성 주입 개념에 대해서 이해해야 합니다. Inversion of Control (제어의 역전) 제어란 무엇일까요? 그리고 역전은 무엇을 의미할까요? 이러한 질문에 답해보겠습니다. 먼저 제어와 역전을 알아봅시다. 제어란 코드의 실행 순서를 결정하는 흐름을 말합니다. 아래의 예시와 같이 코드를 작성하면 코드는 위에서부터 아래로 예측 가능한 방식으로 실행됩니다. a = 10 b = ..
우분투에서 어떻게 주사율을 설정할까요? 첫번째로 터미널을 킨 뒤 `xrandr` 명령어를 입력하여 입력되어 있는 모니터를 찾아야 합니다. 저 같은 경우는 보시다 시피 `XWAYLAND0` 로 설정되어 있습니다 아직 까지는 60 으로 설정되어 있는것을 확인할 수 있습니다. 위와같이 [설정] - [화면] 으로 가시면 해상도를 설정하실수 있는 창을 확인할 수 있는데요. 여기서 원하시는 해상도로 바꾸시면 됩니다. 그 이후 터미널에서 `` 을 입력해보면 아래와 같이 잘 반영된것을 확인할 수 있습니다.
What is Kotlin Notebook? Kotlin Notebook 은 Intellij 에서 Jupyter Notebook 의 Python 과 비슷한 형태로 코틀린을 쉽게 실행시킬 수 있도록 만든 것인데요. 조금 더 간편하고 쉽게 코틀린을 실행시켜야 하는 상황에서 사용하기 좋을거 같습니다. 생성하는 방법 1. Python 설치 일단 코틀린 Notebook 플러그인 을 실행시키기 위해서는 위와 같이 Python 을 요구하게 됩니다. 따라서 Python 을 Settings - Plugin 에 검색하여 다운받아 주도록 합시다. (이미 다운 받으셨다면 별도로 다운로드 하지 않으셔도 좋습니다.) 2. 코틀린 노트북(Kotlin Notebook) 설치 이제 위와 같이 코틀린 노트북 또한 Plugins 에서 검..