[1] List Comprehension PEP 202 - List Comprehensions PEP 202 -- List Comprehensions The official home of the Python Programming Language www.python.org List Comprehension은 기존 리스트를 기반으로 새로운 리스트를 만들어내는 구문입니다. 예를들어 leading and trailing whitespaces를 지워주는 strip을 리스트의 모든 아이템에 적용하고 싶다면 이렇게 리스트 컴프리헨션을 이용할 수 있습니다. list = ["죠르디 ", " 라이언 "] new_list = [item.strip() for item in list] print(new_list) // 결과 [..
[ 단축어 만들고 싶은 이유 ] 깃헙 > Setting > Options에 보면 머지될 때 해당 브랜치를 지워주는 기능을 설정할 수 있습니다. 이는 원격 브랜치를 지워주는 기능으로 로컬 브랜치는 알아서 지워줘야합니다. 머지된 로컬 브랜치를 파악해서 스스로 지워주는 일이 귀찮을 때, 머지된 로컬 브랜치를 전부 지워주는 git 명령어를 쓸 수 있습니다. (새로운 로컬브랜치나 아직 머지되지 않은 로컬브랜치는 안지움) develop에 머지된 로컬 브랜치들을 삭제해주는 명령어입니다. (참고: local/remote/merged 브랜치 목록 조회 명령어) git branch -d $(git branch --merge develop | grep -i -v -E "master|develop") 주기적으로 이 명령어를 ..
[ 브랜치 목록 조회 ] master에서 develop, feature1, feature2 브랜치를 만들고 feature2 브랜치만 빼고 원격에 올려준 상태에서 진행하겠습니다. 1. local 브랜치 목록 조회 (with no flag) git branch 2. remote 브랜치 목록 조회 (with remote flag) git branch -r 3. 모든 브랜치(로컬 + 원격) 목록 조회 (with all flag) git branch -a [ 머지된 브랜치 목록 조회 ] feature1을 develop에 머지한 상황입니다. develop에 머지된 브랜치 목록을 조회할 때 git branch --merged develop feature2에 머지된 브랜치 목록을 조회할 때 git branch --me..
ZStack 은 자신의 children를 z축으로 overlay하는 View이고 overlay 는 현재 뷰에 secondary view를 overlay하는 modifier 입니다. (overlay를 중첩으로 번역할 수 있을 것 같습니다) 애플문서에 있는 overlay 예제의 결과를 zstack으로도 똑같이 나타낼 수 있습니다. 이렇게 보면 똑같아보이지만 사실 두 개는 차이점이 있습니다. ZStack의 자식뷰들은 서로에 대해 independent 합니다. 그리고 ZStack에 frame을 따로 주지 않은 이상 가장 큰 자식뷰를 기준으로 ZStack의 fit이 결정됩니다. 반면 overlay의 경우 overlay되는 view는 parent view에 종속됩니다. 항상 overlaid view는 parent ..
장고의 Making queries 문서를 정리합니다 ✏️ [Django] 쿼리문 (create, update, delete) 에서 이어지는 글 입니다! [ Retrieve 원리 ] 장고는 Manager라는 객체를 모든 Model class에 디폴트로 추가합니다. objects 라는 이름으로 추가되는데, 원한다면 objects 대신 다른 이름을 쓰도록 바꿀 수 있습니다. (하지만 바꾸는 사례를 본 적이 없습니다,,,,) 모델 클래스에 있는 이 Manager를 통해 QuerySet을 얻어오는 방식으로 database에서 objects를 retrieve 합니다. [ QuerySet ] QuerySet 은 database에 있는 objects의 모음(collection)을 말합니다. 예를들어 어떻게 생겼는 지(..
장고의 Making queries 문서를 정리합니다 ✏️ 우선 여기서 말하는 쿼리문은 SQL 쿼리문이 아닙니다. Model 을 만들면 장고는 자동으로 database-abstraction API를 제공합니다. 이 API를 통해서 create, retrieve, update, delete 쿼리문을 작성할 것입니다. retrieve는 다음 글에 작성하고 이 글에서는 create, retrieve, update 만 살펴보겠습니다. 우선 장고의 DB 컨셉을 간단히 다시 보면 (참고: [Django] 튜토리얼 part 2 (1) - 모델, 데이터베이스) model class는 database table, model class의 instance는 database table의 각각의 record를 의미합니다. 그럼 ..
viewDidLoad 에 관한 실험 (⚠️ 실험만 있고 분석은 없습니다 ⚠️) XIB로 만든 뷰컨이랑 스토리보드에서 만든 뷰컨이랑 실험해봅니다. 참고로 저렇게 viewDidLoad 안에서 프린트안하고 isViewDidLoaded 를 찍어보면서 테스트해도 됩니다! Case 1. class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let vc = XIBViewController() let vc2 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(identifier: "StoryboardViewController") as! Sto..
[ 목표 ] App Store에 올리는 것이 아니라 자체 사이트에 링크를 공유하는 방식으로 맥 앱을 배포하고 싶습니다. 에버노트 처럼 말이죠! 에버노트의 다운로드 링크는 이렇게 되어있습니다. https://cdn1.evernote.com/boron/mac/builds/Evernote-10.9.10-mac-ddl-ga-2439.dmg 또 다른 예로 애플의 SF Symbol 앱이 있습니다. 앱스토어가 아니라 개발자 사이트에서 download하는 방식으로 앱을 배포했습니다. 다운로드 링크는 이렇게 되어있습니다. https://devimages-cdn.apple.com/design/resources/download/SF-Symbols-2.1.dmg 정확히 뭔지 모르겠지만 dmg 라는 파일을 만들어서 배포해야하나..
[ 목표 ] 이런 식으로 나만의 Modifier를 만들기! Text("안녕하세요") .customStyle() [1] Custom ViewModifier 만들기 ViewModifier 프로토콜을 채택하는 CustomViewModifer를 만들어줍니다. content는 스타일을 적용시킬 대상을 말합니다. ViewModifier를 만들면 이런 식으로 modifier 를 이용해서 사용할 수 있습니다. [2] extension View 그 후, 아래처럼 View를 extension하면 나만의 Modifier를 만들 수 있습니다. 참고로 문서에서는 1번처럼 modifier를 직접 쓸 수도 있지만 2번처럼 extension 해주는게 더 common하다! 라고 말하고 있습니다. [ 추가 ] 이런식으로 color을 받..
[1] Device Info Flutter에서 공식 제공하는 device_info 패키지를 사용하면 됩니다. 패키지 설치 후, 예제코드 를 참고해서 구현해주겠습니다. iOS 기기 정보가 예상한 값이 아니죠...? www.theiphonewiki.com/wiki/Models 여기보면 Generation과 Identifier가 각각 있는데요, 위 패키지에서는 Generation을 알려주는 필드는 없고 Identifier를 알려주는 필드만 있습니다 🥲🥲 위의 실행결과에서 iPhone12,1 을 보고 iPhone11이구나! 하고 알아야하는 것입니다..! 하지만 이렇게 매칭하기 힘드니까 pub.dev/packages/ios_utsname_ext 패키지를 쓸 수 있습니다. 이 패키지는 iOSProductionNam..
- Total
- Today
- Yesterday
- Flutter Text Gradient
- ribs
- PencilKit
- flutter deep link
- METAL
- 장고 URL querystring
- Django Heroku Scheduler
- github actions
- Flutter Clipboard
- ipad multitasking
- DRF APIException
- flutter 앱 출시
- Django Firebase Cloud Messaging
- flutter dynamic link
- 구글 Geocoding API
- Flutter 로딩
- SerializerMethodField
- cocoapod
- Python Type Hint
- Dart Factory
- 플러터 싱글톤
- 장고 Custom Management Command
- 플러터 얼럿
- drf custom error
- flutter build mode
- Watch App for iOS App vs Watch App
- Flutter Spacer
- Sketch 누끼
- Django FCM
- Flutter getter setter
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |