일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- AI
- regression
- LG
- 머신러닝
- LG Aimers
- 회귀
- 티스토리챌린지
- 분류
- 해커톤
- ChatGPT
- LLM
- 딥러닝
- Machine Learning
- 지도학습
- deep learning
- GPT-4
- OpenAI
- supervised learning
- Classification
- 오블완
- LG Aimers 4th
- gpt
- PCA
Archives
- Today
- Total
SYDev
[풀스택서비스프로그래밍] Lecture 01. Dart 언어의 이해(기초) 본문
경희대학교 이성원 교수님의 풀스택 서비스 프로그래밍 수업을 기반으로 정리한 글입니다.
Null-Safety (Null에 대한 프로그램 안정성 보장)
- Dart 언어는 Null-Safety가 default
- Dart의 변수들 -> 기본적으로 null 값을 가질 수 없음.
- 변수들은 사용하기 전에 반드시 초기화가 필요
- Dart 언어에서, 강제로 null 값을 갖는 변수를 정의할 수 있음
- int? i; -> i는 int 객체 혹은 null 저장 가능 -> null은 "의미없는 값을 저장하는 객체"로 정의
- runtimeType 메소드(null 객체가 지원하는 유일한 메소드)
- 주어진 변수/객체가 null -> null을 리턴
- 주어진 변수/객체가 null이 아닌 경우 -> 해당하는 type 리턴
- A ?? B
- A가 null이 아닌 경우 -> A value로 계산
- A가 null -> B value로 계산
- A = (B ??= C)
- B가 null이 아닌 경우 -> A를 B로 설정
- B가 null -> A를 C로 설정
- '?.' 메소드 호출 연산자
- 객체가 null이 아니면 -> 문제없이 method/property에 접근
- 객체가 null -> '?.' 문법으로 호출한 method/property는 dart 언어가 null로 처리
- map
- map의 default mode는 nullable
- map['key']!.length -> null이 아니라 사용자가 보장한다는 의미 ->> type check를 하거나, !로 null이 아니라는 것을 보증해야 함
Pointer
char *ptr = 0
ptr은 그저 char를 가리키고 있을 뿐이지, char이 아닌 pointer일 뿐이라 size는 다르다.
ptr의 size는 32bit OS에서 32bit
pointer의 의미? -> ptr이 가리키는 컴퓨터 메모리의 주소 지점으로 가서, 해당 위치에 존재하는 byte를 character로 취급
변수의 이름 -> 변수를 구성하는 byte의 첫 번째 주소값
함수의 이름 -> 주소
Mixin
sofrtware는 재사용이 필요한데, 이때 수많은 사용자가 사용 -> 누구나 객체 내부의 member, function에 접근할 수 있게 되면, 보안 혹은 관리 측면에서 취약해짐
python -> object라는 type으로부터 파생된 class들 -> derived class끼리는 치환 가능(dynamic language 특징)
가장 기초가 되는 객체지향 컨셉에서는 base class가 2개 이상이 되는 경우 피해야 함
-> C++의 standard class인 iostream이 istream ostream을 계승 -> 취약점 존재
modern한 language들은 이런 취약점을 보완하여 나옴
mixin: 여러 클래스의 기능을 합쳐서 특정 클래스에 주입하지만, 각 class를 base class로 취급하지는 않음
'3학년 2학기 전공 > 풀스택서비스프로그래밍' 카테고리의 다른 글
MongoDB 기본 개념 (0) | 2024.11.21 |
---|---|
[풀스택서비스프로그래밍] Lecture 02. RESTful API Client & Server 개발 (2) | 2024.10.01 |
[풀스택서비스프로그래밍] Lecture 01. Dart 언어의 이해(심화) - part2 (0) | 2024.09.25 |
[풀스택서비스프로그래밍] parallelism vs concurrency (0) | 2024.09.23 |
[풀스택서비스프로그래밍] Lecture 01. Dart 언어의 이해(심화) - part1 (1) | 2024.09.16 |