본문 바로가기

728x90
반응형
개발 56

필수 개발환경 세팅 Jetbrain toolbox, IntelliJ GitKraken Docker Lens Atom Postman JDK8 (for apple silicon) https://inma.tistory.com/157 nvm https://cotak.tistory.com/156?category=456808 yarn https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable host 세팅 sudo vim /etc/hosts sudo dscacheutil -flushcache [Java] jenv 설치 및 사용법 (MacOS 여러 Java 버전 설치) 안녕하세요. 이번 포스팅에서는 MacOS에서 여러 Java 버전을 설치하는 방법을 알아봅니다. Python에 pyenv.. 2022. 2. 3.
Mac 터미널 세팅과 꾸미기 IntroMac pro를 받고 다시 터미널을 세팅하려니 어떻게 세팅했는지 새까맣게 까먹었다. 미래를 나를 위해 정리해두는 터미널 첫 세팅과 꾸미는 방법.. (다음번엔 빠르게 샤삭하자) Iterm2, Homebrew, zsh 설치Iterm2terminal을 대체해 더 다양한 기능을 제공해주는 애플리케이션iterm2 홈페이지에서 다운로드: https://iterm2.com/ iTerm2 - macOS Terminal ReplacementiTerm2 by George Nachman. Website by Matthew Freeman, George Nachman, and James A. Rosen. Website updated and optimized by HexBrainiterm2.com brewmacOS 패키.. 2022. 2. 1.
Impala Query Performance - EXPLAIN 계획과 Query 프로파일 ※ CDH6 Impala Docs의 Understanding Impala Query Performance 를 번역하였습니다. Intro Impala 쿼리에 대한 높은 수준의 성능 고려 사항을 이해하려면, 쿼리에 대한 EXPLAIN 문의 출력을 읽으세요. 실제로 쿼리 자체를 실행하지 않고도 EXPLAIN 계획을 얻을 수 있습니다. 쿼리의 physical performance 특성에 대한 개요를 보려면, 쿼리 실행 직후 impala-shell에서 SUMMARY 문을 실행하십시오. 이 요약된 정보는 가장 많은 시간이 소요된 실행 단계와 각 단계의 메모리 사용량 및 행 수에 대한 추정치를 실제 값과 비교하는 방법을 보여줍니다. 쿼리에 대한 자세한 성능 특성을 이해하려면 쿼리 실행 직후 impala-shell에서.. 2021. 11. 11.
CDH6 HBase2 X Impala2 쿼리 튜닝 ※ Cloudera 공식 문서의 impala_hbase 를 번역했습니다. Using Impala to Query HBase Tables | 6.3.x | Cloudera Documentation The Impala INSERT statement works for HBase tables. The INSERT ... VALUES syntax is ideally suited to HBase tables, because inserting a single row is an efficient operation for an HBase table. (For regular Impala tables, with data files in HDFS, the tiny d docs.cloudera.com HBase 열에 지원되는 .. 2021. 11. 11.
[Effective Kotlin] Item 52: Limit the number of operations 모든 collection 처리 함수는 비용이 발생합니다. 따라서 수집 처리 단계의 수를 제한하고, 주로 복합 작업을 사용하여 이를 수행합니다. 복합작업은 아래의 예를 보면 이해하기 쉽습니다. 1. null이 아닌 것을 필터링한 다음 2. null을 허용하지 않는 타입으로 캐스팅 하는 대신 filterNotNull을 사용합니다. 1. null을 매핑한 다음 2. 필터링 하는 대신 mapNotNull을 수행할 수 있습니다. class Student(val name: String?) // Works fun List.getNames(): List = this .map { it.name } .filter { it != null } .map { it!! } // Better fun List.getNames(): L.. 2021. 10. 28.
[Effective Kotlin] Item 45: Consider extracting non-essential parts of your API into extensions Intro API의 중요하지 않은 부분을 익스텐션으로 추출하는 것을 고려하세요. 클래스에서 final 메서드를 정의할 때, 멤버로 정의할지, 익스텐션 함수로 정의할지 결정해야 합니다. // 메서드를 멤버로 정의 class Workshop(/*...*/) { //... fun makeEvent(date: DateTime): Event = //... val permalink get() = "/workshop/$name" //커스텀 get } // 메서드를 확장함수로 정의 class Workshop(/(...(/) { //... } fun Workshop.makeEvent(date: DateTime): Event = //... val Workshop.permalink get() = "/workshop/$nam.. 2021. 10. 28.
728x90
반응형