728x90
반응형
[ Flutter ][Flutter] 간단한 UI 알아보기2023-11-28 10:03:09완성화면 Lib DirectoryThis is the most important folder in the project, used to write most of the dartcode. By default, the lib folder contains the main.dart file, which is the application’s entry point. This configuration, however, can be changed.pubspec.yamlThis is the file we use to add metadata and configuration specific to our application. With this file’s help, we can configure dependencies su..
[ Flutter ][Flutter] 프로젝트 구조 알아보기2023-11-27 09:12:45Flutter UI 모든 것은 widget 공식 문서를 참조하면 편하게 학습할 수 있다. Widget 구성 및 상태가 주어질 때 화면에 보여지는 view가 어떤 모습이어야하는지를 기술 위젯은 용도에 따라 상태 저장 (Stateful) 또는 상태 비저장(Stateless)으로 구분 StatefulWidget 사용자가 위젯과 상호작용할 때 위젯의 상태가 변경되면 stateful 위젯 위젯의 수명동안 변경될 수 있는 상태를 유지 StatefulWidget 클래스가 State 클래스의 인스턴스를 생성 StatefulWidget 클래스 그 자체는 변경 불가능 State 클래스가 위젯의 수명동안 상태를 유지 동적으로 변화함 수신된 데이터에 따라 변경됨 위젯의 상태는 상태 객체(State Object)에 저장 위젯 ..
[ Flutter ]Dart 문법 알아보기 - 32023-11-26 13:56:04mixin 여러 클래스 계층에서 클래스의 코드를 재사용하는 방법 , 로 여러 클래스의 코드를 사용할 수 있다. class Engine { int power = 5000; } // extends 해서 Engine 클래스 쓰고 싶은데..BMW가 Engine은 아니잖아요ㅠ (다형성을 만족하지 않음) class BMW with Engine { // with 키워드를 사용한다. } void main() { BMW b = BMW(); print(b.power); // 5000 } 다른 언어에서는 composition이라는 개념을 사용한다. composition 클래스 간에 포함 관계(composition)를 맺어주는 것 한 클래스의 멤버 변수로 다른 클래스 타입의 참조 변수를 선언하는 것을 의미 + 다트 문법을 복..
[ Flutter ]Dart 문법 알아보기 - 22023-11-25 09:20:35클래스 객체를 정의하는 설계도 객체 클래스(설계도)를 통해 현실 세계에 뿌리내릴 수 있는 것 아직 현실 세계에 존재하진 않지만 존재할 수 있는 가능성이 있는 것 ⇒ 메모리에 로드할 수 있는 것 형태 class Dog { String name = "happy"; int age = 4; String color = "white"; } 이때 클래스는 메모리에 로드 (객체 생성) 되지 않은 상태이다. 객체 생성하기 Dart는 new 키워드를 생략할 수 있다. void main(){ // java에서는 익숙한 형태 // new : 클래스를 메모리에 로드하겠다는 것을 의미 // Dog dog = new Dog(); Dog dog = Dog(); print("강아지 이름은 ${dog.name}입니다."); // 클래스..
[ Flutter ]Dart 문법 알아보기 - 12023-11-24 15:08:05함수 method 코드의 재사용을 용이하게 해준다. 기본 형태 리턴타입 함수이름(){ 내용.. } 매개변수가 있는 함수 void add(int x, int y){ int sum = x + y; print("$x + $y = $sum"); } 리턴 값이 있는 함수 int add (int x, int y){ return x + y; } 익명함수와 람다 (화살표 함수) 어떤 행위를 정의하는 함수들이 있다고 생각해보자. void run(){ print("달리기"); } void study(){ print("공부하기"); } .. 하루의 계획을 세우는 함수를 정의해야한다고 생각해보자. 하루의 계획은 매일 매일 달라지는데 그때마다 해당하는 함수를 만들어 호출하는 것은 너무 비효율적이다. 그리고 그때마다 setTod..
[ Flutter ]Dart 문법 알아보기 - 02023-11-23 23:01:172022년 진행했던 Flutter 스터디의 내용을 옮긴 것 입니다. DartPadDartPad로 다트 문법을 알아보자 Dart 실행 방식main 메소드 내부가 실행된다.void main() { }Dart 문법 알아보기변수다트는 타입을 먼저 선언할 수도, 타입을 추론할 수도 있다.void main() { int n1 = 1; // type variable = data; double d1 = 10.1; bool b1 = true; // Boolean String s1 = "Amy"; var n2 = 1; var d2 = 10.1; var b2 = false; var s2 = "Amy"; }var 로 선언된 변수의 경우 타입 추론이 가능하다.print(n2.runtimeType); // int여기서 n2 = ..
[ Android ]GPS 보정하기 - 032023-11-22 22:37:03지난이야기 GPS 보정하기 - 02 들어가며 GPS 보정하기 - 01 사실 이 알고리즘은 이전 프로젝트에서 개발 되었던 것인데, GPS 정확도 개선을 위한 좌충우돌 얼레벌레 MapMatching 구현기들어가며 정말 오랜만에 글을 쓰는 것 같다. 못 www.pinslog.com 지난 글에서는 알고리즘의 문제점들을 개선하는 과정을 작성했다. 이번 글에서는 경로이탈에 관해서 작성해보려고 한다. 경로이탈 개인적으로 나는...내비게이션의 꽃은 경로이탈이라고 생각한다...(부들 사용자들은 자유의지를 가지고 있기 때문에 절대로 안내된 경로대로 가지 않는다. 난 그걸 내 눈으로 똑똑히 보았다. 그래서 경로이탈이 감지되면 사용자의 현재 위치를 바탕으로 목적지까지의 길을 재탐색하여 다른 경로를 제공해야한다. 그런데 보정 ..
[ pinslog ]같은 일을 하는 사람을 만나는 것은 즐겁다2023-11-21 23:05:30오늘은 먼저 퇴사하신 안드로이드 개발자분과 좋아하는 주임님과 함께 밥을 먹었다. 인수인계를 해주시면서 일주일 남짓 함께 이야기를 나누었던 게 내 안드로이드 개발자 인생 최고의 순간이었을 만큼 소중했던 기억인데, 그분과 다시 조우하게 된 것이다. 대화는 여전히 즐거웠다. 심도있는 이야기를 나눈 것은 아니었지만 같은 일을 한다는 것만으로도 뭔가 모를 힘이 되었다. 그리고 나를 개발자로 좋게 생각해주시는 것 같아 감사하고 뿌듯했다. 같이 계셨던 주임님도 내가 안드로이드 개발을 하는 것을 진심으로 좋아하고 프라이드를 가지는 것이 느껴진다고 말씀해주셨다. 좋은 말씀 덕에 추운날 따뜻하게 집으로 돌아올 수 있었다. 그리고 더 좋은 개발자가 되고 싶어졌다. 내 마음을, 진심을 알아주는 사람이 있다는 건 정말 귀한 경..
728x90
반응형