code-by의 등록된 링크

 code-by로 등록된 티스토리 포스트 수는 45건입니다.

동행복권 645 역대 당첨 지역 총 정리 / 3298개 판매점 / 지역 당첨자 순 정렬 ( 2023/07/19 ) [내부링크]

지금 까지 1등 당첨자를 뽑아낸 당첨지역 전체 목록입니다. 지역명을 검색하시면 빠르게 찾을 수 있습니다. 당첨자 배출 지점 리스트 이름 위치 당첨자 수 충북 --- --- 행운복권 충북 제천시 명륜로 67 1층 6 팡팡복권방 충북 진천군 상산로 71 5 복권왕국 충북 제천시 풍양로 108 중앙시장상가 지하145 5 서울로또방 충북 옥천군 삼금로 8 5 로또천국 충북 충주시 금봉1길 48 1층 5 승일유통 충북 청주시 흥덕구 월명로 42 4 복권나라 충북 청주시 청원구 율봉로176번길 8-2 4 대박찬스 충북 청주시 흥덕구 가경로161번길 3 4 진성식품 충북 제천시 의병대로 84 1층 4 복권나라 충북 증평군 중앙로 199-1 4 행운을주는사람들 충북 충주시 연수상가길 42 1층 복권방 4 나래복권 충북..

동행 복권 로또645 1등 판매점 / 전지역 지역별 분석 / 10명 이상 당첨된 명당 24곳 [내부링크]

벌써 1000회를 넘긴 동행복권 645 의 그간 수많은 당첨 자와 속히 명당이라고 불리는 수많은 판매점들이 나타났는데요. 오늘은 역대 1등 당첨정보를 모아보고, 어떤 곳이 가장많은 당첨 결과를 냈는지 어떤 지역이 가장 많은 당첨자들을 만들었는지 확인해보겠습니다. 현재까지 1등을 배출한 지점의 수 로또 1000 회를 넘기는 동안 현재까지 총 2998개의 지점에서 1등 당첨자가 배출되었습니다. 평균적으로 새로운 회차마다 3개 정도의 새로운 당첨지점이 나타났다고도 볼 수 있겠습니다. 전체 1등 당첨자 수 1000회를 넘기면서 현재까지 총 6832 명의 1등 당첨자가 나왔습니다. 평균적으로 회차마다 6~7 명 정도 당첨되었다고 볼 수 있겠습니다. 우리나라 인구를 6천만명으로 잡았을 때 6832 이 당첨된 것입니..

[ AI 정보 모아보기 ] Fabrie 기획 협업 툴 - AI 로 제품 디테일 만들기 ( 제품 스케치를 현실로 ) [내부링크]

이번에는 제품 스케치 ( 도안 ) 을 실제 결과물로 만들어주는 AI 서비스 Fabrie 를 소개하려고 합니다. 현재는 베타단계인 서비스인 만큼 비용없지만 제한적으로 이용할 수 있는 서비스입니다. 기존에는 상품 개발과정의 협업을 위해 만들어진 서비스로 기본적인 협업 기능으로 화이트 보드를 제공하고 이를 뒷받침해줄 스케줄 보드나 테이블 같은 기능들만 제공하던 서비스였습니다. 이번에 Fabrie-AI 라는 기능을 선보이면서 스케치를 실제 상품처럼 만들어주는 기능이 추가되었습니다. 당연하게도 요즘 모든 AI 생성툴이 그렇듯 Stable Diffusion을 이용하고 있습니다. 그리고 일일 제한 300개의 이미지 생성만 가능한 상태입니다. 사용 방법 홈페이지에 들어가면 beta 에 참여할 수 있는 링크가 있습니다...

VSCode - 심심하지 않게 반려 동물 확장 프로그램 ( vscode 에서 고양이, 강아지 키우기 ) [내부링크]

개발을 오래하다보면 눈이 침침해서 쉬고 싶을 때가 있습니다. 그렇다고 일을 줄일 수는 없으니, 간단하게 눈 정화를 할 수 있는 vscode-pets 이라는 VSCode 의 확장 프로그램을 소개하려고 합니다. vscode-pets 설치 방법 확장프로그램이라 별다르게 설치할 것은 없습니다. 마켓플레이스로 가서 vscode-pets 을 검색하시고, 설치해주시면 되겠습니다. 설치를 완료한다고 펫이 바로 나오지는 않습니다. 완료 후에 펫이 움직일 공간을 열어주어야 기대했던 펫을 볼 수 있습니다.~! 명령창을 열어서 "Start pet coding session" 를 실행하면 그럼 이렇게 왼쪽 하단에 펫들이 살 수 있는 공간이 생깁니다~! 펫 종류 생각보다 많은 펫들을 고를 수 있습니다. 한번에 여러마리도 가능하고..

PowerToys - 복사 방지 글 손 쉽게 복사하기 ( 이미지 에서 글자 추출, OCR 쉽게 사용하기 ) [내부링크]

ocr 기능은 이미지에 있는 글자를 뽑아서 번역을 돌리고 싶거나, 복사를 막아놓은 글을 복사하고 싶을 때 굉장히 유용하게 사용할 수 있습니다. 그런데 쉽게 접근하기는 어렵고 별도의 프로그램을 사용하거나 웹을 통해서 추출된 데이터를 받는 형태로 많이 사용합니다. 복잡한 과정을 PowerToys의 "텍스트 추출기"를 이용하면 쉽게 할 수 있습니다. 설치방법은 여기를 참고해주세요. 2023.07.11 - [TIP] - PowerToys - Microsoft 가 만든 윈도우의 숨겨진 기능들 ( PowerToys 설치하는 방법 ) 빨간색으로 쳐진 부분이 오늘 사용할 기능인 "텍스트 추출기" 입니다. 오른쪽 화면에서 텍스트 추출기 사용을 체크 해주시면 별도의 설정없이 바로 사용해볼 수 있습니다. 지정된 단축키를 누..

PowerToys - 윈도우에서 특정 창을 항상 위에 띄워두기 ( 유튜브 화면에 고정하기 ) [내부링크]

유튜브같은 영상 플랫폼을 시청하면서 다른 작업하다 보면 다른 창들이 유튜브 화면을 가려버리는 경우가 많습니다. 듀얼 모니터를 쓰는 경우에 옆으로 치워버리면 되겠지만, 단일 모니터에서는 여간 신경쓰이는 문제가 아닙니다. 이럴 때 PowerToys 에서 제공하는 "항상 위" 라는 기능을 사용할 수 있습니다. 설치하는 방법은 여기서 확인해보세요. 2023.07.11 - [TIP] - PowerToys - Microsoft 가 만든 윈도우의 숨겨진 기능들 ( PowerToys 설치하는 방법 ) 설치를 마치고 나면, 이런 화면을 볼 수 있습니다. 오늘 볼 "항상 위" 기능을 눌러봅니다. 단축키도 원하는 대로 설정이 가능하고, 고정된 창에 대한 동작도 커스텀 하게 설정할 수 있습니다. 기능을 설정하시고 창을 클릭한..

PowerToys - Microsoft 가 만든 윈도우의 숨겨진 기능들 ( PowerToys 설치하는 방법 ) [내부링크]

PowerToys? 전세계 모두가 사용하는 윈도우에는 유저가 원하고 있지만, 지원하지 않는 기능들이 많습니다. 이러한 욕구를 잘 아는 우리 마이크로소프트는 이러한 기능들에 불만을 한번에 해소 할 수 있도록 PowerToys 라는 의 공식지원툴을 제공하고 있습니다. PowerToys 를 이용하면 복잡한 과정없이 아래의 기능들을 한번에 설치할 수 있습니다. PowerToys 설치 빠르게 설치하는 방법을 확인해보겠습니다. 무려 window 에서 공식적으로 밀어주는 멀티툴이지만 설치는 github를 통해서 진행해야합니다. GitHub - microsoft/PowerToys: Windows system utilities to maximize productivity Windows system utilities to..

[ AI 정보 모아보기 ] 급격한 Star 상승을 보여준 GPT 기반의 오픈소스들 [내부링크]

ChatGpt 가 작년 11월에 공개되고 여러 버전들을 거치면서 현재의 4.0 단계까지 오면서 급격한 성장을 보였던건 ChatGpt 뿐만이 아니였습니다. 이를 기반으로 하는 수많은 오픈소스들이 ChatGpt 가 공개된지 불과 몇일 만에 등장해서 엄청난 양의 Star 를 끌어모으면 인기 몰이를 했습니다. Github 에서 Star 를 받는 것은 쉬운일이 아닙니다. 대부분 엄청 유명한 일부 레포지토리들만 만개의 start 를 넘을 뿐 대부분의 레포지토리는 100개를 받기도 힘든 곳이 Github 입니다. 그런데 Gpt 기반의 오픈소스들은 이례적으로 수십만 Star 를 단시간에 모을 만큼 엄청난 파급력을 보여줬습니다. 오늘은 어떤 오픈소스들이 어떤 기능을 제공하면서 Star 를 끌어모았는지 알아보겠습니다. G..

[ AI 정보 모아보기 ] 더 진화한 AI 이미지 생성 SDXL [내부링크]

이미지 성생 AI 로 유명한 Stable Diffusion 는 지속적으로 새로운 모델이 나올 것을 알렸습니다. 그리고 4월 훨씬 진보된 이생성 AI. SDXL 의 베타 버전을 출시했고, 드디어 6월 22일 SDXL 0.9 버전이 릴리즈 되었습니다. Stability AI launches SDXL 0.9: A Leap Forward in AI Image Generation — Stability AI Discover SDXL 0.9, Stability AI's cutting-edge release in the Stable Diffusion suite. Unleashing remarkable image and composition precision, this upgrade revolutionizes gener..

PowerToys - 윈도우에서 맥북처럼 검색 ( 알프레드 ) 으로 앱 실행하기 [내부링크]

윈도우를 쓰다가 맥북을 사용하게 되면 가장 편리한 기능 중에 하나는 단축키와 검색만으로 앱을 실행하는 기능입니다. 단축키만 누르면 검색을 할 수 있는 창이 뜨고 거기서 앱이나 파일 원하면 인터넷 검색까지 바로할 수 있어서 굉장히 좋습니다. 윈도우에서도 똑같은 것을 할 수 있다면 어떨까요? 이런것들은 PowerToys 를 통하면 리소스 낭비없이 완벽하게 사용할 수 있습니다. 무려 window 에서 공식적으로 밀어주는 멀티툴로 지금 소개하려는 기능외에도 다양한 기능들을 제공해주고 있습니다. 설치하는 방법은 여기서 확인해보세요. 2023.07.11 - [TIP] - PowerToys - Microsoft 가 만든 윈도우의 숨겨진 기능들 ( PowerToys 설치하는 방법 ) 설치를 마치고 나면, 이런 화면을 ..

로또 1076회 당첨 번호 / 당첨 금액 / 1,2등 당첨 지역 정리 / 가장 많이 당첨된 지역 [내부링크]

1등 24,054,207,750원 9 2,672,689,750원 당첨번호 6개 숫자일치 1등 자동5 수동3 반자동1 2등 4,009,034,652원 86 46,616,682원 당첨번호 5개 숫자일치 + 보너스 숫자일치 3등 4,009,036,846원 3,109 1,289,494원 당첨번호 5개 숫자일치 4등 7,426,050,000원 148,521 50,000원 당첨번호 4개 숫자일치 5등 12,086,020,000원 2,417,204 5,000원 당첨번호 3개 숫자일치 1등 배출점 상호명 구분 장소 복권마을 자동 서울 구로구 구로동로 72 영광생활유통 자동 서울 금천구 범안로 1186 돈벼락맞는곳 수동 부산 기장군 읍내로 109 1등로또방 자동 광주 동구 중앙로 249-2 대박복권판매점 자동 경기 고양..

목돈 마련 - 카카오 뱅크 26주 적금 연7% [내부링크]

카카오 뱅크에서 26주 적금이 처음 출시된지 벌써 몇년이 흘렀는데요. 많이 아시다시피 26주 적금은 매주 일정 금액씩 증액하여 적금을 드는 방식입니다. 그래서 초기에는 적은 금액으로 부담없이 시작할 수 있다는 장점이 있습니다. 하지만 나중에서야 큰 금액이 들어가다 보니 이자를 모은다기 보단, 목돈을 마련하는 용도로 많이들 사용하고 있습니다. 그래도 이자가 없는것 보다는 있는게 좋으니, 이벤트 기간동안 26주 적금에 참여할 경우 무려 7% 이자를 제공해준다고 합니다. 26주 적금은 1,000원 2,000원 3,000원 5,000원 10,000원 으로 증액하는 구간을 선택할 수 있습니다. 큰 목돈을 원한다면 10,000원 으로! 이번 7% 이벤트는 26주 적금 완료시에 지급 받을 수 있습니다. 1000원일 ..

[AI 정보 모아보기] Traw - 유튜브 영상 자동 요약 서비스 [내부링크]

다양한 AI 서비스들이 만들어지고 있습니다. 요즘은 뭐든지 빨라야하고, 뭐든지 간략해야 하는 세상입니다. 그런 우리들을 위해 우리의 시간을 아껴줄 AI 서비스는 유튜브 영상이나 음성 파일 요약 서비스인 Traw.ai 입니다. Traw 의 월간 방문자수는 3만명 중 94프로가 한국인인 만큼 국내 지원을 완벽하게 해주고 있습니다. Traw.AI 바로가기 Traw 는 한국어 서비스를 지원하고 있습니다. 화면에서 제일 먼저 보이는 것은 유튜브 링크를 넣어볼 수 있는 창이네요. 여기에 요약하고자 하는 유튜브 영상링크를 입력하게 되면 요약할 수 있는 가이드 화면이 표시됩니다. ( 20 분 이상의 영상은 가입 이후에 진행할 수 있습니다. ) 정책의 문제인지 에러를 나타내는 영상도 존재합니다. 영상에 캡션이 존재한다면..

웹에서 코드 실행하기 - Html, Css, Javascript, C++, C, PHP, Java, Python, Swift, C#, Ruby, Node.JS, Kotlin, Jquery, Go, R, TypeScript [내부링크]

SoloLearn 은 코딩 강의를 제공하는 웹사이트입니다. 또한 웹 상에서 코드를 작성할 수 있도록 기능을 제공하고 있어서 굉장히 유용하게 사용하실 수 있습니다. 지원하는 언어는 Html, Css, Javascript, C++, C, PHP, Java, Python, Swift, C#, Ruby, Node.JS, Kotlin, Jquery, Go, R, TypeScript 로 굉장히 많은 종류의 언어를 지원해주고 있습니다. 본인이 필요한 것을 선택해서 사용하시면 되겠습니다. Python Playground: Online Interpreter, Compiler & Editor | Sololearn Use our FREE Python online compiler to write, run and share y..

[Ai 정보 모아보기] 내가 필요한 Ai 서비스를 찾는 방법 [내부링크]

ChatGpt 가 성공적으로 출시하면서 잇달아서 수많은 Ai 서비스들이 출시되고 있습니다. 하지만 너무 많은 서비스가 동시에 만들어지고 있다보니 나에게 맞는 서비스가 있는지 조차 모른체 지나가는 경우가 많습니다. 이번 글에서는 ai 서비스를 찾아볼 수 있는 검색 사이트들을 몇 가지 소개해보겠습니다. AI Tool Guru AI TOOL GURU 에서는 현재 4104 개의 서비스들 검색할 수 있습니다. 수십개의 카테고리 검색을 제공하고 있고, 가격 정책과 기능의 분류에 대한 검색 옵션도 제공하고 있습니다. 제공하는 검색 필터 세부 옵션으로는 가격 : 유료, 무료, 평가판, 가격 협의, 프리미엄, 판매 기능 : 대기, 모바일 앱, API, 웹 확장 프로그램, 오픈 소스, 디스코드, 가입 불필요 정렬 : 추천..

로또 1075회 당첨 번호 / 당첨 금액 / 1,2등 당첨 지역 정리 [내부링크]

1등 26,067,034,503원 9 2,896,337,167원 당첨번호 6개 숫자일치 1등 자동9 2등 4,344,505,760원 160 27,153,161원 당첨번호 5개 숫자일치 +보너스 숫자일치 3등 4,344,507,750원 2,750 1,579,821원 당첨번호 5개 숫자일치 4등 6,726,450,000원 134,529 50,000원 당첨번호 4개 숫자일치 5등 11,335,120,000원 2,267,024 5,000원 당첨번호 3개 숫자일치 1등 배출점 상호명 구분 장소 스파 자동 서울 노원구 동일로 1493 상계주공아파트(10단지) 주공10단지종합상가111 오늘로또복권판매점 자동 서울 동대문구 한천로 133 건물우측기준 2번째점포 복권방 로또명당(유가테크노점) 자동 대구 달성군 테크노상업..

kotlin 함수형 라이브러리 ArrowKt - Options [내부링크]

Arrow는 Option 타입과 Nullable 타입을 함께 사용할 수 있는 DSL(Domain Specific Language)을 제공합니다. 이를 통해 중첩된 null 체크를 피하고, Option과 Nullable 타입을 보다 쉽고 간결하게 다룰 수 있습니다. 이 글에서는 Arrow DSL을 사용하여 Option과 Nullable 타입을 함께 다루는 방법을 살펴보고, 예제를 통해 실제 코드를 살펴보겠습니다. 1. Option 타입 Arrowkt 에서 사용할 수 있는 Option은 값이 존재할 수도 있고, 존재하지 않을 수도 있는 타입입니다. 값이 존재할 경우에는 Some으로 감싸져 있고, 값이 존재하지 않을 경우에는 None입니다. Option은 널 안전성과 함수형 프로그래밍에서 많이 사용됩니다. 2..

Kotlin - let, run, apply, also, with 언제 써야할까 [내부링크]

let 함수 let 함수는 일반적으로 Nullable한 객체를 다룰 때 많이 사용됩니다. 변수가 null이 아닌 경우에 작업을 수행하기 위한 형태입니다. val name: String? = "John" name?.let { println("Name is $it") } 예제에서는 name 변수가 null이 아닐 때 let 블록 안의 코드가 실행됩니다. let 블록 내에서는 객체에 접근할 때 it 키워드를 사용할 수 있습니다. 이를 통해 name 변수에 접근하여 출력하였습니다. run 함수 run 함수는 let 함수와 매우 유사하지만, 객체 자체를 반환합니다. 이를 활용하여 초기화 및 객체 설정 작업에 유용하게 사용할 수 있습니다. 또한 run 함수는 코드 블록을 실행하는 객체로 사용될 수 있으므로, 객체의..

Kotlin 분기처리: if-else와 when [내부링크]

오늘은 Kotlin 프로그래밍 언어에서의 분기처리에 대해 알아보려고 합니다. kotlin 에서는 분기 처리를 위해서 if - else 나 when 구문을 사용할 수 있습니다. if-else 문 if-else 문은 Kotlin 뿐만 아니라 다른 언어들에서도 가장 기본적인 분기처리 방법입니다. if (조건식) { // 조건식 만족 } else if(조건식2){ // 조건식2 만족 } else { // 모두 불만족 } 이런 형태의 구문을 사용할 수 있습니다. fun checkNumberSign(number: Int) { if (number > 0) { println("입력한 수는 양수입니다.") } else if (number < 0) { println("입력한 수는 음수입니다.") } else { print..

이상하게 생긴 문자들 - base64 문자를 읽는 방법 ( 암호화/복호화 ) [내부링크]

7JWI64WV7ZWY7IS47JqULg== 이렇게 생긴 이상한 글자들은 base64 로 인코딩된 글자들입니다. 위 문자를 해석하면 "안녕하세요." 가 됩니다.! Base64는 6비트 문자로 이루어진 문자열을 사용하여 바이너리 데이터를 표현하는 인코딩 방식입니다. 이 방식은 문자, 이미지, 오디오 등 다양한 종류의 데이터를 텍스트 형태로 변환할 수 있어 전자 메일과 같은 텍스트 기반 시스템에서 사용됩니다. https://www.base64decode.org/ Base64 Decode and Encode - Online Decode from Base64 format or encode into it with various advanced options. Our site has an easy to use on..

kotlin playground - 웹에서 실행하는 Kotlin [내부링크]

다양한 언어에서 사용하는 Kotlin 인 만큼 웹에서 실행할 수 있는 공간을 제공해주고 있습니다. kotlin playground 를 이용하면 작성한 코드를 공유하거나 실행해보는게 가능합니다. embed 기능도 제공하기 때문에 블로그글에 잘 작성된 kotlin 코드를 사용할 수 는 있는데, 이쁘지는 않습니다. ㅎㅎ https://play.kotlinlang.org/ 에서 해볼 수 있습니다. Kotlin Playground: Edit, Run, Share Kotlin Code Online play.kotlinlang.org

Kotlin 으로 Hot Stream, Cold Stream 이해하기 [내부링크]

오늘은 Flow에서 사용되는 Cold Stream과 Hot Stream의 차이점에 대해 알아보려고 합니다. 먼저 Cold Stream에 대해서 살펴보겠습니다. Cold Stream Cold Stream은 누군가가 값을 소비하기 시작하는 순간 데이터를 발행하는 형태입니다. 모든 사용자가 동일하게 모든 데이터를 받아야하는 경우에 사용할 수 있습니다. import kotlinx.coroutines.delay import kotlinx.coroutines.flow.flow import kotlinx.coroutines.runBlocking fun main() = runBlocking { val coldFlow = flow { println("Cold Stream 시작") for (i in 1..3) { dela..

Kotlin Flow 알아보기 #4 - 예외처리와 재시도 [내부링크]

안녕하세요! 이번에는 Kotlin Flow에서의 예외 처리 및 에러 핸들링 방법에 대해 알아보고, 에러 전파와 재시도 등의 유용한 기법에 대해 소개하려고 합니다. Kotlin Flow는 비동기적인 데이터 스트림을 처리하는 데 사용되는 라이브러리로, 예외 처리와 에러 핸들링은 효율적인 데이터 처리를 위해 중요한 부분입니다. 1. Flow에서의 예외 처리 Kotlin Flow에서는 예외 처리를 위해 다양한 방법을 제공합니다. 가장 기본적인 예외 처리 방법은 catch 연산자를 사용하는 것입니다. catch 연산자는 Flow에서 발생한 예외를 캐치하고 처리하는 데 사용됩니다. 예를 들어, 다음과 같이 Flow를 생성하고 예외가 발생하는 경우를 살펴보겠습니다. import kotlinx.coroutines.fl..

Kotlin Flow 알아보기 #3 - zip 과 combine 사용법과 차이점 [내부링크]

안녕하세요! 오늘은 Kotlin Flow에서 zip과 combine의 설명과 사용법, 그리고 둘 사이의 차이점에 대해 알아보려고 합니다. zip과 combine은 Kotlin Flow에서 두 개 이상의 플로우를 결합하는 데 사용되는 연산자입니다. 이 연산자들을 사용하면 여러 개의 플로우를 동시에 처리하고 결과를 조합할 수 있습니다. 1. zip zip은 두 개의 플로우를 하나의 플로우로 결합합니다. 이때, 각각의 플로우에서 최신 값을 가져와서 새로운 플로우로 합칩니다. 결과적으로 새로운 플로우는 두 개의 플로우가 동시에 값을 방출할 때만 값을 방출하며, 다른 플로우가 값을 방출하지 않으면 해당 플로우의 최신 값은 유지됩니다. 다음은 zip의 예제 코드입니다. fun main() = runBlocking ..

Kotlin Flow 알아보기 #2 - 다양한 생성 방법과 처리 [내부링크]

안녕하세요! 오늘은 Kotlin Flow를 생성하고 비동기 데이터 스트림을 처리하는 다양한 방법에 대해 알아보려고 합니다. Kotlin Flow는 비동기 프로그래밍을 위한 훌륭한 도구로, 데이터의 연속적인 흐름을 처리할 수 있습니다. Flow 생성 방법 1. flowOf 가장 간단한 Flow 생성 방법은 flowOf 함수를 사용하는 것입니다. flowOf 함수는 인자로 전달된 값을 포함하는 Flow를 생성합니다. fun createFlowUsingFlowOf(): Flow { return flowOf(1, 2, 3, 4, 5) } 위의 예제에서는 1부터 5까지의 정수를 포함하는 Flow를 생성하고 있습니다. 이제 이 Flow를 구독하면 순차적으로 값들을 받을 수 있습니다. 2. flow { ... } f..

Kotlin Flow 알아보기 #1 - 소개 및 기본 개념 설명 [내부링크]

안녕하세요! 오늘은 Kotlin Flow에 대해 소개하고, Kotlin에서 비동기 프로그래밍에 어떻게 활용되는지 알아보려고 합니다. Kotlin Flow는 비동기적인 연산을 간편하게 처리할 수 있는 라이브러리입니다. Flow란 무엇인가요? Flow는 Kotlin에서 제공하는 비동기 프로그래밍 라이브러리로, 데이터의 흐름을 표현하는 컨셉을 가지고 있습니다. 일반적으로 Flow는 데이터를 비동기적으로 생성하고, 변형하며, 소비하는데 사용됩니다. Flow는 Cold Stream이라고도 불립니다. Cold Stream이란 데이터 흐름을 나타내는 스트림이지만, 실제로 데이터를 소비할 때까지는 데이터를 생성하지 않는 특징을 가지고 있습니다. 이는 Flow가 데이터를 생성하고 소비하는 속도를 제어할 수 있음을 의미합..

Kotlin 인라인 클래스 ( value class ) 에 대하여 [내부링크]

안녕하세요! Kotlin의 인라인 클래스를 사용하여 값 객체 패턴을 구현하는 방법과 그 장점에 대해 알아보겠습니다. 인라인 클래스란? 인라인 클래스는 Kotlin에서 제공하는 특별한 종류의 클래스로, 값 기반 클래스의 일종입니다. 인라인 클래스는 식별성(identity)을 가지지 않으며 오직 값을 저장할 수 있는 특징을 가지고 있습니다. 인라인 클래스의 선언 인라인 클래스를 선언하기 위해서는 클래스 이름 앞에 value 키워드를 사용합니다. value class Name(val value: String) JVM 백엔드에서 인라인 클래스를 선언하기 위해서는 value 수정자와 @JvmInline 주석을 함께 사용합니다. @JvmInline value class Password(private val valu..

Kotlin 수신 객체 지정 람다 [내부링크]

안녕하세요! Kotlin에서 수신 객체 지정 람다와 해당 함수를 구현하는 방법에 대해 자세히 알려드리겠습니다. 수신 객체 지정 람다는 Kotlin의 기능 중 하나로, 함수 호출 시 수신 객체를 명시할 수 있어 코드를 더욱 간결하고 가독성 있게 만들어 줍니다. 수신 객체 지정 람다란 무엇인가요? 수신 객체 지정 람다는 일반 람다 함수와 달리, 함수 리터럴 내에서 특정 객체를 this로 참조할 수 있도록 하는 기능입니다. 이를 통해 함수의 본문 내에서 해당 객체의 메서드나 프로퍼티에 접근할 수 있으며, 더 간결하고 읽기 쉬운 코드를 작성할 수 있습니다. 수신 객체 지정 람다를 사용하는 방법 수신 객체 지정 람다를 사용하려면 다음과 같은 형식으로 작성합니다: 수신객체.함수명 { // 함수 본문 } 위의 형식에..

Kotlin에서 DSL 개발 이해하기 [내부링크]

안녕하세요! DSL(Domain-Specific Language) 개발에 관심이 있으시군요. Kotlin에서 DSL을 개발하기 위한 기초에 대해 알려드릴게요. DSL은 특정 도메인에 특화된 언어로, 해당 도메인의 문제를 해결하기 위한 표현력과 가독성을 높일 수 있습니다. Kotlin에서 DSL 개발하기 DSL은 Kotlin에서 강력하게 지원되는 기능으로, 코드를 작성하고 도메인 특화 언어로 보이도록 만들 수 있습니다. 이를 위해 Kotlin의 람다(lambda)와 확장 함수(extension function)을 적극적으로 활용할 수 있습니다. 이제 몇 가지 예제를 통해 실제로 Kotlin에서 DSL을 개발하는 방법을 알아보겠습니다. 1. HTML DSL 만들기 먼저, 간단한 HTML DSL을 만들어 보겠..

Kotlin 타입 안전성과 스마트 캐스팅 ( is , as ) [내부링크]

안녕하세요! 타입 안전성과 스마트 캐스팅에 대해 이야기해보겠습니다. 이 문서에서는 Kotlin 언어를 중심으로 타입 검사와 캐스팅을 통해 안전성을 개선하는 방법에 대해 자세히 알아보겠습니다. 소개 Kotlin은 안드로이드 앱 개발을 위한 현대적인 프로그래밍 언어로서, Java와 호환되면서도 많은 편의 기능과 개선된 안전성을 제공합니다. 타입 안전성은 Kotlin의 중요한 특징 중 하나로, 컴파일러가 코드를 분석하고 타입 오류를 사전에 찾아내는 기능을 제공합니다. 이로써 런타임에서 발생할 수 있는 많은 오류를 사전에 방지할 수 있게 됩니다. 스마트 캐스팅은 Kotlin의 또 다른 흥미로운 기능으로, 변수의 타입 검사를 자동으로 처리해주는 기능입니다. 이를 통해 개발자는 명시적인 캐스팅 연산을 수행하지 않아..

Kotlin의 기본 생성자와 세컨드(보조) 생성자 [내부링크]

안녕하세요! Kotlin의 기본 생성자와 세컨드(보조) 생성자에 대해 알려드리겠습니다. 기본 생성자와 세컨드 생성자란? Kotlin에서 클래스를 정의할 때, 생성자는 해당 클래스의 인스턴스를 초기화하는 역할을 합니다. Kotlin에는 기본 생성자와 세컨드 생성자라는 두 가지 종류의 생성자가 있습니다. 기본 생성자 (Primary Constructor): 클래스의 일부로 선언되는 생성자입니다. 클래스의 속성을 정의하고 초기화하는 데 사용됩니다. 세컨드 생성자 (Secondary Constructor): 추가적인 생성자로, 클래스 내에 별도로 정의되는 생성자입니다. 기본 생성자와 달리 특정 상황에서 인스턴스를 다르게 초기화할 수 있습니다. 이제 기본 생성자와 세컨드 생성자를 각각 자세히 알아보겠습니다! 기본..

Kotlin에서 String 문자열 선언하는 방법들 [내부링크]

안녕하세요! 오늘은 Kotlin에서 문자열을 선언하는 다양한 방법에 대해 알아보겠습니다. Kotlin은 자바와 호환되는 프로그래밍 언어로, 문자열을 다루는 데에 있어 매우 유연하고 강력한 기능을 제공합니다. 함께 예제와 코드를 통해 살펴보도록 하겠습니다. 1. 문자열 리터럴 (String Literal) 가장 기본적인 방법으로, 문자열을 그대로 작성하여 선언할 수 있습니다. Kotlin에서는 이를 "문자열 리터럴"이라고 부릅니다. 문자열 리터럴은 큰따옴표(")로 감싸며, 변수에 할당하거나 출력할 수 있습니다. val str = "Hello, Kotlin!" println(str) // 출력: Hello, Kotlin! 위의 예제에서는 "Hello, Kotlin!"이라는 문자열을 변수 str에 할당하고, ..

Kotlin 람다 ( Lambda ) 와 응용 방법 [내부링크]

안녕하세요! Kotlin 람다와 그것의 응용 방법에 대해 이야기해보겠습니다. 1. 람다란? 람다는 익명 함수로, 이름이 없는 코드 블록입니다. 즉, 이름 없이 함수를 만들어 사용할 수 있습니다. Kotlin은 함수를 일급 객체로 취급하므로, 함수를 변수에 할당하거나 함수의 인자로 전달할 수 있습니다. 람다를 사용하면 코드를 간결하고 가독성 있게 작성할 수 있습니다. 2. 람다 표현식 작성하기 람다 표현식은 다음과 같은 구조를 가집니다. { 인자 -> 표현식 } 간단한 예제로, 숫자를 제곱하는 람다 함수를 작성해보겠습니다. val square: (Int) -> Int = { x -> x * x } 위의 코드에서 square는 (Int) -> Int 타입의 변수로, 인자로 받은 x를 제곱하여 반환합니다. 람..

kotlin - delegate 함수의 사용법과 응용 [내부링크]

안녕하세요! Kotlin의 delegate 함수에 대해 알려드릴게요. Delegate 함수는 Kotlin에서 객체를 대리하여 특정 동작을 처리하는 데 사용되는 강력한 기능입니다. 이 기능을 사용하면 코드의 재사용성과 가독성을 향상시킬 수 있습니다. 이 글에서는 delegate 함수의 사용법과 응용에 대해 예제와 함께 자세히 알아보도록 하겠습니다. Kotlin Delegate 함수란? Delegate 함수는 클래스의 기능을 다른 객체에 위임하는 패턴입니다. Kotlin은 이미 구현되어 있는 여러 가지 delegate 함수를 제공하며, 필요에 따라 커스텀 delegate 함수를 만들 수도 있습니다. Delegate 함수를 사용하면 코드 중복을 줄이고 객체 간의 관계를 유연하게 구성할 수 있습니다. Deleg..

Kotlin과 Java 공통점과 차이점 [내부링크]

안녕하세요! Kotlin은 Java와의 호환성을 중요하게 생각하며 설계된 언어로, 기존 Java 코드와의 상호 운용성이 매우 우수합니다. 또한 Kotlin은 몇 가지 Java에서 발생하는 문제들을 해결하기 위해 다양한 기능과 개선점을 제공합니다. Kotlin이 Java의 문제를 해결하는 몇 가지 예시 Null 참조에 대한 제어 Kotlin은 타입 시스템을 통해 null 참조를 제어할 수 있습니다. Java에서는 null에 대한 처리를 따로 해주어야 하는 반면, Kotlin은 컴파일러가 null 참조를 체크하여 컴파일 시점에서 오류를 방지해줍니다. 이를 통해 NullPointerException과 같은 예외를 미리 방지할 수 있습니다. Raw 타입 없음 Kotlin에서는 Raw 타입이라는 개념이 없습니다...

Kotlin object 와 싱글톤 ( singletone ) [내부링크]

안녕하세요! Kotlin Singleton에 대해 알려드리겠습니다. Singleton은 디자인 패턴 중 하나로, 애플리케이션에서 단 하나의 인스턴스만 존재하도록 보장하는 클래스입니다. 이번에는 Kotlin에서 Singleton을 구현하는 방법과 예제를 알아보겠습니다. Singleton 패턴이란? Singleton 패턴은 애플리케이션 전체에서 단 하나의 인스턴스만 존재하도록 보장하는 디자인 패턴입니다. 이 패턴은 전역 변수를 사용하지 않고, 클래스에서 직접 인스턴스를 관리하여 인스턴스화를 제어합니다. 이를 통해 여러 곳에서 동일한 인스턴스에 접근할 수 있으며, 데이터의 일관성과 메모리의 절약을 도모할 수 있습니다. Kotlin에서 Singleton 구현하기 Sington 을 구현하기위해선 런타임 동안 해당..

Kotlin Unchecked Exceptions [내부링크]

안녕하세요! Kotlin은 Java와 마찬가지로 예외 처리를 지원하며, 예외를 처리하는 방법과 종류와 함께 Kotlin의 Unchecked Exceptions에 관해 알아보겠습니다. 예외 처리(Exception Handling)란? 예외 처리는 프로그램의 실행 도중 발생할 수 있는 예외 상황을 처리하는 메커니즘입니다. 예외는 프로그램 실행 중 예상치 못한 상황 또는 오류를 나타냅니다. 예외 처리를 통해 예외 상황에 대응하고 프로그램의 안정성을 높일 수 있습니다. Checked Exceptions와 Unchecked Exceptions Java와 Kotlin은 모두 예외를 다루기 위해 Checked Exceptions과 Unchecked Exceptions을 제공합니다. Checked Exceptions은..

Kotlin의 예외처리 try-catch, throw, finally 에 대해 알아보기 [내부링크]

안녕하세요! 오늘은 Kotlin에서 예외 처리와 관련된 중요한 개념인 try-catch, throw, finally에 대해 알아보겠습니다. 예외 처리는 프로그램에서 발생할 수 있는 예기치 않은 상황에 대비하여 코드의 안정성과 신뢰성을 높이는 데 도움을 줍니다. 예외 처리란? 예외 처리는 프로그램 실행 도중 예기치 않은 상황이 발생했을 때 이를 적절하게 처리하는 메커니즘입니다. 이러한 상황은 주로 실행 중인 코드에서 오류가 발생했거나 외부 리소스에 접근하는 도중에 문제가 발생할 때 발생합니다. try-catch 문 try-catch 문은 예외가 발생할 수 있는 코드를 실행하고 예외를 캐치하여 처리하는 데 사용됩니다. 기본적인 문법은 다음과 같습니다. try { // 예외가 발생할 수 있는 코드 } catc..

Kotlin extension - 확장 함수와 확장 프로퍼티 [내부링크]

확장 함수와 확장 프로퍼티: Kotlin에서 기존 클래스에 새로운 함수와 속성 추가하기 안녕하세요! Kotlin에서 클래스에 새로운 함수와 속성을 추가하는 방법에 대해 이야기해보겠습니다. Kotlin에서는 확장 함수와 확장 프로퍼티를 사용하여 기존 클래스에 대해 마치 내장 함수와 속성처럼 새로운 멤버를 추가할 수 있습니다. 이를 통해 기존 클래스를 확장하여 더 풍부한 기능을 제공할 수 있습니다. 확장 함수 (Extension Functions) 확장 함수는 기존 클래스에 새로운 함수를 추가하는 방법입니다. 즉, 이미 정의된 클래스에 대해 외부에서 함수를 정의하여 마치 클래스의 일부인 것처럼 사용할 수 있습니다. 확장 함수는 해당 클래스의 인스턴스를 수신 객체로 받아 사용할 수 있으며, 이를 활용하여 해당..

Kotlin의 null 안전성 ( Nullable vs Non-nullable ) [내부링크]

Kotlin의 null 안전성 개념과 Nullable과 Non-nullable 타입 안녕하세요! Kotlin 언어에서의 null 안전성 개념과 사용법에 대해 알아보도록 하겠습니다. Kotlin은 안전한 null 처리를 위해 nullable과 non-nullable 타입을 지원합니다. 이를 통해 null 관련 버그를 사전에 방지하고 코드의 안정성을 높일 수 있습니다. Nullable 타입 Nullable 타입은 null 값을 허용하는 타입을 의미합니다. 변수 또는 속성을 선언할 때 ?를 사용하여 nullable 타입으로 정의할 수 있습니다. 이렇게 하면 해당 변수나 속성에 null 값을 할당할 수 있습니다. var nullableString: String? = "Hello" nullableString = ..

Kotlin의 List, Map, Array 사용법과 확장 함수들 [내부링크]

Kotlin에서의 리스트, 맵, 배열 사용법과 Kotlin이 제공하는 유용한 확장 함수들 Kotlin에서 리스트, 맵, 배열은 다양한 응용 프로그램에서 널리 사용되는 기본 데이터 구조입니다. Kotlin에서의 사용법과 Kotlin이 제공하는 유용한 확장 함수를 이해하면 프로그래밍 경험을 크게 향상시킬 수 있습니다. 이 블로그 포스트에서는 Kotlin에서의 리스트, 맵, 배열 구문을 살펴보고, Kotlin이 제공하는 편리한 확장 함수에 대해 알아보겠습니다. List Kotlin에서 리스트는 순서가 있는 중복을 허용하는 요소의 컬렉션입니다. 이들은 List 인터페이스로 표현됩니다. 리스트에서 사용되는 일반적인 동작과 확장 함수를 살펴보겠습니다. 리스트 생성 Kotlin에서 리스트를 생성하기 위해 listOf..

Kotlin 객체 생성과 class 과 data class의 차이 [내부링크]

Kotlin에서의 객체 생성하는 방법과 class 와 data class 의 차이 안녕하세요! Kotlin에서 객체를 생성하는 방법과 class와 data class의 차이에 대해 알아보겠습니다. 객체 생성 방법 Kotlin에서 객체를 생성하는 가장 일반적인 방법은 class를 사용하는 것입니다. class 키워드를 사용하여 클래스를 정의하고, 그 클래스의 인스턴스를 만들 수 있습니다. 아래의 예제를 살펴보겠습니다. class Person { var name: String = "" var age: Int = 0 fun introduce() { println("제 이름은 $name이고, $age살입니다.") } } fun main() { val person = Person() person.name = "J..

Kotlin의 조건문과 반복문 ( if, when, for, while ) [내부링크]

Kotlin의 조건문과 반복문: if, when, for, while의 사용법 알아보기 안녕하세요! 오늘은 Kotlin 프로그래밍 언어에서 조건문과 반복문을 사용하는 방법에 대해 알아보겠습니다. Kotlin은 Java와 함께 안드로이드 앱 개발에 널리 사용되는 언어로, 간결하고 효율적인 문법을 가지고 있습니다. 조건문과 반복문은 프로그래밍에서 매우 중요한 개념이며, Kotlin에서도 다양한 형태로 지원됩니다. 조건문 (if문) if문은 조건에 따라 코드의 실행 흐름을 제어하는데 사용됩니다. Kotlin의 if문은 다음과 같은 형태를 가지고 있습니다. if (조건식) { // 조건이 참일 경우 실행되는 코드 } else { // 조건이 거짓일 경우 실행되는 코드 } 예를 들어, 숫자를 입력받아 양수인지 음..

Kotlin의 변수와 데이터 타입 [내부링크]

Kotlin의 변수와 데이터 타입: 사용 방법과 차이점 설명하기 안녕하세요! 이번에는 Kotlin의 변수와 데이터 타입에 대해 알아보겠습니다. Kotlin은 다양한 데이터 타입을 지원하며, 변수를 선언할 때 명시적으로 데이터 타입을 지정할 수 있습니다. 이번 글에서는 Kotlin에서 변수를 사용하는 방법과 데이터 타입의 차이점에 대해 자세히 알아보겠습니다. 변수 선언과 사용 Kotlin에서 변수를 선언할 때는 var 또는 val 키워드를 사용합니다. var로 선언한 변수는 가변(mutable) 변수로 값을 변경할 수 있습니다. 반면에 val로 선언한 변수는 불변(immutable) 변수로 한 번 초기화되면 값을 변경할 수 없습니다. var age: Int = 25 val name: String = "Jo..

Kotlin 기본 개념 [내부링크]

Kotlin이란 무엇인가요? 안녕하세요! 오늘은 Kotlin에 대해 알아보겠습니다. Kotlin은 JetBrains에서 개발한 정적 타입 언어로, Java와 100% 상호 호환되는 언어입니다. Kotlin은 Java 개발자들을 위해 만들어졌으며, Java와 비교해 훨씬 간결하고 효율적인 코드 작성을 가능하게 합니다. 여러분들에게 Kotlin의 개요와 기본 개념을 소개해드리겠습니다. Kotlin의 주요 특징 Kotlin은 다양한 특징을 가지고 있어 개발자들에게 많은 이점을 제공합니다. 다음은 Kotlin의 주요 특징입니다 간결성: Kotlin은 코드를 간결하게 작성할 수 있도록 설계되었습니다. 불필요한 보일러플레이트 코드를 줄이고 간단하면서도 가독성 높은 코드를 작성할 수 있습니다. 상호 호환성: Kotl..