본문 바로가기

분류 전체보기68

코틀린 익히기 14 - 코루틴 Coroutine 보통 한 프로세스 안에서 여러 개의 일을 동시에 진행시키기 위해서는 멀티스레드를 사용합니다. 자바 쉽게 배우기 20 - 스레드에서도 스레드에 대해 다룬 적이 있죠.❓ 프로세스란 무엇인가요?- 일반적으로 실행 중인 프로그램을 의미하고, 작업(Job) 혹은 태스크(Task)라고 불리기도 합니다.❓ 멀티스레드란 무엇인가요?- 멀티스레드는 한 프로세스 안에서 여러 개의 일이 동시에 진행되는 것을 의미합니다. 코틀린으로 이러한 동시성 프로그래밍을 구현할 때는 스레드뿐만 아니라 코틀린에서 기본적으로 제공하는 코루틴을 활용할 수 있습니다.코루틴은 멀티 스레드가 가지는 단점(디버깅, 예측의 어려움, 코드 복잡도 높음)을 극복할 수 있기에 자주 사용되는 방식입니다. 동기와 비동기동기 : 작업을 순서대로 진행함비동기 : .. 2024. 1. 14.
자바, 코틀린, 파이썬 개발언어 한눈에 비교하기 Java, Kotlin, Python 언어를 한눈에 비교할 수 있도록 표로 정리해 보았습니다. JAVA KOTLIN PYTHON 클래스명 PascalCase PascalCase PascalCase 변수, 함수명 camelCase camelCase snake_case 주석 //, /* */ //, /* */ # 주요 문법 문장 끝에 ; {} {} 띄어쓰기 중요 : 와 띄어쓰기로 {} 대체 pass 로 추후에 구현할 부분 대체 가능 규칙 클래스 밖에서 변수와 함수를 선언할 수 없습니다. 클래스 밖에서 변수와 함수를 선언할 수 있습니다. 클래스 밖에서 변수와 함수를 선언할 수 있습니다. 기본형 byte char int long float double boolean (true, false) 참조형 기본형을 제외.. 2023. 11. 28.
윈도우 10 잠금화면 사진 저장하고 싶다면? 윈도우 10 잠금화면 사진 저장하는 방법 1. 윈도우 검색상자에 아래 경로를 입력하고 검색되는 파일 폴더를 눌러주세요. %UserProfile%\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets 2. 폴더에 있는 모든 파일을 드래그해서 복사해(Ctrl + C)주세요. 3. 바탕화면에 새 폴더를 만들어 붙여 넣기 해 줍니다. 4. JPG 확장자로 변경해 주기 위해 아래 명령어를 파일 경로창에 입력해 주면 됩니다. cmd /c "ren *.* *.jpg" 2023. 11. 27.
영화 제대로 추천받고 싶다면 왓챠피디아 추천 & 리뷰 왓챠피디아는 영화, TV 프로그램, 책, 웹툰 등 다양한 분야의 콘텐츠에 평점을 주고 기록할 수 있는 서비스입니다. 자신이 본 문화콘텐츠를 기록하면 그 기록을 바탕으로 좋아할 만한 새로운 콘텐츠를 추천받을 수 있습니다. 가장 신기했던 점은 이전에 매긴 평점들로 아직 시청하지 않은 콘텐츠의 예상 평점을 계산해 준다는 것인데요. 생각보다 정확해서 놀랄 때가 많았습니다. 아래 링크를 통해 왓챠피디아 공식 사이트로 이동하실 수 있습니다. 왓챠피디아 - 영화, 책, TV 프로그램 추천 및 평가 서비스7억 개의 평가를 기반으로 나에게 딱 맞는 영화, 드라마, 책을 추천받으세요.pedia.watcha.com 앱 다운로드 왓챠피디아(WATCHA Pedia) - Google Play 앱*세상의 모든 취향을 내 손 안에*.. 2023. 11. 17.
배경화면으로 쓰기 좋은 무료 초고화질 이미지 사이트 5가지 컴퓨터 배경화면 사이트 1. Unsplash 아름다운 무료 이미지 및 사진 | Unsplash 어떤 프로젝트를 위해서든 다운로드 및 사용할 수 있는 아름다운 무료 이미지 및 사진입니다. 어떤 로열티 프리 또는 스톡 사진보다 좋습니다. unsplash.com 컴퓨터 배경화면으로 하기 적절한 초고화질 이미지가 많아 가장 많이 이용하는 사이트입니다. 주로 도시나 자연 풍경을 담은 사진들이 많습니다. 배경화면으로 검색하거나 혹은 메뉴 탭에서 배경 화면을 선택해 원하는 사진을 찾아보세요. 💛 감각적인, 세련된 사진을 좋아하신다면 추천드립니다. 2. Pixabay Pixabay에서도 배경화면으로 사용하기 좋은 무료 이미지들을 찾아볼 수 있습니다. 하지만 아쉽게도 1920x~ 까지는 로그인 없이 다운로드 가능하지만 .. 2023. 11. 14.
노션 간단히 해결할 수 있는 오류 모음 - 언어 설정, 한글 입력 딜레이, 빨간 줄 노션을 사용하다가 불편함이 생길 때마다 해결방법을 찾아 정리해 봤습니다. 세 가지 오류 모두 간단히 해결할 수 있으니 도움이 되셨으면 좋겠습니다. 언어 설정 오류노션 데스크톱 버전에서 한국어 설정이 적용되지 않을 때가 있습니다. 아마, 한국어로 설정되어 있던 메뉴들이 영어로 표기되어 있으실 겁니다. 다시 한국어로 변경하고 싶으시다면 아래의 세 가지 절차를 따라주시면 됩니다. 1. 왼쪽 메뉴바에서 Settings & members을 찾아 클릭합니다.2. 한국어로 설정되어 있는 Language를 English로 바꿔줍니다. 3. Language를 다시 한국어로 바꿔줍니다.다른 언어로의 설정은 문제를 해결할 수 없고 영어로 설정한 후 한국어로 변경해야 하는 듯합니다. 일본어로 설정한 후 한국어로 바꾸었을 땐 .. 2023. 10. 29.
글자 간격이 이상하게 나올 때 해결 방법 컴퓨터로 문서작업을 하다 보면 가끔씩 글자 간격이 평소와 다르게 나올 때가 있습니다. 위의 사진에서 처럼 띄어쓰기 간격이 글자 하나 크기만큼 커지고, 영문이나 숫자를 입력할 때에도 자간이 넓어지는 모습이죠. 이는 글자 설정이 [전자]로 설정되어 있어 발생하는 현상입니다. 따라서 [전자]를 [반자]로 설정해 주면 간단하게 해결할 수 있습니다. 1. 컴퓨터 화면 하단의 작업표시줄에서 [가] 또는 [A]로 표시된 한/영 전환키를 우클릭합니다. 2. 전/반자(F)를 클릭하고, 반자(H)를 눌러 체크해 줍니다. 반자로 설정을 변경해 주시고 입력해 보세요. 다시 이전처럼 입력되는 모습을 확인하실 수 있을 겁니다. 😉 2023. 10. 24.
코틀린 익히기 13 - 입출력 자바 쉽게 배우기 22 - 입출력 스트림스트림 스트림은 물줄기를 의미합니다. 입출력 스트림 또한 입출력을 위한 흐름을 의미합니다. 데이터는 출발지에서 목적지로 향합니다. 이 향하는 길을 이어주는 것이 입출력 스트림입니다.devdharu.tistory.com자바의 입출력 스트림에서 설명한 바이트 기반 스트림, 문자 기반 스트림, 보조 스트림 모두 사용할 수 있습니다.  입출력출력하기println() // 출력 후 개행print() // 출력 입력받기var str1: String? = readLine() // 문자열로 입력받기, null 허용 Ovar str2: String = readln() // 문자열로 입력받기, null 허용 Xvar str3: String? = readlnOrNull() // 문자열.. 2023. 10. 9.
코틀린 익히기 12 - 표준함수 표준함수표준 라이브러리에 포함되어 있는 함수를 표준함수라고 합니다. 코틀린의 표준함수는 람다식과 고차함수를 이용해 선언되어 있습니다. 표준함수를 사용하면 코드를 더 간결하고 쉽게 바꿀 수 있습니다. 어떤 함수들이 선언되어 있고, 어떻게 사용할 수 있는지 공부해 봅시다. 스코프 함수 Scope Function스코프 함수는 Kotlin 표준 라이브러리에서 제공하는 표준 함수입니다.코드 블록을 실행하는 것이 유일한 목적이며, 성능 최적화를 위해 모두 inline으로 선언되어 있습니다. 스코프 함수에는 let, also, apply, run, with가 있습니다.  let() In : 함수를 호출하는 객체 Out : 결괏값public inline fun T.let(block: (T) -> R): R { ret.. 2023. 10. 6.
코틀린 익히기 11 - 컬렉션 프레임워크 컬렉션 프레임워크컬렉션 프레임워크는 배열처럼 다수의 데이터를 한 묶음으로 보관, 처리할 수 있는 구조를 의미합니다. 배열보다 많은 기능을 가지고 있어 자주 사용됩니다.jdk1.2에 등장했으며 자바는 컬렉션 프레임워크를 위한 다양한 인터페이스와 클래스들을 제공하고 있습니다. 인터페이스와 클래스들은 java.util 패키지에 포함되어 있으며 핵심 인터페이스는 List, Set, Map입니다. 사용하려면 해당 클래스를 import 해주어야 합니다.컬렉션 프레임워크의 큰 틀은 모두 인터페이스로 설계되어 있고 이를 구현한 클래스들을 인스턴스화해 사용합니다. 각 인터페이스와 클래스들의 주요 메서드 위주로 알아봅시다.  컬렉션 인터페이스의 구조도인터페이스특징List /MutableList순서가 있는 데이터의 집합으로.. 2023. 10. 4.
코틀린 익히기 10 - 배열 배열 Array배열자바의 배열은 같은 타입의 여러 데이터를 하나로 묶어 보관하는 구조였습니다. 하지만, 코틀린의 배열은 여러 가지 타입의 데이터를 묶을 수 있습니다. 데이터들은 Index라는 번호를 통해 구분됩니다.   배열 생성배열을 생성하는 여러 가지 방법이 있습니다. 배열은 한 번 생성되고 나면 그 길이를 수정할 수 없습니다. arrayOf(), arrayOfNulls() arrayOf()를 사용하면 배열을 직접 입력해 생성할 수 있습니다. arrayOfNulls()를 사용하면 null로 구성된 배열을 만들 수 있습니다.val|var 배열이름 = arrayOf(배열)val|var 배열이름 = arrayOfNulls(사이즈) val numbers = arrayOf(1, 2, 3, 4)// [1, 2,.. 2023. 10. 1.
코틀린 익히기 9 - 변성 Variance 코틀린 익히기 8 - 제네릭제네릭 제네릭은 jdk 1.5부터 도입되었습니다. 타입을 미리 지정하지 않고 컴파일할 때 체크할 수 있도록 하는 기능입니다. 미리 타입을 지정해 두면 타입을 형변환하거나 체크해야 하는 번거로devdharu.tistory.com지난 글 제네릭에 이어서 변성에 대해 살펴보겠습니다. 지난 글에서 설명드린 것처럼 제네릭의 다형성은 제한을 갖습니다. 대입된 타입이 상속관계라 할지라도 다형성이 성립되지 않았죠. 변성을 사용하면 이러한 제한을 해제할 수 있습니다.  변성은 어려운 개념입니다. 아직 이해하기 어렵다면 건너뛰셔도 좋습니다!  변성 Variance변성이란 형식 매개변수가 클래스 계층에 영향을 주는 것을 말합니다.어떻게 영향을 미치는지에 따라 공변성, 반공변성, 무변성으로 분류됩니.. 2023. 9. 30.