일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- scrolling tab
- Swift Package Manager
- transformation.map
- 상단 탭바
- base64 변환
- 개발자 면접
- ios
- UIViewControllerTransitioningDelegate
- notifychanged
- convert base64
- Tuist
- url 추적
- 기존 앱
- detect url
- swift
- List
- development language
- DataBinding
- UIPresentationController
- oberve url
- GeometryReader
- DevelopmentRegion
- SwiftUI
- Android
- ViewBuilder
- 스크롤 탭
- swift #swift keychain #keychain 사용법
- url 관찰
- Side Menu
- pod install
- Today
- Total
목록분류 전체보기 (170)
버그 잡이
1. RESTful API 위키 백과에 따르면 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어의 한 형식으로 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반에 대한 패턴 *API : 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며, 서로 정보를 교환가능하도록 하는 것 아~ REST한 방식으로 프로그램간 정보 교환 등의 상호작용을 가능하게 하는 것이 RESTful API구나~ 그렇다면 REST가 뭔지 REST라는 단어에 집중해서 다시 살펴보겠습니다. 2. REST(Representational State Transfer) 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것. (문장이 참 모호합니다. 끊어서 살펴보겠습니다.) '자원이 뭐지?' 문서,..
객체지향이란? 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. - 위키백과 - 객체간의 메시지 교환이라는 현실을 추상화한 프로그래밍으로 보다 직관적인 코드 이해 및 작성이 가능합니다. - 이러한 객체지향 프로그래밍으로 인해 보다 구조적인 프로그래밍이 가능해져 유지보수가 쉬워졌습니다. '이렇게 개념적인 객체지향은 알겠는데 그래서 객체지향 프로그래밍은 뭐냐?' 라는 질문이 나올 수 있습니다. - 이에 대한 답변을 하자면 "객체지향 프로그래밍의 3요소가 어우러진 것이 객체지향 프로그래밍입니다." - 객체 지향 프로그래밍을 한 문장으로 설명하기는 쉽지 않습니다. ..
"나는 내 인생에서 더 이상 기대할 것이 없어요." 정말 중요한 것은 우리가 삶으로부터 무엇을 기대하는가가 아니라 삶이 우리로부터 무엇을 기대하는가 하는 것이다. 삶의 의미에 대해 질문을 던지는 것을 중단하고, 대신 삶으로부터 질문을 받고 있는 우리 자신에 대해 매일 매시간마다 생각해야 할 필요가 있다. 그리고 그에 대한 대답은 말이나 명상이 아니라 올바른 행동과 올바른 태도에서 찾아야 한다. 인생이란 궁극적으로 이런 질문에 대한 올바른 해답을 찾고, 개개인 앞에 놓여진 과제를 수행해 나가기 위한 책임을 떠맡는 것을 의미한다. 시련을 당하는 중에도 자신이 이 세상에서 유일한 단 한 사람이라는 사실에 감사해야 한다. 어느 누구도 그를 시련으로부터 구해낼 수 없고, 대신 고통을 짊어질 수도 없다. 그가 자신..
오늘 날 잡아서 앱에서 사용될 CustomView들을 만들었습니다. 원래는 customView를 안 썼었는데 이렇게 만들어서 쓰니 Activity에서 코드가 확 줄어듭니다. #ProgressBar - 영어 단어를 맞추면 전체 갯수 중 몇개를 맞췄는지 보여주는 TextView가 추가된 progressbar가 필요했습니다. - 퍼센트 형태가 아니라 "맞힌 단어수 / 전체 단어수" 이기에 매개변수를 두개를 받았습니다. open class CustomProgressBar @JvmOverloads constructor(context: Context, attrs: AttributeSet?=null, defStyleAttr: Int=0) : LinearLayout(context, attrs, defStyleAttr)..
* 요구사항 1. 음악 재생이 2분 이상 지속될 수 있어야 한다. 2. 음악 재생 상태가 UI에 반영될 필요는 없다. 서비스를 시작하는 두가지 방법 서비스를 시작하는 방법에는 위와 같이 두 가지 방법이 있다. startService()는 가장 기본적인 service 실행 방법이고 bindService()는 service와 activity가 서로 통신할 수 있게 해주는 기능이 있다. ex) 음악 재생시 재생 상태에 따라 버튼 모양 변경 -> 내가 만들 앱은 알람앱으로 단순 음악만 재생하면 되기 때문에 startService()로 실행하겠다. 오레오 이후 백그라운드 서비스 제한 오레오 버전 이후 백그라운드에 대한 제한이 엄격해졌다. 어느 정도냐면 실제로 백그라운드에서 서비스를 실행하고 5초가 지나면 serv..
"안드로이드에서 LongTask한 작업은 새로운 스레드를 만들어서 작업한다." 내가 안드로이드 스레드를 공부하면서 느낀 스레드의 핵심 중 하나이다. "그렇다면 스레드는 얼마나 만들어서 쓸 수 있는가?" 라는 질문이 생겼다. - stackoverflow를 살펴보니 - "메모리에서 허용하는 만큼, 정확히는 stack 메모리가 허용하는 만큼 만들 수 있다" 는 답변을 보았다. 이는 자연스레 "stack은 무엇인가?"라는 질문으로 이어졌고 이를 알기 위해선 Process와 Thread의 내부 구조를 살펴봐야했다. Process 프로세스란 실행중인 프로그램으로 메모리 입장에서는 운영체제로부터 시스템 자원을 할당받은 작업의 단위이다. process 는 아래와 같은 구조로 이루어져있다. *Text 영역 : 실행할 프..
비동기 프로그래밍과 관련된 3가지 구글 독스 1. Process and app lifecycle 2. Process and Thread 3. Communication with UI 이 내용을 정리해보고자 한다. 1. Process and app lifecycle - 안드로이드 앱은 안드로이드 시스템에 의해서 일부 또는 전체가 강제 종료될 수 있다. - 네가지 중요도 계층이 있는데 아래 계층으로 내려갈수록 강제 종료될 확률이 높아진다. 1. 포그라운드 프로세스 - 사용자가 현재 하고 있는 작업에 필요한 프로세스. □ Activity의 onResume □ BroadcastReceiver의 onReceive □ Service의 onCreat 2. 가시적 프로세스 - 사용자가 알고 잇는 작업 □ Activity..
Debounce debounce는 그림에서 보는 것처럼 지정한 시간 안에 다른 동작이 있을 경우 이전 동작은 취소하고 이후 동작만 return하는 operator이다. (이후 동작에서도 지정한 시간 안에 개입이 있다면 이를 취소한다.) 이는 검색창을 만들때 유용하다. 버튼을 클릭해서 만드는 검색이 아니라 SearchView처럼 단어가 입력되는 대로 결과를 반환하는 검색에 적합하다. 이때 모든 문자의 입력마다 call을 보내고 return을 받는다면 굉장히 무거운 동작이 될 수 있는데 debounce는 이러한 문제 해결에 도움을 준다. 2. 구현 방법 1) gradle 추가 //rxjava implementation 'io.reactivex.rxjava3:rxjava:3.0.3' implementation..