본문 바로가기
커피 한 잔 '김재호' 님의 특강을 들었다 커피 한 잔 개발자 김재호 개발자님을 만나게 되었다 ( 새싹 최고 )  강의장 들어오시자마자 그래 나 개발자야. 라는 포스를 뽐내고 계셔서 한 눈에 알아볼 수 있었다. ㅎㅎㅎ나는 까먹기 대마왕이라 항상 메모를 하는데, 강연을 들으며 메모한 문장들을 다시 꺼내먹어보도록 하겠다.개발자의 path는 다양하다. 정답은 없다. 1인 개발자도 무조건적인 정답이 아니다.  여러분 시선에서만 볼 수 있는걸 찾아라앱 소비자 로그를 열심히 봐라  사람마다 개인의 context는 너무나도 다르다. 그가 어디에서 자랐는지, 누구를 만났는지, 성격적 특성, 트라우마, 현재의 고민 등등. 우린 아주 다른 배경들을 지녔다. 그치만 우린 자꾸 정해진 정답을 원한다. 1인 개발자, ㅇㅇ개발자, 대기업 취직 등등 답이 있길 원한다 (그.. 2024. 8. 28.
위젯 만들 때 마다 계속 나오는 @override와 super.key는 뭐지? 1. @override- 명시적 재정의: 부모 클래스에 있는 메서드를 자식 클래스에서 재정의하고 있다는 것을 명확하게 보여준다. 사실 굳이 쓰지 않아도 되는 어노테이션인거다!  import 'package:flutter/material.dart';void main() { runApp(const MyApp());}class MyApp extends StatelessWidget { const MyApp(); // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( home: LandingPage(), ); }}ex) 위 코드 `My.. 2024. 8. 26.
왜 자꾸 const를 쓰라고 하는거지? UI를 만들고 있는데, 수많은 노란 줄이 뜬다 다 const를 쓰라는 요청인데, 자세히 읽어보면 Use 'const' with the constructor to improve performance 라고 나온다.즉 const의 사용이 퍼포먼스 향상에 도움이 된다는건데, 왜인지 살펴보도록 하자const는 상수를 쓸 때 썼던 키워드다컴파일 타임에 값을 고정하는 개념으로, 불변성을 보장한다 즉 const의 역할은 1. 객체를 재사용하고,2. 불필요한 빌드를 방지하며, 런타임 연산을 줄임으로써 성능을 최적화하는 것이다.📖 정리런타임 연산엔 cpu의 자원을 쓴다. const를 쓰면 const로 값을 고정한다. (더 이상 변하지 않는다) 그렇다면 cpu는 한 번만 값을 기억하면 더 이상 자원을 써도 되지 않게 된다.. 2024. 8. 26.
1. Postman 사용해보기 Postman : api 사용을 쉽게 테스트 할 수 있도록 도와주는 툴이다 ! 다운로드 링크 https://www.postman.com/downloads/ Download Postman | Get Started for FreeTry Postman for free! Join 30 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster.www.postman.com Restful API를 사용하기 전에 이걸로 테스트 해보곤 하는데,https://web.postman.co/웹으로도 이용할 수 있는듯하다. 다운로드와 '동일하게' 작동하는지는 모르겠다   포스트맨 이용.. 2024. 8. 21.
새싹 용산캠퍼스 4주차 회고 1.오늘 깃과 플러터 프로젝트 연동을 시작했다~! 플러터 튜토리얼들을 이것저것 보고 있는 중인데 UI를 손쉽게 구현할 수 있다는 점이 맘에 든다 ! 아직 알아야할게 산더미지만 Material Design 3 ? 이라는 시스템도 있고 이미 구현된 UI 틀이 많아서 개발자에게 편리하겠군 이라는 생각이 들었다.맨 처음 플러터 프로젝트를 run 하면 보여주는 화면인데처음에 시뮬레이터를 실행하고 아주 깜짝 놀랐다. 하-얀 빈 화면이 아니라 사용자와 인터렉트를 할 수 있는 화면을 기본으로 구현하는구나..! 싶었다 (많이 보여준다~ 라는 느낌이 들었다)신기해서 친구에게 보여줬더니.. 오 되게 안드스럽다. 라고 했다. 특히 저 debug 라고 감싸져있는 띄나 플로팅 버튼의 shadow가 그렇다고 했다 ㅋㅋㅋㅋ HIG에.. 2024. 8. 21.
개발자의 스레드 관리는 비효율적 in 플러터 조금은 당돌한 제목으로 시작하는 플러터의 동시성에 대한 글이 글은 수업 중 강사님의 말로 시작됐다.. flutter는 단일스레드를 원칙으로해요  일반개발자가 스레드 건드리는 것보단 컴퓨터한테 맡기는 걸 더 효율적으로 보는거야   ... 네에~?~?~?!!! 메모리 관리는 개발자의 꽃. 아니었나요?  iOS는 기본적으로 UI작업을 메인스레드에서만 진행한다. 오래걸리는 네트워킹 및 등등등 많은 작업들이 메인스레드에 추가되게되면,메인스레드가 스파이크를 찍어 cpu사용량을 110%를 찍을때가 있다. 이러면 느려져서 디버깅을 통해 앱이 왜 느려졌는지, 어디서 느려졌는지 파악하고, 만약 메인스레드에 너무 몰려있는게 원인이 될시에 개발자들은 작업들을 큐로 분산시켜 메인스레드가 하는 일을 줄여줘야한다 .Swift는 G.. 2024. 8. 21.
Stream, Future 둘의 차이점은 뭐지? 🤓❔❓나의 의문점 :Stream이 뭘까?기존 반응형 프로그램에서 얘기하는 Stream과 같은 스트림인가 ( 아니다.. 그냥 비동기 처리를 위해 만들어진 스트림일뿐이었다)둘 다 비동기 프로그래밍 관련한거라면 Future와 Stream은 언제쓰는거지.. 잘 이해가 안가서 작성하는 글  1. Stream 알아보기- Stream이란?Stream은 마치 파도처럼 데이터를 한 줄로 보내는 거라고 생각하면 된다. 데이터를 한 번에 다 보내는 게 아니라, 순서대로 하나씩 흘려 보내는거다. 마치 물이 흐르는 강이나, 한 줄로 나란히 서 있는 사람들이 차례로 앞으로 걸어가는 것과 비슷하다. 예를 들어보자. 유튜브 에서 동영상을 본 적이 있을 거다. 동영상이 한 번에 모두 로딩되는 게 아니라, 조금씩 조금씩 로딩되면서 재.. 2024. 8. 12.
Enum이 뭐고, Enhanced Enum은 왜 쓸까? Enum- 열거형, Enum에 있는것들은 상수다.- 유한한 상수 집합이라는 특징을 가지고 있다.- UpperCamelCase로 작성해야됨 enum Color { red, green, blue } Color.red : 이 자체가 Color type값 Color.red.name : red 라는 String (String 값이 필요하면 name으로 읽으면 됨) Color.red.index : red 가 위치한 index, 0부터 시작 Color.vlaues : iterable하게 enum을 쓸 수  있다. list화 시켜주는거임  map,list 와 달리 enum을 쓰는 이유 list. map은 리스트 맵이 나열된 값을 쓰는 경우가 꽤 많은데, 이런 일반적인 Map,list를 쓰면 개발자가 '해석'해야됨 (비.. 2024. 8. 12.
Call by Reference, Call by Value, 깊은 복사, 얕은 복사 in Dart 이 글에서는1. 얕은 복사(Shalldow Copy)2. 깊은 복사(Deep Copy)3. Call by Reference4. Call by Value5. 깊은 참조?의 개념이 나옵니다. 단어가 매우 많이 나오니 헷갈리지 마시길 ! 기존에 나는 ! 위에 나오는 개념들에 엄청난 혼동이 왔었다. Call by Value는 원본 값을 바꾸지 않기 때문에 얕게 복사하는 것이다 ! 라고 생각했고, Call by Reference는 메모리 주소로 접근하기 때문에 원본을 건드린다 즉 깊게 참조하는 것이다. 라고 생각했다  검색하니 모든게 틀렸다 ㅋㅋ   나의 문제점* 얕은 복사, call by reference 등의 개념을 다 !제대로 몰랐다1. 얕은 복사와 깊은 복사의 의미부재2. 얕은 복사(shallow Copy.. 2024. 8. 7.
새싹 용산캠퍼스 2주차 마무리 회고 1.메이트분들과 전날 목요일에 부랴부랴 우리 잡 페스티벌에 가자 ! 하고 우당탕탕 등록한 뒤 다녀왔다.꽤 이르게 도착해서 수경 담당자님에게 커피도 얻어 마시고, 퍼스널 컬러도 진단 받았다 ( 인기가 너무 많아서 늦게 왔으면 못 받을뻔 했다 )우리 클래스의 시작과 동시에 잡 페스티벌이 열린거였어서 사전 신청으로만 즐길 수 있는 컨텐츠 ( 스타트업 Wanted 연계 미팅 ) 는 못했고 구경만 열심히 하다 왔다 ^___^부스에서 나눠주는 굿즈는 다 받아왔고, 재미있는 아이디어의 서비스가 있으면 담당자분과 대화도 나누고 명함도 받았다. 담당자님과 대화했을때 가장 재미있었던건 '아루' 라는 앱 서비스였는데, 아주 괜찮은 서비스여서 이 서비스가 잘됐으면 좋겠으면서도 앗 ~나도 이 스타트업에 끼고싶다~ 라고 생각했.. 2024. 8. 7.
[새싹/TIL] static 보호되어 있는 글 입니다. 2024. 8. 7.
자꾸 헷갈리는 Const & Final / Var & Dynamic 정리 Final과 Const의 차이한줄요약 : 똑같이 상수 선언 할 때 씀. 근데 final은 런타임에 결정, const는 컴파일 시점 final 예제void main() { final DateTime now = DateTime.now(); print(now); // 현재 시간 출력}  위 예제에서 `now`는 `final`로 선언되어, 프로그램 실행 중 한 번만 값을 할당받고 이후 변경할 수 없다. 오 final 얘는 인스턴스 마다 다른 값을 가질 수도 있겠군요 const 예제 void main() { const double pi = 3.14159; print(pi); // 3.14159 출력}var과 dynamic의 차이한줄요약 : 똑같이 타입 모를 때 씀. 근데 var은 초기화 할 때 타입 추론되.. 2024. 8. 7.