본문 바로가기

분류 전체보기274

Docker 설치하기 도커 설치하기 (Mac OS) 1. 터미널창에 아래 명령어를 입력하여 도커를 다운받습니다. 도커의 클라이언트만 설치한 것이라고 할 수 있습니다. brew install Docker 2. 설치가 완료되었으면 아래 명령어로 제대로 설치되었는지 확인합니다 . docker version 아직 서버를 깔지 않았기 때문에 ,위 그림처럼 클라이언트만 나오게 됩니다 . 서버를 실행시키기 위해서는 도커 애플리케이션이 필요합니다 . 3. 아래 경로에서 도커 애플리케이션을 다운 받습니다. https://docs.docker.com/docker-for-mac/install/ Install Docker Desktop for Mac To download Docker Desktop for Mac, head to Docker Hub.. 2019. 4. 16.
완벽한 숫자 - 자연수에대한 완벽한 숫자 - 자연수에대한Nicomachus (60 - 120 CE) 분류 체계에 따라 번호가 완전하고 풍부하며 결핍되었는지 확인하십시오. 그리스 수학자 인 니코 마 쿠스 (Nicomachus) 는 자연수에 대한 분류 체계를 고안하여 각자가 분량의 합계 에 기초하여 완벽 하고 풍부 하거나 부족한 범주에 속하는 것으로 나타 냈습니다 . 분량 합은 수 자체를 포함하지 않는 수의 합계로 정의됩니다. 예를 들어, 15의 분량 합은 (1 + 3 + 5) = 9완벽 : 분량 합 = 번호6은 (1 + 2 + 3) = 6이므로 완벽한 수입니다.28은 (1 + 2 + 4 + 7 + 14) = 28이므로 완벽한 수입니다.풍부 : 분랑 합> 수12는 (1 + 2 + 3 + 4 + 6) = 16이기 때문에 풍부한 수입니다... 2019. 3. 27.
MVVM - ViewPager와 TabLayout MVVM - ViewPager와 TabLayout ViewPager와 TabLayout을 MVVM패턴을 적용하여 사용하는 방법을 알아보겠습니다. 아래는 적용된 사진입니다 .프래그먼트 1개로 동적으로 4개의 탭을 만들어 뷰페이저에 적용하였습니다. 그리고 뷰페이저와 탭레이아웃을연결하여 탭을 클릭하면 뷰페이저 프래그먼트가 바뀌도록 되어있습니다. 크게 MainActivity와 childFragment로 구성되어있습니다 .먼저 MainAcitivity의 레이아웃먼저 보도록하겠습니다 . activity_main.xml TabLayout과 ViewPager가 있습니다.TabLayout에는 app:setupWithViewPager 를 이용하여 뷰페이저 아이디를 넣어 연결해줍니다.ViewPager에는 addOnPageC.. 2019. 3. 26.
비밀 악수 - 10진수와 2진수 비밀 악수 - 10진수와 2진수2진수에 관해서는 당신은 비밀스런 "악수"를 내놓기로 결정했습니다.1 = wink 10 = double blink 100 = close your eyes 1000 = jump 10000 = Reverse the order of the operations in the secret handshake. 십진수가 주어지면 비밀 핸드 쉐이크를위한 적절한 이벤트 시퀀스로 변환합니다.다음은 몇 가지 예입니다.입력 3이 주어지면,이 함수는 3이 11 진법이므로 배열 [ "wink", "double blink"]을 반환합니다.주어진 입력 값 19가 주어지면이 함수는 배열 [ "double blink", "wink"]을 반환 할 것입니다. 19가 이진수로 10011이기 때문입니다. 16 (이.. 2019. 3. 20.
정사각형의 차이 정사각형의 차이 합계의 제곱과 첫 번째 N 개의 자연수의 제곱의 합계 사이의 차이점을 찾습니다.처음 10 개의 자연수의 합의 제곱은 (1 + 2 + ... + 10) ² = 55² = 3025입니다.처음 10 개의 자연수의 제곱의 합은 1² + 2² + ... + 10² = 385입니다.따라서 처음 10 개의 자연수 합계의 제곱과 처음 10 개의 자연수 제곱 합계의 차이는 3025 - 385 = 2640입니다. TestCodeclass SquaresTest { @Test fun squareOfSum1() { assertEquals(1, Squares(1).squareOfSum()) } @Test fun squareOfSum5() { assertEquals(225, Squares(5).squareOfSum.. 2019. 3. 17.
스크래블 스코어 - 주어진 단어에대하여 점수 계산하기 스크래블 스코어 - 주어진 단어에대하여 점수 계산하기 문자의 값Letter Value A, E, I, O, U, L, N, R, S, T 1 D, G 2 B, C, M, P 3 F, H, V, W, Y 4 K 5 J, X 8 Q, Z 10 ex) cabbage (양배추) 는 14점의 가치를 가집니다 .- c 3점 ,a *2 2점, b *2 6점, g 2점 , e 1점 TestCode@RunWith(Parameterized::class)class ScrabbleScoreTest(val input: String, val expectedOutput: Int) { companion object { @JvmStatic @Parameterized.Parameters(name = "{index}: scoreWord(.. 2019. 3. 17.
Git 자주쓰이는 명령어 모음 기본 명령어저장소 생성git init 원격 저장소로부터 복제git clone {url} {저장할폴더명} // 폴더명을 입력하면 , 현재위치에폴더를 만들면서 클론 변경 사항 체크git status // 특정 파일 스테이징git add {파일명} 변경된 모든 파일 스테이징git add * 커밋git commit -m “{변경 내용}” 원격으로 보내기git push origin master 원격저장소 추가git remote add origin {원격서버주소} unstaged인 파일 초기화 - discardunstaged인 모든 파일 초기화git checkout -- .unstaged인 하나의 파일 버리기 (초기화 )git checkout diffCommit간 비교git diff 현재 unstaged된 수정사항.. 2019. 3. 14.
어구를 약어로 변경하기 어구를 약어로 변경하기 어구를 약어로 변경해보도록 하겠습니다. 예를들어 Portable Network Graphics 라면 PNG로 줄일수있게됩니다 . TestCode @Test fun fromTitleCasedPhrases() { val phrase = "Portable Network Graphics" val expected = "PNG" assertEquals(expected, Acronym.generate(phrase)) } @Test fun fromOtherTitleCasedPhrases() { val phrase = "Ruby on Rails" val expected = "ROR" assertEquals(expected, Acronym.generate(phrase)) } @Test fun fro.. 2019. 3. 14.
스트링 뒤집기 스트링 뒤집기 스트링을 거꾸로 뒤집는 방법! TestCodeclass ReverseStringTest { @Test fun testAnEmptyString() { assertEquals("", reverse("")) } @Test fun testAWord() { assertEquals("tobor", reverse("robot")) } @Test fun testACapitalizedWord() { assertEquals("nemaR", reverse("Ramen")) } @Test fun testASentenceWithPunctuation() { assertEquals("!yrgnuh m'I", reverse("I'm hungry!")) } @Test fun testAPalindrome() { asser.. 2019. 3. 13.
안드로이드 스튜디오 단축키 안드로이드 스튜디오 단축키 안드로이드 공식 document↓ https://developer.android.com/studio/intro/keyboard-shortcuts?hl=ko 설명Windows/LinuxMac일반모두 저장Control + SCommand + S동기화Control + Alt + YCommand + Option + Y편집기 최대화/최소화Control + Shift + F12Control + Command + F12즐겨찾기에 추가Alt + Shift + FOption + Shift + F현재 프로필로 현재 파일 검사Alt + Shift + IOption + Shift + I빠른 전환 구성표Control + ` (역따옴표)Control + ` (역따옴표)설정 대화상자 열기Control +.. 2019. 3. 10.
Kotlin 코드 Java로 디컴파일하기 Kotlin 코드 Java로 디컴파일하기 Kotlin은 자바로 만들었습니다.Android Studio에서 제공하는 바이트 코드 디 컴파일을 사용하여 간단하게 컴파일 할 수 있습니다.Kotlin 디 컴파일안드로이드 스튜디오에서 Kotlin 플러그인을 설치, 실시간으로 Kotlin Bytecode 확인이 가능합니다.메뉴 위치는 안드로이드 스튜디오 Tools> Kotlin> Show Kotlin Bytecode를 눌러 주면 Kotlin Bytecode화면을 볼 수 있습니다.당신과 똑같은 순간 Kotlin Bytecode확인. 여기에서 자바 코드를 확인하는 바이트 코드를 확인하세요DecompileJava CPU 에서 컴파일 결과를 확인하십시오! 디 컴파일Kotlin Bytecode는 실시간으로 컴파일 된 결과를.. 2019. 3. 9.
Collection에 대하여 -3 collection에 적용할수 있는 함수들 Collection에 대하여 -3 출처 - https://mdwgti16.github.io/kotlin/kotlin-collection-api2/# zip@Test fun zip() { val fruitList = listOf("strawberry", "grape", "pineapple", "banana", "apple") val priceList = listOf(1500,1000,2000,700,500,10000) assertEquals(listOf("strawberry is 1500won", "grape is 1000won", "pineapple is 2000won", "banana is 700won", "apple is 500won"), fruitList.zip(priceList).map {"${i.. 2019. 3. 9.
Collection에 대하여 -2 collection에 적용할수 있는 함수들 Collection에 대하여 -2 출처 - https://mdwgti16.github.io/kotlin/kotlin-collection-api2/# all@Test fun all() { val fruitList = listOf("strawberry", "grape", "pineapple", "banana", "apple") assertEquals(true, fruitList.all { it.length >= 5 }) assertEquals(false, fruitList.all { it.contains("apple") }) } (AND) 주어진 조건을 모든 원소들이 만족하면 true 아니면 falseany@Test fun any() { val fruitList = listOf("strawberry", "g.. 2019. 3. 9.
Collection에대하여 -1 Collection에대하여 java와 kotlin의 Collection에 대하여 알아보겠습니다. 자료구조 상속,구현도 1 . 다른 언어와 달리 kotlin에서는 변경가능하고 변경 불가능한 콜렉션(list, set, map)을 구분합니다. 예를들어 Kotlin의 List유형은 읽기 전용의 작업을 제공하는 인터페이스입니다. size와 get등의 함수가 내장되어있습니다. 자바와 마찬가지로 Collection를 상속하며 , Iterable도 상속합니다. 목록을 변경하려면 MutableList인터페이스를 이용해 추가할수 있습니다 .이는 Set/ MutableSet및 Map/MutableMap도 동일합니다 ex)val list = listOf() //변경 불가능한 listval mutableList = mutabl.. 2019. 3. 9.
Kotlin - inline, noinline, clossline, reified Kotlin - inline, noinline, clossline일급함수inline, noinline을 이해하기 위해서는 일급함수에 대한 이해가 필수적입니다.이미 알고있으신 내용이면 편하게 스크롤을 내려주세요.일급함수는 스스로 객체로써 취급되는 함수로 다른 함수를 파라미터로 전달받고 반환할 수 있는 함수를 뜻합니다. 이부분은 코드를 보는 편이 더 좋을 것 같습니다.fun print(body:(Int,Int) -> Int) { println(body(5,5))} print({a,b->a}) 위 함수를 보겠습니다. 위 함수는 두개의 정수를 받아 하나의 정수값만을 출력하는 함수입니다. 위와같이 선언을 하게된다면 java에서 아래와 같은 코드로 변환을하여 사용할 수 있습니다. public final void p.. 2019. 3. 9.
우주 시대 - 행나이를 주었을때, 나이를 초로 바꾸어보기 우주 시대 - 행나이를 주었을때,나이를 초로 바꾸어보기 Question - 나이를 주면 몇 초가 될지 계산하십시오.지구 : 궤도주기 365.25일 또는 31557600 초수성 : 궤도주기 0.2408467 지구의년금성 : 궤도주기 0.61519726 지구의년화성 : 궤도주기 1.8808158 지구의년목성 : 궤도주기 11.862615 지구의년토성 : 궤도 기간 29.447498 지구의년천왕성 : 궤도주기 84.016846 지구의년해왕성 : 궤도주기 164.79132 지구의년따라서 누군가가 1,000,000 초의 나이가 들었다고 말하면, 지구 나이가 31.69라고 말할 수 있어야합니다. TestCode@Test fun ageOnEarth() { val age = SpaceAge(1000000000) ass.. 2019. 3. 9.
10억초 더하기 10억초 더하기지금 순간에서 10억초를 더한 시간은 언제일까요 ? 계산해보도록 하겠습니다 . TestCodeclass GigasecondTest { @Test fun modernTime() { val gigaSecond = Gigasecond(LocalDate.of(2011, Month.APRIL, 25)) assertEquals(LocalDateTime.of(2043, Month.JANUARY, 1, 1, 46, 40), gigaSecond.date) } @Ignore @Test fun afterEpochTime() { val gigaSecond = Gigasecond(LocalDate.of(1977, Month.JUNE, 13)) assertEquals(LocalDateTime.of(2009, Mon.. 2019. 3. 3.
RNA를 DNA로 바꾸기 RNA를 DNA로 바꾸기 DNA 가닥이 주어지면 RNA 보체를 돌려줍니다DNA와 RNA 가닥은 모두 핵산 염기 서열입니다.DNA에서 발견되는 4 개의 뉴클레오타이드는 아데닌 ( A ), 시토신 ( C), 구아닌 ( G ) 및 티민 ( T )입니다.RNA에서 발견되는 4 개의 뉴클레오티드는 아데닌 ( A ), 시토신 ( C ), 구아닌 ( G ) 및 우라실 ( U )입니다.DNA 가닥이 주어지면, 전사 된 RNA 가닥은 각 뉴클레오타이드를 보체로 대체하여 형성됩니다 :G -> CC -> GT -> AA -> U TestCodeclass RnaTranscriptionTest { @Test fun cytosineComplementIsGuanine() { assertEquals("G", transcribeToR.. 2019. 3. 3.
Twofer - 스트링 리턴하기 Twofer - 스트링 리턴하기 TestCode1234567891011121314151617181920212223class TwoferTest { @Test fun noNameGiven() { assertEquals("One for you, one for me.", twofer()) } @Test fun aNameGiven() { assertEquals("One for Alice, one for me.", twofer("Alice")) } @Test fun anotherNameGiven() { assertEquals("One for Bob, one for me.", twofer("Bob")) } @Test fun emptyStringGiven() { assertEquals("One for , one fo.. 2019. 3. 3.
윤년 찾기 윤년 찾기 윤년이란 ? - 태양력의 윤년현재 전 세계 대부분의 나라에서 쓰는 그레고리력은 4년에 반드시 하루씩 윤날(2월 29일)을 추가하는 율리우스력을 보완한 것으로, 태양년과의 편차를 줄이기 위해 율리우스력의 400년에서 3일(세 번의 윤년)을 뺐다.그레고리력의 정확한 윤년 규칙은 다음과 같다.서력 기원 연수가 4로 나누어떨어지는 해는 윤년으로 한다. (1992년, 1996년, 2004년, 2008년, 2012년, 2016년, 2020년, 2024년, 2028년 ...)서력 기원 연수가 4, 100으로 나누어떨어지는 해는 평년으로 한다. (1900년, 2100년, 2200년, 2300년, 2500년...)서력 기원 연수가 4, 100, 400으로 나누어떨어지는 해는 윤년으로 둔다. (1600년, 20.. 2019. 3. 3.
Hamming -DNA 차이 Hamming -DNA 차이 두 DNA 가닥의 해밍 차이를 계산해보는 테스트입니다.돌연변이는 단순히 핵산, 특히 DNA 생성 또는 복제과정에서 발생하는 실수입니다. 핵산은 세포기능에 필수적이기 때문에 돌연변이는 세포 전체에 파급효과를 일으키는 경향이 있습니다. 돌연변이는 기술적으로 실수이지만, 매우 드문 돌연변이는 세포에 유익한 특성을 부여할 수 있습니다. 공통 조상과 함께 서로다른 게놈으로 부터 얻은 2개의 상동 DNA 가닥 사이의 차이 수를 세어 두 가닥 사이의 진화경로에서 발생할수 있는 돌연변이의 최소 수를 측정합니다 이를 해밍거리(Hamming distance)라고 합니다. GAGCCTACTAACGGGAT CATCGTAATGACGGCCT ^ ^ ^ ^ ^ ^^ 위의 DNA가닥 사이의 해밍거리는 7.. 2019. 3. 3.
영어에서 돼지 라틴어로 번역하기 영어에서 돼지 라틴어로 번역하기 돼지라틴어란? 돼지 라틴어 (Pig Latin)는 혼란스럽게 만들려는 아동용 언어입니다. 몇 가지 간단한 규칙 (아래)을 준수하지만 신속하게 말하면 비 아동 (및 모국어가 아닌 사람들)이 이해하기가 정말 어렵습니다. 규칙 1 : 단어가 모음 소리로 시작하는 경우 "ay"소리를 단어 끝에 추가하십시오. 단어의 시작 부분에있는 "xr"과 "yt"는 모음 소리를 만듭니다 (예 : "xray"-> "xrayay", "yttria"-> "yttriaay").규칙 2 : 단어가 자음으로 시작하는 경우 단어의 끝으로 이동 한 다음 단어 끝에 "ay"소리를 추가하십시오. 자음은 여러 개의 자음으로 구성 될 수 있습니다 (예 : "chair"-> "airchay").규칙 3 : 단어가 자.. 2019. 2. 24.
Isogram인지아닌지 판단하기 Isogram인지아닌지 판단하기 isogram이란 ? 아이 서 그램 (또한 "패턴이 아닌 단어"로 알려진)는이다 logological 반복 편지 쓰기없는 단어 나 구문 용어. 또한 어떤 사람들은 각 문자가 같은 횟수만큼 나타나는 단어 나 구를 의미하기도합니다. 반드시 한 번만 쓰는 것은 아닙니다. [1] 편리한 단어 자체가있어 단어 모두 감각의 아이 서 그램이다 testCode@RunWith(Parameterized::class)class IsogramTest(val input: String, val expectedOutput: Boolean) { companion object { @JvmStatic @Parameterized.Parameters(name = "{index}: isogram({0})={1.. 2019. 2. 24.
Raindrop - 숫자를 문자열로 변환하기 Raindrop - 숫자를 문자열로 변환하기 번호가 3 인 경우 'Pling'을 출력하십시오.숫자가 5 인 경우 'Plang'을 출력하십시오.숫자가 7 인 경우 'Plong'을 출력하십시오.숫자에 3, 5 또는 7이없는 경우 숫자의 자릿수를 똑바로 전달하십시오.예제들28의 요인은 1, 2, 4, 7 , 14, 28입니다.빗방울 - 말로, 이것은 단순한 "플롱 (Plong)"이 될 것입니다.30의 요인은 1, 2, 3 , 5 , 6, 10, 15, 30입니다.빗방울 - 말로, 이것은 "PlingPlang"이 될 것입니다.34는 4 가지 요소, 즉 1, 2, 17 및 34가 있습니다.빗방울이 말하면, 이것은 "34"가 될 것입니다.b testcode@RunWith(Parameterized::class)cla.. 2019. 2. 23.