분류 전체보기

https://dart.dev/guides/language/effective-dart Effective Dart Best practices for building consistent, maintainable, efficient Dart libraries. dart.dev 두 가지 중요한 주제 Be consistent - formatting, casing 과 같은 것들은 주관적, 정답이 없음, 일관되게 짜는 것이 도움이 된다. Be brief - Dart는 많은 기능이 있다. 간결하게 작성하자. Identifiers UpperCamelCase, lowerCamelCase, lowercase_with_underscores 세가지가 쓰임 UpperCamelCase - class, enum, typedef, t..
성격 때문인지 실력 때문인지 주석을 잘 못지우겠다. 차라리 기능에 대한 부가 설명을 써놓은 주석이라면 좋겠지만, 내 주석은 거의 DateTime standardDate = DateTime(year, month); // print('standard date ${standardDate}'); int totalDays = daysInMonth(standardDate); // print('totalDays : ${totalDays}'); 이런 print 디버깅을 사용하고 잠시 주석처리 해놓은 것이거나 // child: Center( // child: Badge( // // shape: BadgeShape.square, // // borderRadius: BorderRadius.circular(10), // //..
자주 쓰이는 값을 한번에 관리하기 위해 혹은 틀리면 안되는 값을 조금 더 엄격하기 위해 상수를 사용한다. 내 프로젝트에서는 아래와 같이 관리했는데, common 폴더에 theme.dart 를 만들고 appTheme 클래스를 이용해서 상수를 설정해주었다. 앱 내의 색이 들어가는 모든 것들에 대해 변수를 만들어주고 거기서 또 할당해주었다. 이렇게 한 이유는 색이 들어가는 모든 것들에 각각의 변수를 주어서 하나의 파일에서 모든 색을 수정할 수 있게 하고 싶어서였다. // /common/theme.dart class appTheme { static const Color mainGreen = Color(0xFF111111); static const Color white = Colors.white; static c..
· ios
flutter_native_splash 패키지를 이용하여 스플래시 스크린을 만들었다. 근데 앱을 배포하고보니 흰 화면이 처음에 1초간 뜨고 스플래시 스크린이 보여졌다. 이미 해결해버려서 영상은 없지만 이것은 flutter의 문제가 아닌 ios에서의 고질적인 문제라고 한다. https://developer.apple.com/forums/thread/105790 First used launch screen file is f… | Apple Developer Forums For our app the only way to "fix" this was to delete the app from device, restart device, then install app again - but of course this w..
· etc.
살면서 책을 그리 많이 읽은 건 아니지만 내게 많은 영향을 준 책이 있다. 그건 바로 탈무드 아마 중학교 3학년 때였던 것 같다. 1교시를 시작하기 전에 책 읽는 시간이 30분 정도 있었는데 학급문고에 있던 아주 낡은 탈무드 책을 무슨 이유에서인지 몇 번을 읽었던 기억이 난다. 성인이 되어 여러 탈무드 책을 봤지만, 글자가 작아서 그런걸까, 그때의 느낌은 나지 않았다. 내가 봤던 탈무드는 글자도 큼직해서 읽기 편하고 정말 어린이에게 교훈을 주는 느낌이었는데.. 그때 봤던 같은 책을 찾기 위해 여러 번 검색해 봤지만, 탈무드 책이 너무 많아 도저히 찾을 수가 없었다. 내가 기억이 나는건 - 책 사이즈가 작은편이고 글씨가 컸던 것, - 명작 시리즈 같은 것 중 하나고 책 왼쪽에 줄이 그어져 있던 것, - 출..
· etc.
저번주에 파이어베이스 애널리틱스를 보는데 무슨 일인지 사용자 수가 평소보다 늘었다. 평소에 일 평균 사용자 유입은 20명 정도지만 1월 1일, 2일은 50~60명 정도 되었다. 200 초반을 유지하던 DAU도 1월 3일에는 300명을 기록했다. 무슨 일이지? 입소문을 탔나? 추천 앱에 떴나? 확인해봤지만 특별한 이유를 찾을 수는 없었다. 혹시 차트에 올라갔나? 199 등에 위치했다.. 이게 무슨 일인가 싶어 생각해보니 새해였다. 새해를 기념으로 금연해보려는 사람이 많구나.. 새해를 특별하게 생각한 지도 오래된 것 같다. 그냥 한 살 먹는구나 이상하게도 올해에는 해돋이를 보고 싶어서 왜목마을에 다녀왔다. 어렸을 때 정동진으로 해돋이를 보러간 기억이 어렴풋이 나는데 그저 피곤하기만 했을 뿐.. 가면서 내심 ..
splash screen 과 launch screen 은 같은 말이다. 앱이 켜질 때 로고 등을 보여주는 화면인데, 이 때 서버에서 정보를 받아올 수 있고 내부적으로 데이터를 로드할 수도 있다. 따로 설정하지 않으면 플러터에서는 흰 화면을 보여준다. 우리는 flutter_native_splash 패키지를 이용해서 굉장히 간단하게 구현할 수 있다. ios 나 안드로이드 12 버전 이전에서는 잘됐으나 안드로이드 12부터 조금 바뀌었다고 한다. 그래서 안드로이드 12 이상에서는 아래와 같이 두 번 나왔다. 이것을 이해하려면 안드로이드에서 splash screen의 동작원리에 대해 이해할 필요가 있다. 우선 앱이 켜지는 과정을 보면 안드로이드 앱이 실행 -> 플러터가 첫 프레임을 그리는 순서이다. 안드로이드에서..
스플래시 이미지 추가는 되게 간단하네? 추가하고 앱 배포하고 자야지 하다가 git clean -fdx와 함께 잠 못 잔 이야기 스플래시 스크린 추가하기 flutter_native_splash 패키지를 사용한다. 앱이 실행되고 플러터를 로드하는 동안에 빈 시간을 네이티브 단에서 채워준다고 보았다. 플러터 내에서 스플래시 스크린 위젯을 만들어서 표현하면 절대 채울 수 없는 부분이다. yaml 파일을 업데이트하고 명령어를 입력하면 끝이다. # 생성 flutter pub run flutter_native_splash:create # 삭제 flutter pub run flutter_native_splash:remove # 수정시에는 삭제 후 생성한다. 단 안드로이드 12에서는 메커니즘이 약간 바뀌어서 뭔가 더 해..
· ios
어느 순간부터인가,, 아마 IOS 16 을 올리고 난 후 부터인 것 같다. Xcode에 들어갔더니 내 폰 옆에 developer mode disabled 라고 나온다. 해결 방법은 개발자 모드를 켜는 것이다. 아이폰 설정 -> 개인정보 보호 및 보안 -> 맨 아래에 개발자 모드를 켜주면 된다. 재시동이 필요하다. 재시동 후에는 개발자 모드를 켜라는 팝업이 뜨고 켜주면 해결된다.
개념 한 지점에서 다른 모든 지점까지의 최단거리를 구하는 알고리즘 현재 노드에서 가장 가까운 노드를 계속 탐색하며 최단거리를 그리디하게 업데이트해나감 힙을 사용하지 않으면 다음 노드를 선택하는 과정에서 연결된 노드를 모두 살펴야 함으로 비효율적 주의 : 가중치가 음일 경우 불가능함 => 벨만 포드 알고리즘을 사용해야함 시간복잡도 : O(ElogV) E : 간선의 개수, V : 노드의 개수 (힙 사용시) 코드 import heapq # 입력값은 인접리스트 형식으로 graph = [[] for _ in range(n + 1)] # 거리테이블을 무한으로 초기화 INF = int(1e9) distance = [INF] * (n + 1) # (거리, 노드)로 힙에 추가 -> 가장 가까운 거리를 바로 알 수 있음 ..
uzzam
'분류 전체보기' 카테고리의 글 목록 (3 Page)