본문 바로가기

하늘빛QP

(38)
코틀린 Kotlin 다루기 (5) - 함수 (Function) 함수 (Function) 이번 편에서는 함수에 관하여 다뤄보려고 합니다. 이전 강좌부터 쓰였던 print() 같은 코드를 함수라고 합니다. 함수 하고 비슷한 용어인 메소드(Method)가 있는데, 함수의 경우 독립적인 실행을 메소드의 경우 클래스 등 안에 종속된 경우에 쓰입니다. (클래스는 나중에 다뤄보겠습니다.) 이번 강좌에서는 함수라는 용어로 통일해서 사용하겠습니다. 먼저 Function.kt를 만들어주겠습니다. 함수의 형태 기본적인 함수의 형태는 아래와 같습니다. fun 이름(): 반환타입 { // 코드 } 만약 number()이라는 함수를 사용했을 때 정수 10을 반환(return)하고 싶다면, fun number(): Int { return 10 } 이렇게 쓰고 number() 이와 같이 사용할..
코틀린 Kotlin 다루기 (4) - 연산자 (Operators) 연산자(Operators) 연산자를 이번 편에서 배우지만 이전 강좌에서 연산자를 써본 적이 있습니다. 연산자는 대입, 산술, 논리, 비트 연산자 등이 있습니다. 이와 함께 어떤 연산자가 먼저 계산되는지에 관한 우선순위에 대해 알아봅시다. 연산자 소개 순서는 제가 임의로 작성하였습니다. 우선순위는 아래에서 최종적으로 다루겠습니다. 시작하기 앞서 Operators.kt 파일을 만들고 여기서 진행해봅시다. 산술 연산자 (+, -, *, /, %) 산술 연산자는 덧셈, 뺄셈, 나눗셈, 곱셈 그리고 나머지 연산(MOD)을 수행하는 연산자입니다. 간단한 예시를 보고 넘어가겠습니다. fun main() { val a = 1+2 val b = 1-2 val c = 1*2 val d = 1/2 val e = 1%2 pr..
코틀린 Kotlin 다루기 (3) - Nullable, Non-Null Nullable, Non-Null 저번 시간에서는 자료형에 대해 알아보았습니다. 자료형에는 빈 값이 들어갈 수가 있으며 이를 null이라고 칭합니다. Java에서는 null이 들어가면서 발생하는 오류(예외)를 NullPointerException이라고 합니다. 반면 Kotlin에서는 따로 정해진 null 예외처리가 없으며 기본적으로 변수에는 null 값이 들어갈 수 없습니다. Nullable 그럼 Kotlin에서 변수에 Null 값을 넣으려면 어떤 방법을 써야 하는지 알아봅시다. 시작하기 앞써 NullSafety 이름을 가진 Kotlin 파일을 만들어주고 진행하겠습니다. fun main() { var text: String = "문자열" text = null } 지난 시간에 잠깐 나온 String 자료형..
코틀린 Kotlin 다루기 (2) - 변수 (Variable), 자료형 (Data type) 변수(Variable), 자료형 (Data type) 이번 글에서는 Kotlin의 자료형에 관하여 다루고 이를 Java 하고 간단하게 비교해보려고 합니다. 그전에 변수에 대해서 알아야 될 필요가 있습니다. 변수는 프로그래밍을 하면서 문자, 숫자 등 정보를 저장하는 공간을 뜻합니다. 게임으로 예를 들자면 유저의 닉네임이 변수에 담길 수도 있고 레벨, 능력치 등이 담길 수 있습니다. Kotlin에서 변수 선언하기 변수를 Kotlin에서 사용해봅시다. 먼저 저번 글에서 만들었던 프로젝트에서 코드를 작성하기 위해 파일을 만들어줘야 합니다. Kotlin은 확장자 .kt를 가진 파일 안에서 코드를 작성하며 이 코드는 Package(패키지)라는 개념으로 묶입니다. kr └ skylightqp └└ learning └..
코틀린 Kotlin 다루기 (1) - Kotlin 사용 환경 구축하기 Kotlin 사용 환경 구축하기 앞으로 쓸 게시물은 쓰면서 Kotlin을 제가 Kotlin을 복습하는 겸 기초를 알리고자 쓰는 강좌입니다. 해당 강좌는 프로그래밍을 Kotlin으로 접하시는 분을 대상으로 합니다. 단, Java 기초 환경 (JDK 설치 등) 구축을 마쳤다는 가정을 하고 진행하며 Java 8 기준으로 작성합니다. Kotlin? Kotlin을 다뤄보기 전에 어떤 언어인지 간단하게 설명을 하고자 합니다. Java 계열 IDE로 알려진 (제가 생각하기에) 대표적인 두 IDE, Eclipse와 Intellij IDEA가 있습니다. Kotlin은 Intellij IDEA를 만든 회사, Jetbrains에서 제작한 프로그래밍 언어입니다. Kotlin은 JVM, Javascript(Java와 완전히 다..
Ask 익명질문 개발기 Typescript + Vue(Nuxt) + Firebase를 이용하여 Ask페이지를 만들어보았습니다.디자인하기 위해 Bulma.io 프레임워크를 사용했습니다. 페이지에서 질문 요청을 날리면 답변을 대기하기까지 기다리는 공간 또는 답변이 완료돼서 질문이 저장될 공간(DB)를 마련해야되는데 Firebase cloudstore 을(를) 이용하였습니다. Bulma를 이용하여 디자인을 완료하였습니다.Firebase가 server-side, client-side 둘 다 지원하는 라이브러리라서 client-side를 server-side로 쓰다보니 삽질을 많이 했었습니다. 페이지에서 질문을 요청하면 HTTP(Rest) API를 통하여 서버로 요청을 하게 만들었습니다. 메인 페이지에서 질문을 클릭하면 상세 페이지로 ..
AirQualityTool 디자인 재작업 2018년 8월에 아두이노를 이용해서 웹에서 집의 온도, 습도, 공기품질을 확인할 수 있는 프로젝트를 진행하였습니다.당시에는 웹디자인을 부트스트랩으로 제작하였으며 각 그래프들을 한 페이지에 표시해 보기 편하지는 않았습니다. 그래프의 가독성을 조금이나마 높이고자 디자인을 변경해보았습니다. 기존에 쓰던 부트스트랩을 안쓰고 Bulma.io를 이용하였습니다.Nuxt.js를 이용하여 프론트엔드를 제작하였으며 Express로 만들어진 백엔드를 JavaScript에서 TypeScript로 변경하였습니다. 본문과 사이드바를 나누어주었습니다.사이드바는 컴포넌트로 분리하고 어느 페이지에 가도 항상 표시되기 때문에 layouts/default.vue에 넣어두었습니다. 마지막으로 본문에 그래프를 넣어 완성하였습니다. 온습도 ..
RC자동차 만들기 몇 년 전 알리익스프레스에서 RC카 만드는 세트를 구매한 적이 있습니다.장난감에 들어가는 모터가 차체 모양이 장착해서 팔았었습니다. RF 통신을 이용했었는데 연결이 자주 끊기는 바람에 만들고 잊힌 작품이였습니다.(끊기는 원인은 모르겠는데 RF 송, 수신기 원인이 아닐 수도..?) 그래서 한참 시간이 지난 지금! 통신 방식을 블루투스로 변경하여 다시 만들어보았습니다. 사용 부품: 아두이노 나노, HC-06, L298N사용 전원: 모터용 전원 18650 배터리 (3.7V * 2), 아두이노용 전원 AA 건전지 (1.5V * 4) 기존 RC카의 경우 Mirco-Type B 규격을 사용하는 아두이노 나노였습니다.개발의 편리를 위해 남는 마이크로 5핀 단자를 사용하는 아두이노로 변경하였습니다. RF 통신 모듈의 ..

반응형