728x90

전체 글 187

[Kotlin] 기본적인 뷰 살펴보기

[Kotlin] 기본적인 뷰 살펴보기 뷰는 위젯이라고 하기도 한다. TextView는 문자열을 화면에 출력하는 뷰 text attribute를 추가하면 코드에 자동 생성된다. android:text 속성 : TextView에 출력할 문자열을 지정 - android:text = "helloworld" android:textColor 속성 : 문자열의 색상을 지정 - android:textColor = "#FF0000" android:textSize 속성 : 문자열의 크기를 지정 - android:textSize = "20dp" android:textStyle 속성 : 문자열의 스타일을 지정 - android:textStyle = "bold" - bold, italic, n..

Front-End/Kotlin 2024.04.16

[Kotlin] 안드로이드 XML, 모듈 생성, View 속성

[Kotlin] 안드로이드 XML, 모듈 생성, View 속성 XML : eXtensible (확장가능한) Markup Language html과 같은 마크업 언어로 시작태그와 종료태그로 이루어져 있다. 데이터를 저장하고 전달하기 위해 디자인된 언어로 사전 정의 태그가 존재하지 않는다. 따라서 사용자가 원하는 대로 작성하면 된다. XML의 요소는 계층적 구조를 가져 XML DOM 트리를 생성한다. 홍 현 30 서울 면목동 // 요소 명이 없는 경우 = 최상위 요소(root element)는 하나만 가져야 한다. 요소명이 XML naming convention에 적합해야 한다. 시작 태그 다음에는 반드시 종료 태그가 있어야 한다. 요소 내용이 없으면 빈 요소로 둘 수 있다. html 태그는 대소문자 구별이..

Front-End/Kotlin 2024.04.15

[Kotlin] build.gradle, MainActivity.kt, activitiy_main.xml

[Kotlin] build.gradle, MainActivity.kt, activitiy_main.xml 파일 build.gradle 파일이 두 가지가 있다. 하나는 project, 하나는 module이다. build.gradle (project)는 사용하고 있는 버전 같은 프로젝트 전체 설정이 있다. build.gradle (module)은 각각 모듈에 대한 설정이 있고 dependencies가 있다. 가장 상위 폴더가 모듈이다. kotlin+java 폴더 아래 com.example.application에서 개발을 진행하면 된다. AppCompatActivity를 상속받아 MainActivity를 정의하였다. 안드로이드에서는 폴더명 하나 하나가 변수처럼 쓰이고 있다...

Front-End/Kotlin 2024.04.14

[Kotlin] 코틀린 언어 소개

[Kotlin] 코틀린 언어 소개 코틀린에서는 ; 생략 가능하다. 한 줄에 여러 명령을 작성하는 경우에는 반드시 ;로 구분한다. 프로젝트 시작 시 아무것도 없는 Empty Views Activity로 프로젝트를 생성하고, 프로젝트 Name의 첫 글자는 대문자로 설정한다. name을 설정하면 package name이 자동으로 설정된다. 프로젝트를 저장하는 save location에는 한글이 포함되면 안 된다. 안드로이드 스튜디오는 에디터, 안드로이드 sdk는 컴파일시켜 준다. ex) API 24 ("Nougat"; Android 7.0) ==> API 24, 7.0 이후의 sdk에서는 모두 실행 가능하다. mainActivity에서 id값 설정은 삭제하고 시작하자. gradle sync를 잘 시켜주자. s..

Front-End/Kotlin 2024.04.13

[OS] 프로세스와 스레드

[OS] 프로세스와 스레드 학습목표 - 프로세스가 생성된 후 어떤 상태 변화를 거치는지 알아보자 - 프로세스 제어 블록의 구성과 문맥 교환 시 동작 과정을 이해하자 - 프로세스의 생성과 복사, 전환 과정을 이해하자 - 스레드의 개념을 이해하고 멀티스레드 시스템의 장점을 알아보자 프로세스의 개념 프로그램이란 저장장치에 저장되어 있는 정적인 상태입니다. 프로세스란 실행을 위해 메모리에 올라온 동적인 상태, 즉 실행 중인 프로그램을 말합니다. 프로세스는 메모리에 적재되어 운영체제의 제어를 받습니다. 운영체제로부터 PCB라는 프로세스 제어 블록을 할당받는다는 것은 곧 프로세스가 존재한다는 의미입니다. 프로세스 제어 블록 PCB란 프로세스를 위해 관리하는 자료구조입니다. 프로세스 구분자란 PCB에서 각 프로세스 ..

CS/OS 2024.04.09

[ Kotlin ] 기본문법 3 상속, 람다, 익명 함수

[ Kotlin ] 기본문법 3 상속, 람다, 익명 함수 1. 상속 // 상속을 가능하게 하려면 open을 써야 한다 // 클래스, 변수, 함수 모두 open을 써야 한다 open class User1(name:String){ // 매개변수에 var를 붙여 멤버변수로 생성이 가능하다 open var name = "lee" // 멤버변수를 클래스 안에 생성 가능하다 //constructor(name:String){ // 생성자를 직접 넣거나 init{ // init 사용 println("specialUser.. ${this.name}.. $name") this.name = name println("specialUser.. ${this.name}.. $name") //this.name = name } ope..

Front-End/Kotlin 2024.04.05

[ Kotlin ] 기본문법 2 조건문, 반복문, 객체지향

[ Kotlin ] 기본문법 2 조건문, 반복문, 객체지향 1. 조건문 - 기본 fun main() { var data1 = 10 if(data1 > 0){ println("positive") } else if (data1 == 0){ println("0") } else{ println("negative") } } - 코드의 공통된 특징을 앞으로 빼기, 코틀린 코드 간략하게 만들기 fun main() { var data1 = 10 var data2:Int if(data1 > 0){ println("positive") data2 = 1 } else if (data1 == 0){ println("0") data2 = 0 } else{ println("negative") data2 = -1 } // 위의 식과..

Front-End/Kotlin 2024.04.05

[ Kotlin ] 기본문법 입출력, 자료형, 함수, 배열

[ Kotlin ] 기본문법 입출력, 자료형, 함수, 배열 1. 입출력, 자료형 // 전역변수는 반드시 초깃값 설정 var data5:Int = 40 // var dat6L:Int 데이터 선언만 하면 오류가 난다 // Int, Short, Long, Double, Floot, Byte, Boolean, Char는 lateinit 사용불가 lateinit var data6 : String // 타입만 설정, 전역변수의 초기화를 미룸 fun main() { // var과 val 의 차이 var data1 = 10 // 변경 가능, 데이터 타입 자동 할당 val data2 = 10 // 변경 불가능 data1 = 20 //data2 = 10 // 오류 // Int, Short, Long, Double, Flo..

Front-End/Kotlin 2024.04.03

JAVA 람다식과 컬렉션 프레임 워크

JAVA 람다식과 컬렉션 프레임 워크 람다식 람다식이란 메서드를 하나의 식으로 표현한 것이다. 함수를 하나의 식으로 표현함으로써 간략하게 표현을 할 수 있고, 메서드의 이름과 반환값이 사라져 익명함수라고 부른다. 람다식은 익명 함수답게 메서드에서 이름과 반환 타입을 제거하고, 매개변수 선언부와 몸통 {} 사이에 ->를 사용한다. 람다식 변환하는 방법 1. return 생략 2. 중괄호 생략 3. 중괄호에 문장 하나면 세미콜론 생략 가능 4. 중괄호에 문장이 return 문일 경우 중괄호 생략 불가능, 세미콜론 생략 불가능 5. 매개변수 타입 생략 6. 매개변수 1개이면 매개변수 괄호 생략 7. 매개변수 타입이 있다면, 괄호 생략 불가능 람다식 변환 예시 예시 1 int max(int a, int b){ ..

JAVA Synchronized 스레드 동기화

JAVA Synchronized 스레드 동기화 스레드 동기화 (Thread Synchronized) 멀티스레드 환경에서 여러 스레드가 하나의 공유자원에 동시 접근하지 못하게 막는 것이다. 공유데이터가 사용되어 동기화가 필요한 부분을 임계영역(critical section)이라고 부르고, 이 임계영역에 synchronized 키워드를 사용해 여러 스레드가 동시에 접근하는 것을 방지하여 동기화시킨다. Synchronized로 지정된 임계영역은 한 스레드가 접근해 사용할 때 lock이 걸림으로써 다른 스레드가 접근 불가능 하도록 해줍니다. 해당 스레드가 임계영역의 코드를 모두 실행한 후 벗어나게 된다면 unlock 상태가 되고, 다른 스레드가 임계영역에 접근하여 다시 lock을 걸고 사용가능하게 된다. 스레드..

728x90