본문 바로가기
반응형

전체 글79

코루틴을 사용한 동시성, 병렬처리 - 1 비동기, 논블록킹을 다룰 수 있는 기술은 매우 중요하다. 모바일 웹 화면의 경우 기본은 싱글 스레드로 작동하는데 비동기,논블록킹을 적용하지 않으면 화면의 여러 인터렉션을 동시에 처리할 수가 없다. (버튼을 누르면 모든게 멈추고 하나씩만 처리한다고 생각해보면 된다.) 탐캣 같은 웹 서버는 동시에 여러 요청을 받기 위해서 스레드 풀을 만들어 각 요청당 하나의 스레드가 비즈니스 로직을 처리하게 되어있지만 모든 로직을 스레드 하나로 처리하기에는 비효율적인 부분이 많다. (예를 들어 서로 무관한 네트워크 요청을 동시에 5개를 요청해야 하는데, 한번에 할 수가 없어서 순서대로 5번을 요청해야 하는 경우) 코루틴은 이런 비동기, 논블록킹 패러다임을 다룰 수 있게 해주는 개념이고 코틀린을 사용한다면 코루틴에 대해 학습.. 2022. 1. 14.
QueryDsl 코틀린으로 안전하게 쓰기 예제소스는 깃허브에 있습니다. 코틀린을 사용하면 확장함수를 통해서 유용한 기능을 만들 수 있고, 이를 통해 안전하고 가독성 있는 코드를 짤 수 있어서 정말 편리하다. 사내에서도 코틀린을 사용한 유틸 함수들을 만들어 사용하고 있다. 오늘은 QueryDSL 에 관한 내용이다. JPA + QueryDSL 을 사용하다 보면 검색조건에 따른 dynamic query 를 작성하는 일이 잦다. Dynamic query는 아래와 같은 모습이 된다. 어떤 조건이나 파라미터의 유무에 따라서 query 의 where절을 붙여주는 형태이다. 값의 유무에 따른 로직은 코틀린의 ? (물음표 null safety) 으로 사용할 수 있지만 자바에서 사용하던 대로 if 문을 사용했다. // 검색 파라미터 data class Param.. 2022. 1. 11.
어플리케이션 성능테스트 고려할 점 Performance Testing Tutorial: What is, Types, Metrics & Example Performance Testing is defined as a type of software testing to ensure software applications will perform well under their expected workload. In this tutorial, you will learn- What is Performance Testing? Types, Problems, Process, Metrics, Parameters, Tool www.guru99.com 위 문서 내용을 바탕으로 작성되었습니다. 서버 어플리케이션 개발 후 운영환경으로 오픈하기 전에는 시스템의 성능 .. 2022. 1. 9.
Kotlin Exposed (orm) 사용해보기 예제소스는 깃허브에 있습니다. jetbrains 에서 운영하는 kotlin orm 이다. GitHub - JetBrains/Exposed: Kotlin SQL Framework Kotlin SQL Framework. Contribute to JetBrains/Exposed development by creating an account on GitHub. github.com orm 이란 object relational mapping 의 약자로 객체와 rdbms (관계형 데이터베이스) 를 맵핑해주는 도구이다. 자바,스프링 진영에서는 hibernate를 메인 구현체로 하는 JPA 를 사용하고 있다. (jpa는 일종의 spec 이고, 구현체는 대부분 hibernate 를 사용한다.) kotlin 으로 만들어진 .. 2022. 1. 9.
반응형