일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 딥러닝
- Scala
- 러닝 스칼라
- c
- c++
- deep learning
- 경제
- 백엔드
- hackerschool
- ChatGPT
- php
- 인공지능
- Python
- 리눅스
- mysql
- Javascript
- BOF
- Web
- 챗GPT
- 러닝스칼라
- 파이썬
- flask
- 웹해킹
- BOF 원정대
- hacking
- Linux
- webhacking
- hackthissite
- backend
- Shellcode
- Today
- Total
목록2020/09/28 (10)
jam 블로그
스칼라는 일급 함수, 선언형 프로그래밍을 지원한다. **일급 함수(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 ..
스칼라에서 값과 변수에 저장된 데이터를 더 이상 사용하지 않으면 자바 가상 머신의 가비지 컬렉션이 자동으로 할당을 취소한다. 직접 할당 취소할 필요도 능력도 없다. 리터럴(literal) 숫자 5, 문자 A, 텍스트 ’Hello, World’처럼 소스 코드에 바로 등장하는 데이터 값 (value) 불변의 타입을 갖는 스토리지 단위이며, 데이터를 저장 - 명시적인 타입이 있어야 하는 것은 아니다, 스칼라 컴파일러가 할당된 데이터를 기반으로 추론한다. => 타입 추론 (type inference) - 코드를 작성하는데 타입 추론은 편하지만 가독성을 떨어뜨리지 않는 범위에서 사용 val [: 타입] = 변수 (variable) 값을 저장하고 그 값을 가져올 수 있도록 할당되거나 예약된 메모리 공간에 대응하는 ..
해당 챕터는 책과 좀 다르게 intellij로 환경 설정 하는 방법으로 적겠습니다. 1.1. 설치하기 Intellij를 처음 설치 후 첫 실행 시 아래와 같은 화면에서 설치 할 수 있습니다. 새 프로젝트를 만들 시 다음과 같이 선택 할 수 있습니다. Use library에 버전이 없을 경우 Create를 누릅니다. 이미 Scala를 따로 깔으셨다면 자동으로 잡힐꺼라 생각됩니다. Use library에 버전이 없을 때 Create 버튼을 누르면 아래와 같이 나옵니다. 다운 받을 버전 선택 설치가 완료 되면 Use library에 버전이 들어가서 보여집니다. 참조 : https://wingnim.tistory.com/71 1.1.1. 번외 Intellij 첫 실행 시에 scala를 깔지 않았다면 2가지 방법..