분류 전체보기 118

Dart 문법(6)

동기 프로그래밍코드상에 적힌 대로, 순차적으로 작업이 진행되는 프로그래밍 방식결과값이 나올 때까지 다른 모든 연산이 멈추기 때문에, 한번에 하나씩의 작업을 수행하게 된다. 비동기 프로그래밍여러 작업이 있을때, 하나의 작업이 완료될 때까지 기다리지 않고 동시에 여러가지 작업을 수행하는 방식의 프로그래밍결과값이 나올 때까지 다른 모든 연산이 멈추는 것이 아니기 때문에 다른 작업을 계속 할 수 있다. 비동기 프로그래밍 키워드Future제네릭 타입으로써, 비동기 프로그래밍에서 사용되는 대표적인 클래스라고 할 수 있다.작업이 성공적으로 완료되었을 때 해당 결과값을 반환하고, 실행을 종료한다.// 일반적 형태로 사용하는 futureFuture n = Future.value(3);Future name = Future..

Dart 문법 2024.11.04

Dart 문법(5)

## 해당 글은 강의를 들으면서 알고있던것을 적는게 아닌, 모르고 있던것을 알았을때 적어 놓은것임 클래스 (Class)class Person { // 속성 String name; int age; // 생성자 Person(this.name, this.age); // 메서드 void introduce() { print('안녕 ? 나는 $age살 $name !'); }} 예외 (Exception)프로그램이 실행되는 동안 발생할 수 있는 예외적인 상황을 '예외' 라고 한다.Exception에 대한 처리는 Exception 클래스를 상속받은 객체로 다룰 수 있다.일반적으로 이 기능은, 예외를 처리할 수 있는 개발자에게 유용한 기능이며, 해당 기능을 통해 오류 상황에 대한 로그를 얻는데 ..

Dart 문법 2024.11.01

TIL - 콘솔 쇼핑몰 (24.10.31)

1. IF 로 여러가지 조건을 처리하기 보단, Switch를 사용하여 보다 구별하기 쉽게 코드 작성if (a == 1) { // 상품 목록 출력 myshoppingmall.showProducts();} else if (a == 2) { // 장바구니 담기 insert_product(myshoppingmall);} else if (a == 3) { showshopping(myshoppingmall);} else if (a == 4) { if (check_exit()) { print('이용해 주셔서 감사합니다 ~ 안녕히 계세요 !'); break; } else { print('종료하지 않습니다.\n'); }} else if (a == 6) { resetshopping(mysh..

TIL 2024.10.31

TIL - Inlay Hint

VSCode에 있는 기능중 하나인 Inlay Hint 기능이다. 명시되지 않은 변수나 함수의 타입을 VSCode가 추론하는데, 어떤 타입으로 추론했는지 알려주는 기능이다. 다만, 이게 항상 켜져있는 경우, 사람에 따라서는 거슬릴 수도 있기 때문에 설정값을 바꿔주면, 단축키로 켰다 껏다는 할 수 있다.  Setting 에 들어가 lnlay를 검색하면 이 버튼을 통해 제어할 수 있게 된다.  On : 항상 Inlay Hint를 켜놓는다.OnUnlessPressed : Inlay Hint를 항상 켜 놓지만, '단축키' 를 누르면 잠시 꺼진다OffUnlessPressed : Inlay Hint를 항상 꺼 놓지만, '단축키' 를 누르면 잠시 켜진다Off : 항상 Inlay Hint를 꺼놓는다.  여기서 단축키는 ..

TIL 2024.10.31

TIL - Flutter / Mac OS 작업환경 설정

맥북을 대여받은겸 MAC 개발환경 구축을 해보기로 했다.아래 순서를 순서대로 하는것이 중요! 1. brew 설치// Terminal/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 설치가 완료되면, PATH 설정 하는법을 알려주는데..“Run these two commands in your terminal to add Homebrew to your PATH:” 해당 문구 밑의 명령어 2~3줄을 각각 한줄씩 복사하여 터미널에서 각각 실행한다.## 설정이 완료되었다는 알림글귀 같은건 나오지 않으니 주의!! 마지막으로brew --version 해당 명령어로, 정상적으로 brew 설치가 되었..

TIL 2024.10.30

TIL - 콘솔 쇼핑몰 (24.10.29)

##  1. 입력이 정상적으로 되지 않는 현상import 'dart:io';... // mainString? input = stdin.readLineSync();print(input);  개발 환경은 vscode를 이용해 dart 코드를 구동중이었으며, 입출력을 받는 코드를 작성하는 도중에 오류가 발생하였다. VSCode의 디버그 콘솔이 C++ 프로그램의 입출력을 지원하지 않기 때문이었다.  vscode 내부 콘솔을 사용하는것이 아니라, 터미널이나 외부 콘솔을 사용하면 정상적으로 입출력 되는 것을 볼 수 있었다.    ##  2. 한글입력이 정상적으로 되지 않는 현상 개발 환경은 vscode를 이용해 dart 코드를 구동중이었으며, 상품명을 입력받는 코드를 작성하는 도중에 오류가 발생하였다.import ..

TIL 2024.10.29

a + b + c = 1000 이 되는 피타고라스 수 ( Dart문법 (4) 연습용 )

>> 함수형 프로그래밍을 적극 활용하자>> 나름 where, expand, reduce 사용법 좀 익히기 좋은 문제였던듯.. ㅎㅎ import 'dart:math';void makeList(int n, List> p) { for (int i = 1; i > p = []; makeList(1000, p); var pita = p .where((list) { return (pow(list[0], 2) + pow(list[1], 2) == pow(list[2], 2)); }) .expand((list) => list) .toList(); print(pita); var mul = pita.reduce((a, b) => a * b); print(mul);}

알고리즘 2024.10.28

Dart 문법(4)

## 해당 글은 강의를 들으면서 알고있던것을 적는게 아닌, 모르고 있던것을 알았을때 적어 놓은것임 고차 함수 (Higher-order Function)함수를 다루는 함수, 컬렉션 타입의 데이터에 있는 요소를 처리하거나 변환할때 주로 사용된다.map// 원본 데이터를 '직접 가공하지 않고', 특정 함수를 적용한 새로운 데이터를 반환한다.// '매개변수'는 컬렉션 내부 요소값을 의미한다!!// map(([매개변수]) { return [매개변수에 적용할 동작] });List fruitList = ['사과', '오렌지', '수박'];var delicious = fruitList.map((fruit) { return '맛있는 $fruit';});print(delicious); // (맛있는 사과, 맛있는 오렌지..

Dart 문법 2024.10.28

Dart 문법(3)

## 해당 글은 강의를 들으면서 알고있던것을 적는게 아닌, 모르고 있던것을 알았을때 적어 놓은것임 함수의 연속으로 프로그램을 구성하는 방식 (메서드 체이닝)int number = -12345var result = number.abs().toString().contains('3');print(result); // true 가변적인 데이터의 사용을 최소화하여 프로그램을 구성하는것이 좋다!// 출력값이 항상 매개변수 (입력값) 에만 의존하게 하는게 좋다.int multiply(int a, int b) { return a * b;}// 만일 함수 내부에서 값을 변경하는 명령형 프로그래밍 방식int number = 0;void increaseNumber() { number += 1;}void main() { ..

Dart 문법 2024.10.28

Dart 문법(2)

## 해당 글은 강의를 들으면서 알고있던것을 적는게 아닌, 모르고 있던것을 알았을때 적어 놓은것임List여러개의 같은 타입의 값을 그룹으로 묶어서 효율적으로 관리할 수 있음// indexOf 를 통해 특정 요소의 Index 값을 알 수 있다.// 만약 중복 요소가 있을 경우 앞 index를 반환하고, 없으면 -1을 반환한다.List s = ['K','A','S','K'];print(s.indexOf('K')); // 0print(s.indexOf('G')); // -1// add, addAll 을 통해 특정 요소를 추가할 수 있다.// 추가적인 index값을 넣어주면, 해당 index값으로 값을 넣을 수 있다. default값은 마지막에List s = ['K','A','S','K'];print(s.add..

Dart 문법 2024.10.28