분류 전체보기
-
[Review]알고리즘 트레이닝 : 프로그래밍 대회 입문 가이드Review 2019. 6. 19. 23:47
소프트웨어 엔지니어들에게 알고리즘은 화두가 높은 주제이다. 취미로 알고리즘 문제를 푸는 개발자도 있을 수 있고, 취직을 위하여, 이직을 위해서 여러 이유로 알고리즘은 개발자와 뗄 수 없다. 그중에서도 본 책은 '프로그래밍 대회'를 위한 알고리즘 트레이닝 방법을 소개해준다. 알고리즘에 관한 다른 책들과 비교하여 알고리즘 트레이닝 책은 얇아 읽는 부담감이 덜하다. 프로그래밍 대회에서 배우는 - 알고리즘 문제 해결 전략(구종만) 1/2권 분권'이 있었는데, 본 책은 상대적으로 다른 알고리즘을 위한 책 보다 얇아서 약한 개념만 부분적으로 읽고 보완하기에도 좋다고 느꼈다. 목차 ...더보기 1장 들어가며 2장 프로그래밍 기법 3장 효율성 4장 정렬과 탐색 5장 자료 구조 6장 동적 계획법 7장 그래프 알고리즘 8..
-
[Kotlin] Null SafetyKotlin 2019. 5. 31. 01:12
Kotlin의 매력 중 하나인 Null Safety에 대하여 정리해보자. ■ ? Null을 값을 가능케 하는 Null Safety이다. fun testNull(){ val nullableString : String? = null //널 허용 val notNullabeString : String = null //널 허용불가. } nullableString 변수는 String Type뒤에? 가 붙으면서 null 이 가능하다. nonNullableString 변수는 기존 자바 String이 같이 null이 불가능하다. ■ ?: Null 값을 대신할 수 있는 Elvis Operator 이다. fun main(){ val hi = "hi" val num = 12345 val elivis_String : Strin..
-
[Android]안드로이드 토글 버튼 만들기.Android 2019. 5. 27. 00:09
What id Toggle Button? 토글 버튼이란 건 다양한 형태로 존재한다. 이번 포스팅은 평소에 많이 접해 왔지만 우리가 몰랐던 토글 버튼에 대하여 다루고자 한다. 구글 로그인 화면중 비밀번호 입력 화면이다. 비밀 번호 입력 텍스트 안에 눈 모양 이모티콘을 클릭하면 안의 비밀번호가 보이고 빗금진 눈 모양 이모티콘을 클릭하면 비밀번호가 보이지 않는다. What is difference toggle button and button? 이 점이 일반 버튼과는 다른 토글 버튼 다른 부분이다. 바로 상태를 갖는 다는 것이다. 일반적인 버튼은 꾹 누르고 그 상태에서 끝이지만 토글 버튼은 전구의 스위치처럼 On/Off 상태를 갖는다. 이와 같은 기능을 안드로이드에서 imageButton과 같이 구현하려고 하면..
-
[Android] 안드로이드 커스텀 버튼 만들기.Android 2019. 5. 23. 01:46
안드로이드에서 기본적으로 제공하는 버튼은 이쁘지 않다. 화면에 맞게 다양한 버튼을 만들어 주고 싶다면 버튼을 커스텀할 줄 알아야 한다. 오늘은 그 방법에 대하여 정리해보겠다. 안드로이드 XML에서 버튼을 추가해주면 기본적으로 이러한 모양이다. 나의 Needs! " 나는 동그랗고 바깥 테두리가 완만한 버튼을 원한다. " 그럴 때는 이렇게 하면 된다. Step1 drawable > 우클릭 > Drawable Rsource file 추가. 고대로 넣고 내가 알아보기 쉬운 이름을 짓는다. 여기서 주의해야 할 점은 xml파일의 underbar ( _ ) 말고 그냥 bar(-)가 들어가면 해당 파일을 찾지 못하니 주의해야 한다. Step2 아래와 xml 코드를 넣어준다. > TMI stroke 겉 테두리라고 생각하..
-
[Review]RxJava 리액티브 프로그래밍(길벗)Review 2019. 5. 20. 23:02
Rxjava는 러닝 커브가 높다고 한다. 왜 그럴까? 파이썬이나 코틀린 같은 다른 언어를 접해봤다면 쉬울 수도 있지만. Java나 C++ 같이 객체 지향적 사고부터 익혔다면 함수 형적 사고란 쉽게 와 닿지 않을 수 있다. 나에겐 Rx와 관련된 책이 총 2가지가 있다. 하나는 한빛 미디어의 보라색 Rxjava 책이고 하나는 길벗 빨간색 Rxjava 책이다. 위 포스팅은 그 둘을 비교하다기보다는 가장 최근에 읽었던 빨간 RxJava 책을 읽고 내가 느꼈던 점에 대하여 리뷰하고자 한다. > 목차 1장 RxJava의 기본 2장 RxJava를 사용하는 데 필요한 배경 지식 3장 RxJava의 메커니즘 4장 Flowable과 Observable의 연산자 5장 Processor와 Subject 6장 RxJava의 디..
-
[RxJava] RxJava 기본 구조Rxjava 2019. 5. 17. 20:14
본 글은 [길벗]의 Rxjava 리액티브 프로그래밍 책을 정리하며 남긴 포스팅입니다. 자세한 내용과 부연 설명은 책을 참고하시길 바랍니다. https://www.gilbut.co.kr/book/view?bookcode=BN002399 RxJava 리액티브프로그래밍 데이터에 실시간으로 반응하는 새로운 패러다임을 배우자! www.gilbut.co.kr RxJava 기본 구성 Publisher : 데이터를 만들어 통지하는 생산자 Subscriber : 데이터를 받아 처리하는 소비자. RxJava 기본적인 메커니즘 프로토콜 설명 onSubscribe 구독 시작 onNext 데이터 통지 onError 에러 통지 onComplete 완료 통지 Reactive Stream RxJava 버전이 1.x 에서 2.x로 올..
-
[Android]startActivity()와 startActivityForResult() 차이.Android 2019. 5. 7. 17:08
안드로이드에서 화면 전환할 때 사용하는 startActivity()와 startActivityForResult()에 대하여 알아보겠습니다. 해당 예제 코드는 Kotlin을 이용하였습니다. startactivity()와 startActivityForResult()를 알기에 앞서, 각 함수의 파라미터로 들어가는 intent에 대하여 알고 넘어가겠습니다. Intent 애플리케이션 구성요소 간에 작업 수행을 위한 정보 전달을 하는 역할을 합니다. 1. 명시적 인텐트 작업을 수행하길 원하는 컴포넌트를 정확히 지목하는 것을 뜻합니다. 위와 같이 Intent()라는 객체를 선언하기 위해서는 (위치한 Activity, 가고 싶은 Acitivty )를 적어주면 됩니다. val intent = Intent(this@Tes..
-
[LeetCode] Climbing StairsAlgo 2019. 5. 6. 23:00
문제 알고리즘 유형중 DP(Dynamic Programming)에 관한 문제이다. DP 관련한 문제를 접근하기 위해서는 메모제이션에 대한 이해가 필요하다. TOP-DOWN 위에서 아래로 접근하는 방식 재귀를 많이 이용한다. Bottom-Up 밑에서 위로 접근하는 방식 for문같은 반복문을 많이 이용. 메모제이션에 관한 이해나 부연 설명들은 아래와 같은 블로그를 참고하면 더욱더 이해하기 쉬울 것이다. * 김로그 * all about coding 피보나치수열처럼 점화식을 이용하면 구할 수 있는 문제였다. class Solution { fun climbStairs(n: Int): Int { val array = IntArray(n+1).let { for (i in 1..n) { when (i) { 1 -> i..