Supporting Dark Mode in Your Web Content WWDC 영상을 보고 테스트해본 기록 ✏️ 웹뷰를 다크모드 대응해주기 위해 CSS쪽에서 간단한 대응을 해주면 됩니다..! [ 준비 ] 아래와 같이 테스트할 준비를 해주세요 저 URL이 내려주는 CSS를 바꿔가면서 테스트 해볼게요 [ 기본 CSS ] 이렇게 생긴 CSS가 있다고 해보겠습니다. 참고로 태그 안에 css코드를 넣는 것보다 stylesheet.css 파일을 따로 만들고 아래와 같이 css를 넣어주는게 더 좋은 방법이에요!+! 저는 테스트니까 이렇게 할게요 테스트해보면 다크모드 반영이 안됩니다. [ 다크모드 대응 CSS ] 애플에서 추가해주라는 것을 추가해볼게요 이것을 CSS에 추가하면 다크/라이트 모드를 구분할 수 있고 기..
[1] Gitignore 파일 만들기 touch .gitignore [2] gitignore에 내용 입력 github.com/github/gitignore 여기서 각 환경에 맞는 코드를 복붙해서 위에서 만든 gitignore파일에 복붙해주면 된다. Xcode.gitignore랑 Swift.gitignore이 따로 있지만 Swift.gitignore에는 Xcode.gitignore 내용도 들어있기때문에 Swift.gitignore만 복붙해주면 된다. (참고로 python.gitignore에도 장고 관련 내용들이 들어가있다.) www.toptal.com/developers/gitignore 이 사이트에 들어가서 gitignore 내용을 구해도 된다. [3] 2번의 내용이외에 내가 무시할 것을 설정할때 git..
[1] Dynamic Color란 iOS 13부터 Dynamic Color가 지원되었습니다. 하나의 컬러이지만 라이트모드일때, 다크모드일때 각각 다른 컬러를 가지고 있고 상황에 맞게 적용됩니다. systemBackground 같은 시스템 컬러를 쓰거나 Color Asset에서 원하는 커스텀 컬러를 지정해줄 수 있습니다. 아래의 코드를 실행시키고 라이트, 다크 모드로 변환시켜보면 잘되는 것을 볼 수 있습니다. class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() view.backgroundColor = UIColor.systemBackground } } [2] Dynamic Color의 원리 (1)..
파이썬 3.5부터 함수 파라미터, 반환값에 대한 타입을 표시할 수 있는 Type Hints가 들어갔습니다. (참고: PEP 484 ) def get(name: str) -> str: return name print(get("jinny")) // 출력 jinny 그리고 파이썬 3.6에는 변수에 대해서도 타입을 표시할 수 있게 되었습니다. (참고: PEP 526 ) name: str = "jinny" print(name) // 출력 jinny 하지만 주의할 점은 Type Hint는 말그래도 타입 힌트이지 타입 강제가 아닙니다. 그래서 string타입에 int값을 넣어도 에러가 안나고 잘 실행이 되는 것을 볼 수 있습니다. def get(name: str) -> str: return name print(get..
[1] 목표 Flutter의 텍스트에 Gradient 넣어주는 법을 알아보겠습니다. Text의 TextStyle에는 foreground값을 지정해줄 수 있는데요..!! 타입은 Paint 입니다. 이 foreground값을 설정해줘서 Gradient Color를 줘보겠습니다. [2] Paint 클래스 우선 Paint 클래스에 대해서 살펴봅시다. Paint 클래스는 말그대로(?) drawing관련 클래스입니다. 그리고 Constructor는 딱 하나! 디폴트값으로 모든 프로퍼티가 설정되어있는 empty Paint object를 만들어주는 게 있습니다. 그래서 예를들어 이렇게 못쓰고 Paint(color: Colors.white); // 에러 Paint(Colors.white); // 에러 이렇게 써야합니다...
WWDC 2018 - What's New in Testing 의 Parallel Testing 내용을 기록 ✏️ [1] Parallel Testing이란 XCODE9 부터 Parallel Destination Testing을 지원한다. 예전에는 테스트를 디바이스별로 나눠서 돌리는게 아니라 디바이스1에서 모든 테스트 다 돌고, 디바이스2에서 모든 테스트 다 돌고 했었는데 이제는 진짜 parallel하게 테스트를 나눠서 돌아서 테스트 시간이 훨씬 줄었다. 자세히 살펴보자!엑스코드는 각 uitest도는 앱(Runner라고 표현)에게 테스트를 나눠준다. 정확히 말하면 XCode는 각 Runner에게 테스트 클래스를 나눠준다.(각각의 테스트 메소드를 나눠주는게 아님) 그래서 꿀팁을 주셨는데 코드가 많은 클래스를 ..
이 글은 2017, 2018년 블록체인 학회 활동때 공부한 것을 옮긴 글로 지금은 업데이트된 부분이 있을 수 있으니 유의해주세요. 또한 사진의 출처를 명시하지 못한 점 정말 죄송합니다. (옛날 발표자료에서 가져온 사진인데 출처가 표기안되어있네요ㅠㅠㅠ) [1] Dapp 이란? 이더리움 플랫폼위에 돌아가는 decentralized web application을 Dapp이라고 합니다. 여기서 핵심은 탈중앙화된 애플리케이션이라는 점입니다. 대표적인 DApp으로 크립토키티, MaidSafe가 있습니다. (2017 기준) [2] Dapp 구조 그럼 Dapp은 어떻게 동작하는 것일까요?!? 우선 기존 웹앱과 어떻게 다른지 비교를 위해 Web app 부터 살펴보겠습니다. 1) Web App 기존 웹 애플리케이션은 클라..
이 글은 2017, 2018년 블록체인 학회 활동때 공부한 것을 옮긴 글로 지금은 업데이트된 부분이 있을 수 있으니 유의해주세요. [1] 블록체인이란? 블록체인이란 무엇일까요?! 말그대로 블록 + 체인 입니다. 아래 그림처럼 여러 블록들이 이어져서 만들어진 블록의 집합체를 블록체인이라고 부릅니다. 블록은 쉽게 말하면 유효한 거래정보의 묶음 이라고 할 수 있습니다. 아래에서 블록안에 어떤 것들이 있는 지 살펴보겠습니다. [2] 블록의 구조 블록의 구조를 살펴봅시다. 1) 블록해쉬 우선 블록해쉬는 블록의 식별자 역할을 합니다. 이름은 블록 해쉬이지만 그 값은 블록 전체를 해쉬한 값이 아니라, 블록 헤더를 해쉬한 값입니다. 좀 더 구체적으로 말하면 , 블록 해쉬는 6가지의 블록 헤더 정보를 입력값으로 하고, ..
iOS 앱 출시 준비하기 , Android 앱 출시 준비하기 위의 플러터 공식문서를 참고해서 진행한 기록을 남깁니다 ✏️ Part1. iOS Part2. 안드로이드 로 해보겠습니다 🔥 Part 1. iOS [1] Display Name 입력 플러터앱 > iOS > Runner 를 열고 displayname을 입력해줍니다. [2] 앱 아이콘 등록 준비한 앱아이콘을 등록해줍니다. [3] 아카이빙해서 AppStoreConnect 업로드 엑스코드에서 Product > Archieve 해주고 Distributed App 누른 뒤, AppStoreConnect에 업로드해주면 됩니다. Part 2. 안드로이드 [1] DisplayName 입력 안드로이드 > app > src > main에 있는 AndroidManif..
Firebase Dynamic Link를 플러터 앱에 사용해보겠습니다. [ 목표 ] 카톡 공유 > 초대 수락하기를 누르면 앱이 실행되고 특정 화면으로 이동시켜준다! (만약 앱이 안깔려있으면 스토어로 이동 + 사용자가 앱 설치하면 특정화면으로 이동) TODO - 카톡 메세지 템플릿의 '초대 수락하기 버튼'을 만들때 링크를 넣어주기 - 저 링크를 앱에서 받을 수 있도록 하기 [ 구현 큰그림 ] [ firebase_dynamic_links 패키지 설치 ] pub.dev/packages/firebase_dynamic_links 이 패키지를 설치해줍니다. pubspec.yaml에 가서 추가해주고 flutter pub get 명령어를 해주면 끝-! 이제 Part1. 링크 수신하기 Part2. 링크 만들기 Part3..
- Total
- Today
- Yesterday
- METAL
- 장고 URL querystring
- 플러터 싱글톤
- ipad multitasking
- Dart Factory
- flutter build mode
- github actions
- PencilKit
- Watch App for iOS App vs Watch App
- DRF APIException
- cocoapod
- Flutter getter setter
- ribs
- Django FCM
- Sketch 누끼
- Flutter Spacer
- flutter 앱 출시
- Flutter 로딩
- SerializerMethodField
- Django Firebase Cloud Messaging
- Flutter Text Gradient
- flutter deep link
- 플러터 얼럿
- flutter dynamic link
- Flutter Clipboard
- 구글 Geocoding API
- 장고 Custom Management Command
- Django Heroku Scheduler
- drf custom error
- Python Type Hint
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |