일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- backend
- deep learning
- BOF 원정대
- 챗GPT
- c
- Web
- hackthissite
- 러닝 스칼라
- BOF
- mysql
- 백엔드
- 러닝스칼라
- Javascript
- webhacking
- 파이썬
- ChatGPT
- c++
- Scala
- 경제
- 인공지능
- hackerschool
- Shellcode
- 리눅스
- 웹해킹
- hacking
- 딥러닝
- flask
- Linux
- Python
- php
- Today
- Total
목록러닝 스칼라 (7)
jam 블로그
불변의 컬렉션 List, Set, Map 은 불변의 컬렉션 코드의 안정성을 높이고 버그를 방지하기 위해 데이터와 데이터 구조는 변경되거나 자신의 상태를 바꿀 수 없다. 가변 컬렉션 생성하기 collection.mutable은 자동으로 추가되지 않아서 반드시 포함해야한다. //불변 collection.immutable.Buffer collection.immutable.Set collection.immutable.Map //가변 collection.mutable.Buffer collection.mutable.Set collection.mutable.Map 가변 컬렉션을 이용하면 추가나 변경을 할 수 있다. toList , toSet, toMap 메소드를 이용해서 가변 컬렉션을 불변의 컬랙션으로 만들 수 있다..
컬렉션(collection) 프레임워크는 배열, 리스트, 맵, 집합, 트리와 같이 주어진 타입을 가지는 하나 또는 그 이상의 값을 수집하는 데이터 구조를 제공한다. 1. 성능이 좋고, 객체지향적, 타입-매개변수화 - 자바 컬렉션 라이브러리 1. jvm이기 때문에 자바 컬렉션을 스칼라에서 활용 가능 스칼라는 여러 이유로 컬렉션을 재정의함 1. 고차함수 이용 (map, filter, reduce) 1. mutable/immutable 타입의 계층 구조 리스트, 집합, 그리고 맵 List 타입: immutable 단반향 연결 리스트 scala> val numbers = List(32, 95, 24, 21, 17) numbers: List[Int] = List(32, 95, 24, 21, 17) scala> v..
스칼라는 일급 함수, 선언형 프로그래밍을 지원한다. **일급 함수(first-class function)** : 함수형 프로그래밍에서 함수는 일급(first-class) 객체 다른 데이터 타입처럼 리터럴 형태로 생성될 수 있다. val, var로 저장될 수 있다. 다른 함수의 매개변수나 반환값으로 사용될 수 있다. **선언형 프로그래밍(declarative programming)** : 고차함수(또는 다른 함수를 사용하는 로직)는 단순히 이루어져야 할 작업을 선언하고 그 작업을 직접 수행하지 않음 함수 타입과 값 함수 타입은 입력 타입과 반환값 타입의 그룹으로 표현된다. ([, ...]) => def double(x: Int): Int = x * 2 val myDouble: Int => Int = dou..
순수 함수 입력 매개변수만을 가지고 계산을 수행한 후 값을 반환한다. 함수 외부의 어떤 데이터도 사용하거나 영향을 주지 않는다. 동일 입력에 대해 항상 같은 값을 반환한다. 주어진 입력으로 계산하는 것 이외에 프로그램의 실행에 영향을 미치지 않아야 한다, 즉 부수 효과(side effect) 가 없다 함수 정의 def multiplier(x:Int, y:Int):Int = {x * y} def로 시작하며 이름이 따라온다 - 그 뒤 괄호 안에는 매개변수 목록이 온다 (매개변수 타입은 추론하지 않으므로 지정해야 한다) - 그 뒤 : 뒤에 결과 타입을 지정한다 (결과 타입은 추론이 가능하므로 생략할 수 있다, 재귀 함수면 생략 불가능) - 함수 본문은 표현식 또는 표현식 블록으로 구성되어 있으며, 마지막 줄이..
표현식 표현식(expression) 은 값을 반환하는 코드의 단위입니다. // String 리터럴 "hello" "hel"+'l'+'o' 표현식으로 값과 변수 정의하기 아래와 같이 표현식의 반환값을 값 또는 변수에 할당하는 식으로 나타낼 수 있습니다. val [: ] = 표현식 블록 표현식 블록 은 중괄호({,})를 사용하여 하나로 묶어서 사용합니다. 두 표현식 val x = 5 * 20; val amount = x + 10 표현식 블록 val amount = { val x = 5 * 20; x + 10} 여러 줄로 표현 val amount = { val x = 5 * 20 x + 10 } 삼중 구조 후반부에 제어 구조를 다룰 때 다룹니다. { val a = 1; { val ..