반응형
데이터베이스 정렬 vs Java 정렬
Database 2021. 11. 25. 15:21

가끔 정렬을 함에 있어서 어느 시점에서 정렬을 할지 고민하게 된다. 누구나 고민을 하지만 아무나 답변을 얻는 건 아니다. 이럴 때 우리 갓택오버플로께서 길을 보여주신다. 꽤 인상적인 글이긴 하지만 모두가 알다싶이 이 글으느 영어다. 그래서 내가 제대로 이해하기 위해서 해당 글을 번역해보고자 한다. 물론 마이 프렌즈, 번역기와 함께. (일부 번역은 직역이 아닌 문맥에 맞게 내용을 수정 하였습니다. 그래도 어색한 부분은 언제든 지적해주시길.) 원문 : database sort vs. programmatic java sort 🙋 질문 (2009.12.10) JPA를 통해 MySQL 데이터베이스에서 데이터를 가져오려고 한다. 이 때 일부 필드값을 기준으로 정렬을 하고자 한다. 아래 두가지 중 어떤 경우가 가장 ..

아파치 POI, 스프링에서 엑셀 만들기
Spring 2021. 6. 18. 18:08

엑셀 파일의 데이터를 추철해서 DB에 넣고 싶을 때, 혹은 반대로 DB에 있는 데이터를 엑셀 파일로 만들고 싶을 때, 우리는 POI를 찾게 된다. POI를 사용하는 방법을 정리해본다. https://poi.apache.org/ Apache POI - the Java API for Microsoft Documents Apache POI - the Java API for Microsoft Documents Project News 20 January 2021 - POI 5.0.0 available The Apache POI team is pleased to announce the release of 5.0.0. This release features full JPMS support, updated ECMA-3..

Kotlin은 왜 파일 내에 class 선언이 없을까?
Android, iOS 2021. 1. 9. 21:06

같이 공부하는 친구들끼리 얘기하다가 나온 이슈. Intellij에서 Java로 코드를 만들 때와 kotlin으로 코드를 만들 때, main 함수의 모습이 왜 다를까? 우선 아래 코드를 보자. // Java : Sample.java public class Sample { public static void main(String[] args) { // blah blah } } // Kotlin : Sample2.kt fun main(args: Array) { // blah blah } 자바 코드는 내부에 클래스를 선언하는 부분이 있다. 그 내부에 main 함수가 있다. 하지만 코틀린은 클래스를 별도로 선언하는 부분이 없다. 자바에서는 Sample을 객체화하려면 이 선언이 필수다. 그러면 코틀린은 이 선언이 없..

코틀린의 장점. 그만 좀 물어봐!!
Android, iOS 2020. 11. 15. 14:57

자고로 제목은 (적당히) 자극적으로 쓰는게 재밌다. 지나친 어그로가 아니라면 조회수도 오르고 쓰고 읽는 맛도 나니깐. 이번 제목은 단순한 어그로는 아니다. 개발자끼리 대화, 구직중 면접 등에서 코틀린의 장점을 수도 없이 물어보고 답하게 된다. 지난 1년간 수십번은 이 얘기를 한 것 같다. 그래서 누군가 물어볼 때 차라리 보고 읽도록 정리를 하려고 포스팅 소재를 "코틀린의 장점"으로 정했다. 자잘해보이는 장점도 다루고자 한다. 이번 글은 요즘 필자가 공부하는 서적인 "코틀린 프로그래밍 쿡북"을 많이 참고 하였다. 구글이 안드로이드 개발을 위한 공식언어로 코틀린을 지정했다. 기술적 접근이 아니지만 구글이 채택했다는 것은 장점으로서 매우 큰 부분이다. 안드로이드는 전세계 모바일 환경을 양분하는 시장 중 하나이..

Try-with-resources라고 완전 편한게 있습니다.
Java 2020. 6. 1. 17:24

* 샘플코드는 제 깃헙에 있습니다. Java에서 Try는 예외처리 구문이다. 흔히 얘기하는 Try-catch문이라고 한다. 그런데 이 구문도 완벽하지는 않다. 아래 예시를 보자. public class TryWithResource { public static void main(String[] args) { FileInputStream stream = null; try { stream = new FileInputStream(""); } catch (IOException e) { e.printStackTrace(); } finally { try { stream.close(); } catch (IOException e) { e.printStackTrace(); } } } } 프로그램이 끝날 때, 닫혀야 하는(..

날짜 데이터를 String으로 받았다. Format은? Sorting은?
Android, iOS 2018. 8. 6. 17:45

순서맞추기. 다행히 개발할 때는 이정도로 어렵지 않다. RecyclerView에 올라오는 데이터에 Date 정보가 있을 수 있다.이런 경우 시간 순서에 맞춰서 데이터를 쌓고 싶다면?물론 서버에서 줄때 예쁘게 주면 좋겠지만그렇지 않을 수 있으니 클라이언트에서도 준비를 한다.앞 포스팅을 기반으로 데이터를 순서대로 맞춰보겠다. 1. String으로 들어온 Date의 순서를 맞추기123456789101112131415@BindingAdapter("bind:item")public static void bindItem(RecyclerView recyclerView, ObservableArrayList items) { MyAdapter adapter = (MyAdapter) recyclerView.getAdapter..

handler.post와 친구들
Java 2017. 2. 22. 16:33

소스는 타블로그에서 가져왔다.post 메소드를 여러방식으로 쓰는데각 방식을 구분하는 방법을 아래 소스로 참고하자. 123mHandler.post(mRunnable); // Runnable 객체 실행mHandler.postAtFrontOfQueue(mRunnable); // Runnable 객체를 Queue 맨앞에 할당mHandler.postDelayed(mRunnable, 1000); // Runnable 객체를 1초 뒤에 실행cs 그리고 아래 링크는 핸들러를 학습하기너무 좋은 자료라 가져왔다. (강추 링크) Handler로 메시지를 전달하는 Looper를 간단하게 구현하는 방법이 있다.바로 HanderThread. 아래는 돼지왕왕돼지님의 블로그에서 가져온 소스이다. 12345// HandlerThrea..

[안드로이드] 간단한 스레드 사용법과 숫자값 올리기
Android, iOS 2016. 9. 23. 20:44

제목 그대로 출저를 남깁니다.http://www.devblog.kr/r/8y0gFPAvJ2j8MWIVVXucyP9uYvQegfSVbY5XM3y7g안드로이드에서 스레드 사용법에 대해서 간단한예제로 알아봅니다. Runnable 인터페이스를 상속받아스레드 객체를 만들고 스레드가 도는 동안Handler 객체에 메시지를 보내 작업을 시킬 것입니다.화면을 보시면 1초당 값이 하나씩 계속해서 증가합니다.위와 같은 내용을 알 수 있다.

[Java] Abstract 이해하기
Java 2016. 9. 22. 19:51

Abstract.추상화만큼 어려운 존재이다.아래 링크가 그나마 도움이 된다.http://skyvvv624.blog.me/220812206140아래는 오늘 연습한 소스이다. 여기서 주목할 부분은 여기에 있다. City gangnam = new Gangnam(); City seoul = new Seoul();Gangnam과 Seoul은 모두 City를 상속받고 있다. (처음엔 여기서 이미 멘붕)이 때 City를 하나의 필터로 이해해 보았다.Gangnam과 Seoul 모두 City가 가지고 있는 것들로만 초기화하면퍼포먼스적으로 좀 더 나아진다(고 하더라). // 건물을 짓는다 public abstract void build(Constructure cons); 위의 경우는 City.java에서 abstract ..

[Java] 아주 큰 수에서 가장 큰 소인수를 구하는 방법
Java 2016. 9. 8. 16:07

아래 글은 정답이 아니다. 하지만 근접한 방법이라서 남겨본다. 생성자 이름은 알고리즘 문제 사이트에서 참고한 것이기 때문에 깊게 생각하지 않아도 된다.

728x90
반응형