본문 바로가기

분류 전체보기

[Kotlin] 알아가기 - 5 1. Generics 일단 아래 소스를 보자. list를 초기화 하고 초기 값을 할당하였다. Finder라는 클래스를 만들고 findItem 메서드를 구현했다. (using Trailing Lambda) findItem 메서드를 통해 사용자가 원하는 문자열을 찾는 간단한 기능의 예제이다. fun main(){ val listOfItems = listOf("Kotlin", "Java", "WPF") val finder = Finder(listOfItems) finder.findItem("WPF"){ println("Found $it")//Found WPF } } class Finder(private val list: List){ fun findItem(element: String, fountItem: (e.. 더보기
[Kotlin] 알아가기 - 4 (OOP) 1. Object Oriented Programming 코틀린은 객체지향프로그래밍언어이다. 일반적으로 명사가 객체가 되고 동사가 객체 내부에서 메서드가 된다. 예를들어 '자동차가 시속 100km/h로 주행중이다' 라는 문구에서 자동차는 객체이고 시속 100km/h는 멤버변수, 주행중은 메서드로 구성할 수 있다. fun main(){ val car = Car("Green", "Model3") val secondCar = Car("Black", "ModelX") println("Car color: ${car.color}, model: ${car.model}") println("Second car color: ${secondCar.color}, model: ${secondCar.model}") car.spee.. 더보기
[Kotlin] 알아가기 - 3 (Collections) 코틀린에서 Collections는 3가지 종류가 있다. 1. list 2. set 3. map 여기서도 읽기/쓰기가 가능한지(mutable), 읽기만 가능한지(immutable)에 따라 선언방식이 다르다. 1. List 리스트는 배열과 같은 기능을 가진다. listOf로 초기화하면 읽기만 가능한 리스트가 생성이 되고, mutableListOf로 선언한 리스트는 add나 removeAt등의 함수를 이용해 값을 변경할 수 있다. 아래 소스코드는 리스트의 값 변경 및 다양한 출력 방법이다. fun main(){ val list = listOf("Kotlin", "Java", "C")//읽기 val mutableList = mutableListOf(1, 2, 3, 4)//읽기, 쓰기 //val mutableLi.. 더보기
[Kotlin] 알아가기 - 2 (fun, Lambda) 1. 코틀린 함수 코틀린에서 함수 선언은 fun으로 시작한다. calculate 함수의 파라미터 fitst와 second는 매개변수이름이고 Int형으로 받는다는 의미이다. fun main(){ calculate(1, 10) } fun calculate(first: Int, second: Int){ var sum = 0 for(i in first..second){ sum += i } println(sum) } 다음과 같이 default argument로 설정할 수도 있다. fun main(){ calculate(1, 10, "Calculate", 5) } fun calculate(first: Int = 1, second: Int = 1000, message: String, multipleOf: Int){ .. 더보기
[Kotlin] 알아가기 - 1 1. 변수 var, val var는 variable의 약자로 값의 읽기, 쓰기가 허용 val는 value의 약자로 값의 읽기만 허용 fun main(){ var name = "Kotlin" val myName = "Ko" println("Hello $name") println("Hello $myName") name = "Changed Name" myName = "Changed Name" } 위 코드에서 name은 variable로 선언되어 있고, myName은 value로 선언되어 있다. value로 선언된 myName 변수는 초기화때 말곤 값의 변경이 불가하기 때문에 myName = "Changed Name" 라인은 오류를 발생시킨다. 2. 명시적 타입 선언 컴파일러에게 이 변수는 어떤 타입이다 라고 .. 더보기
[Ubuntu] .py 시작 프로그램 등록 이전에 RTSP Server를 파이썬으로 만드는 것을 포스팅했습니다. https://imsoftpro.tistory.com/75 이번에는 이어서 부팅이 되면 자등으로 RTSP Server가 실행되도록 구성해볼 예정입니다. 테스트 환경은 다음과 같습니다. 하드웨어 Odroid C4 운영체제 Ubuntu 20.04.5 LTS 파이썬 버전 3 1. service 파일 생성 - Visual Studio Code나 텍스트 에디터를 사용하여 *.service 파일을 생성해줍니다. *.service에 입력할 내용은 아래와 같습니다. Decription: 서비스 설명 After: 수행 후 시스템 run-level 설정 Type: 프로세스 기동 타입 WorkingDirectory: 아래 명령어가 동작할 기본 경로 Exe.. 더보기
[GStreamer] RTSP 서버 구축 (Python, Odroid) 오드로이드 보드가 2종류가 있어서 모두 동일하게 기본적인 RTSP 서버 구축을 해보았습니다. 개발 환경 1 개발 환경 2 하드웨어 Odroid C4 Odroid-XU4 운영체제 Ubuntu 20.04.5 LTS Ubuntu 22.04 LTS 개발 언어 Python 2.7.18 Python 3.10.4 라이브러리 GStreamer 1.16.3 GStreamer 1.20.1 개발 도구 Visual Studio Code 기타 장비 웹캠 이번 환경 구축의 목적은 소형 컴퓨터에 카메라를 장착하여 아래와 같은 환경을 구성하기 위함입니다. 이번 포스팅은 이 중 데이터링크 모뎀은 제외하고 무선 공유기를 사용하고 짐벌 카메라는 웹캠으로 대체합니다. 1. 오드로이드 환경 구축 - 오드로이드 공식 홈페이지에서 보드 모델명에.. 더보기
Git Page 무료 테마 추천 추천하기 전에 주저리... 취미 삼아 간단한 갤러리용 웹하나 개발해보려고 발을 슬쩍 들이댔는데 사용하는 언어가 너무 많다. Liquid, Markdown, HTML, CSS, Javascript, sass, YML ... 등등 이걸 하나 하나 다 공부하면서 웹 만드는건 좀 아니다 싶어서 일단 잘 만들어진 샘플 테마를 좀 참고해야할 것 같아서 좀 찾아봤다. 번호는 순위와 관계없이 그냥 먼저 찾은거다. 1. minimal-mistakes Git Page 소개하기 포스트에서 계속 사용했던 샘플 테마이다. 데모 샘플도 있고 처음 학습하기 좋은 테마라고 생각한다. https://jekyll-themes.com/minimal-mistakes/ Minimal Mistakes | Jekyll Themes Minimal.. 더보기