Languages 120

[글또] JavaScript 개발자와 Dart 찍먹하기

여러분, Flutter 프레임워크에서 사용되는 언어 Dart에 대해서 들어보셨나요? 개발자라면 JavaScript, Python, Java 등 다른 언어를 이미 접해 보셨을 거라고 생각합니다 저는 그 중에 JavaScript를 주로 사용해 왔고 이번에 Dart를 처음 접하게 되었는데요, JavaScript를 이미 알고 있는 개발자의 시선에서 본 Dart를 정리하면서 학습 콘텐츠를 만들면 재미있겠다는 생각이 들어 이 글을 작성해 보았습니다 특히 Flutter에 흥미가 있는 프론트엔드 개발자라면 재미있게 읽으실 것 같아요 😉 이 글은 JavaScript를 이미 알고 Dart는 처음 접하는 개발자들을 대상으로 작성하였으며, 말 그대로 찍먹이기 때문에 깊이 있는 내용이 아닐 수 있습니다. 물론 JavaScrip..

Languages/Dart 2023.02.11

[TIL] 자바스크립트(node.js)로 백준을 풀어보자

초보자가 자바스크립트로 백준 문제 푸는 법 🤔 스터디에서 백준 문제를 도전하게 되어 위 영상을 참고해 node.js 입력 방법을 정리해 보았다 예시로 백준 4344번 문제를 풀어보겠다🔽 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 1단계 5 5 50 50 70 80 100 7 100 95 90 80 70 60 50 3 70 90 80 3 70 90 81 9 100 99 98 97 96 95 94 93 91 js 파일과 동일 경로에 문제 입력을 담은 txt 파일 생성 2단계 (거의 고정) const fs = require("fs"); const filePath = process.pla..

[노마드코더] #5 Classes

Your First Dart Class class Player { final String name = "yee"; int age = 23; void sayHi() { print("Hi my name is $name"); } } void main() { var player = Player(); player.sayHi(); } class에서 property는 var 키워드가 아닌 타입 지정으로 선언 (final 가능) 인스턴스 생성시 new 키워드 생략 가능, var 키워드 변수에 대입 class method에서 property 접근 시 this는 기본적으로 생략 가능 Constructors class Player { /* late final String name; late int age; Player(St..

Languages/Dart 2023.01.12

[HUFS/객체지향프로그래밍] #13 입출력 스트림

입출력 스트림 스트림(Stream): 자바의 데이터 입출력 흐름으로, 스트림 방향에 따라 종류 결정 바이트 기반 스트림: 그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력 문자 기반 스트림: 문자 데이터를 읽고 출력 바이트 기반 스트림 1. 바이트 출력 스트림: OutputStream 2. 바이트 입력 스트림: InputStream 반환된 4byte 중 마지막 1byte에만 데이터 포함 입력 스트림으로부터 바이트를 더 읽을 수 없다면 -1 반환 읽을 수 있는 마지막 바이트까지 반복해 1byte씩 읽기 가능 문자 기반 스트림 1. 문자 출력 스트림: Writer 2. 문자열 입력 스트림: Reader 반환된 4byte 중 마지막 2byte에 데이터 포함 반환된 int 값을 char 타입으로 변환해 문자 ..

Languages/Java 2023.01.10

[노마드코더] #4 Functions

Defining a Function String sayHello(String name) => "Hello $name"; void main() { print(sayHello("yee")); } 반환 값의 타입을 명시해 함수 선언 (반환 값이 없다면 void) JS와 동일하게 return을 생략하는 arrow function 가능 Named Parameters String sayHello( {required String name, int age = 23, required String country}) => "$name / $age / $country"; void main() { print(sayHello(name: "yee", age: 23, country: "Korea")); } 함수 선언부에서 매개변수를..

Languages/Dart 2023.01.09

[노마드코더] #3 Data Types

Basic Data Types void main() { String name = "tom"; bool alive = true; int age = 10; // 정수 double money = 52.55; // 실수 num x = 12; num y = 1.2; } 거의 모든 타입은 클래스 기반의 객체로, 다양한 메소드 지원 int와 double은 num을 상속 / 드물지만 num 자체 사용도 가능 List void main() { var giveMeFive = true; var item = [ 1, 2, 3, 4, if (giveMeFive) 5, ]; List numbers = [ 1, 2, 3, 4, ]; } 리스트를 선언하는 두 가지 방법 우선적으로 var 사용 / Class에서는 타입 명시 마지막 요..

Languages/Dart 2023.01.09

[HUFS/객체지향프로그래밍] #12 컬렉션 프레임워크

컬렉션 프레임워크 java.util 패키지에서 객체 관리를 위해 제공하는 인터페이스와 구현 클래스를 컬렉션 프레임워크라 한다 List 컬렉션 배열과 비슷하게 객체를 인덱스로 관리 저장 용량이 자동으로 증가하며 객체 저장 시 자동 인덱스 부여 객체의 추가/삭제/검색을 위한 다양한 메소드 제공 객체 자체를 저장하는 것이 아닌 객체의 번지를 참조 (중복 저장 가능) Set 컬렉션 List 컬렉션과 달리 객체의 저장 순서가 유지되지 않음 객체를 중복하여 저장할 수 없고 하나의 null만 저장 가능 HashSet, LinkedHashSet, TreeSet 등으로 활용 Map 컬렉션 key와 value로 구성된 Map.Entry 객체를 저장하는 구조 Entry는 Map 인터페이스 내부에 선언된 중첩 인터페이스 ke..

Languages/Java 2023.01.09

[노마드코더] #2 Variables

Hello World void main() { print("hello world"); } main 함수는 모든 Dart 프로그램의 Entry point 프로그램 실행 시 main 함수에 쓴 코드들이 호출 (없다면 실행 불가) 세미콜론(;)이 필요 (일부로 안 쓸 때도 있어 formatter가 붙여주진 않음) The Var Keyword void main() { var food1 = "pizza"; // 방법1 String food2 = "chicken"; // 방법2 food1 = "hamburger"; } var 키워드 or 타입을 직접 지정해 변수 선언 var 키워드의 경우 Dart가 자동으로 타입을 추론 값의 업데이트는 같은 타입으로만 가능 함수나 메소드 내부에 지역 변수를 선언하는 경우 ~ var..

Languages/Dart 2023.01.08

[HUFS/객체지향프로그래밍] #11 스레드

스레드 실행 중인 하나의 애플리케이션을 프로세스(process)라고 하며, 애플리케이션이 실행되면 운영체제로부터 실행에 필요한 메모리를 할당 받아 코드를 실행한다 운영 체제는 CPU 및 메모리 자원을 병렬로 할당하는 멀티 태스킹이 가능한데, 각 프로세스는 순차적으로 실행할 코드 이름인 스레드(thread)를 병렬로 실행할 수 있다 메인 스레드 모든 자바 애플리케이션은 메인 스레드가 main() 메소드를 실행하며 시작된다 작업 스레드 멀티 스레드 애플리케이션을 개발하려면 몇 개의 작업을 병렬로 실행할 지 결정한 뒤 각 작업별로 클래스를 상속/생성해서 작업 스레드를 객체화해 사용해야 한다 동기화 메소드 멀티 스레드 프로그램에서 스레드들이 객체를 공유해 작업하면 예상치 못한 결과가 나올 수 있다 스레드가 사용..

Languages/Java 2023.01.06

[HUFS/객체지향프로그래밍] #10 기본 API 클래스

자바 API 도큐먼트 공식 문서에서 자주 사용되는 클래스 및 인터페이스 API를 찾아 사용🔽 Overview (Java SE 19 & JDK 19) This document is divided into two sections: Java SE The Java Platform, Standard Edition (Java SE) APIs define the core Java platform for general-purpose computing. These APIs are in modules whose names start with java. JDK The Java Development Kit (JDK) AP docs.oracle.com Object 클래스 equals() 메소드의 매개 변수 타입은 Object인..

Languages/Java 2023.01.06