일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- deep learning
- Shellcode
- Javascript
- BOF
- php
- flask
- hacking
- 웹해킹
- backend
- Scala
- 딥러닝
- BOF 원정대
- Linux
- 러닝스칼라
- c
- 인공지능
- Python
- c++
- webhacking
- 러닝 스칼라
- mysql
- ChatGPT
- 파이썬
- 챗GPT
- Web
- 리눅스
- hackthissite
- 백엔드
- hackerschool
- 경제
- Today
- Total
목록전체 글 (206)
jam 블로그
컬렉션(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로 시작하며 이름이 따라온다 - 그 뒤 괄호 안에는 매개변수 목록이 온다 (매개변수 타입은 추론하지 않으므로 지정해야 한다) - 그 뒤 : 뒤에 결과 타입을 지정한다 (결과 타입은 추론이 가능하므로 생략할 수 있다, 재귀 함수면 생략 불가능) - 함수 본문은 표현식 또는 표현식 블록으로 구성되어 있으며, 마지막 줄이..