일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- React
- 안드로이드 개발
- 안드로이드
- 리액트네이티브
- OS
- Kotlin
- 운영체제
- 앱개발
- cs
- Android
- 프로세스
- 앱
- 스레드
- 디자인패턴
- reactnative
- 리액트
- 안드로이드 디자인 패턴
- github
- 앱 개발
- 코틀린
- 데이터베이스
- CS지식
- Database
- MVVM
- 개발
- 메모리
- db
- 액티비티
- Operating System
- 디자인 패턴
- Today
- Total
목록분류 전체보기 (72)
Tech Log
일전에 React로 토이 프로젝트를 만드려고 한 적이 있었다. 그 때는 폰트 적용하는 것이 그닥 어렵지 않았던 것 같았는데.. React Native로 iOS 어플리케이션의 폰트를 적용하는 방법이 약간 번거로웠다. 이 또한 기록해두면 나중에 또 폰트 적용할 때 도움이 되지 않을까 싶어 포스팅해본다. 1. 서체 설치 당연한 것이지만 먼저 앱에 적용하고 싶은 폰트를 찾아, 맥에 설치해야 한다. 트루타입 파일(ttf)이든, 오픈타입 파일(otf)이든 찾아서 설치해주면 된다. 해당 파일을 클릭하고 '서체 설치' 버튼을 누른다. 2. 서체 파일 앱 내에 추가 프로젝트 디렉터리로 이동하여 해당 디렉터리의 ios 파일 내에 폰트 파일을 추가해야 한다. Finder로 직접 추가해줘도 되고, 해당 포스팅에서는 터미널에서..
딥러닝 과목에서 Tensorflow를 사용해서 퍼셉트론을 적용하게 되었다. Windows에서의 Tensorflow 설치와 맥에서 설치는 다른 부분이 있다. 설치 과정도 기록해두면 많은 사람들에게 도움이 될 것 같아 설치법을 작성하게 되었다. 생각보다 어렵지 않으니, 이 글을 보고 쉽게 설치하시는 분들이 많았으면 좋겠다. 근데 이 포스팅을 Deep Learning에 넣는 것은 어떨까 싶긴한데 그래도 관련있으니까 딥러닝 카테고리에 넣어놨다. 설치 단계 PyCharm 설치 miniforge 환경 구축 가상 환경 구축 Tensorflow 설치 설치 최종 확인 1. PyCharm 설치 PyCharm 다운로드 위 링크를 통해 PyCharm을 설치해준다. M1 맥 이므로 , Apple Silicon 버전을 설치해준다..
클론 코딩을 하다가 Fragment를 그닥 깊게 생각하지 않고 써왔다. 그러다가 Fragment 용례가 기억이 안나서 다시 찾아보게 되었다. Fragment의 이론 내용을 공부하는 중, 몰랐던 내용이 많아 정리해보고자 한다. 1. 배경 태블릿과 같이 큰 화면이 나오면서, 안드로이드 UI에도 유연성이 요구되었다. 기존의 핸드폰과 같이 작은 화면만 다루었을 때는, Activity 단위로 UI를 구성해도 수월했다. 태블릿의 화면은 핸드폰의 화면보다 훨씬 크기 때문에, UI 구성 요소를 사용할 공간이 더 많다. 따라서 Activity의 레이아웃을 나누자는 아이디어가 나오게 되었다. 기존의 레이아웃들로 Activity를 구분지어도 되지만, Dynamic한 동작(디바이스에 따라 View 감추기, 보이기, 위치 이동..
네트워크 통신을 하면서 동기와 비동기에 대해서 알게 되었다. 비동기를 처리하는 기술 중 Coroutine이 잘 쓰이고 있다는 것을 알게되어, 프로젝트에 적용도 해보았다. 그리고 Coroutine에 대해서 자세히 알아보고 싶어 조사해보았다. 1. Coroutine의 정의 Coroutine 이라는 단어 자체를 보면 알수있듯이, Coroutine은 Co + routine의 합성어이다. 직역하면 '협동(같이하는) 루틴'이 된다. Android Developers에 따르면, 비동기적으로 실행되는 코드를 간소화하기 위해 Android에서 사용할 수 있는 동시 실행 설계 패턴이라고 한다. 필자는 사실 이 설명을 보고 Coroutine이 무엇인지 이해할 수 없었다. Coroutine을 이해하려면, 먼저 동기와 비동기가..
평소에 그냥저냥 쓰고 있던 LG 그램이 갔다. 윈도우 11로 업데이트 하자마자 상태가 많이 안좋아졌다. 따라서 평소에 Mac OS를 쓰고 싶었기 때문에 그냥 맥북을 사기로 했다. 개발하는데 있어 Apple Silicon에 대한 두려움이 있었으나, 그렇다고 인텔 맥북을 살 수는 없었기에 M1 맥북을 샀다. 맥북을 샀으니 개발 환경도 새로 구축해줘야 했다. 만들어줘야 할 환경 중 하나가 리액트 네이티브였다. M1에서 리액트 네이티브를 하려면 제약이 많아, 개발 환경 만들기가 어렵다는 얘기를 많이 들었다. 비장한 각오를 다지며 개발환경 구축에 돌입했다. 단계가 많아 목차로 정리해보았다. Xcode 설치 iTerm2 설치 oh-my-zsh 설치 homebrew 설치 node 설치 cocoapods 설치 watc..
개요 : UMC Android 2기에 참여하면서 안드로이드와 관련한 여러 실습을 듣게 되었다. 해당 실습을 진행하면서, Binding이라는 것에 대해 알게되었다. 자주 쓰일 것 같아, 자세히 개념 정리를 하고 싶어서 글을 작성하게 되었다. 정의 및 역할 View binding을 Android Developer 에서 보면 한국어로는 뷰 결합이라고 나온다. bind는 사전적 의미로 '묶다'라는 의미이다. 여기서 결합(묶는) 것은 레이아웃 파일(.xml)과 액티비티(혹은 프래그먼트)이다. 이렇게 결합(Bind)해버리면, findViewById와 같은 특정 뷰를 받아오는 메소드를 사용하지 않아도 된다. 즉, findViewById를 사용해서 일일이 뷰와 변수를 연결해주지 않아도 Binding으로 한 번에 다 연..
개요 : 리액트를 공부할 때도 들었던 의문이었지만, 왜 생명주기란 것이 있는지 궁금했었다. 이번에 안드로이드를 공부하면서 생명주기라는 것이 왜 있는지 알게되었고 각 각의 단계들이 어떤 때에 일어나는지 알아보게 되었다. 액티비티 생명 주기가 필요한 이유 사용자는 앱을 사용할 때 중간에 나갈 수도 있고 다시 돌아갈 수도 있다. 이러한 상황 속에서 액티비티 클래스는 시스템의 상태 변화를 알아차릴 수 있게끔 콜백을 제공한다. 아래와 같은 상황을 예방하기 위해서 생명 주기 콜백을 사용하는 것이다. 앱을 사용하고 있는데 전화가 걸려와서 앱이 비정상 종료되는 문제 앱을 나갔다가 돌아왔을 때 사용자의 진행 상태가 저장되지 않는 문제 앱을 사용하고 있는 도중 다른 앱으로 전환했을 때 앱이 비정상 종료되는 문제 앱의 세로..
개요 : 이때까지 규칙 없이 커밋 메시지를 작성했더니 가독성이 좋지 않았다. 이러한 점이 협업할 때 문제가 될 수 있다는 생각을 하게 되었다. 컨벤션 없이 작성한 커밋 메시지로 인해, 로그를 보면 다른 사람 혹은 자신이 어떤 것을 커밋했는지 한 번에 알기 힘들 수 있다. 이와 같은 문제를 해결하기 위해, Udacity의 이상적인 커밋 메시지 가이드를 보았다. 메시지 구조 type: Subject body footer Udacity에서 제공하는 커밋 메시지 가이드 라인은 위와 같은 구조를 가진다. 제목(Subject), 본문(body), 꼬리말(footer) 세 가지 파트로 나뉜다. 각 파트는 한 줄 띄워 구분한다. type : Subject (제목 파트) 제목 파트는 위와 같이 type : Subject..