일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스크롤 탭
- oberve url
- 상단 탭바
- ViewBuilder
- base64 변환
- pod install
- transformation.map
- Android
- List
- Tuist
- swift
- UIPresentationController
- url 관찰
- notifychanged
- DataBinding
- swift #swift keychain #keychain 사용법
- GeometryReader
- development language
- url 추적
- Swift Package Manager
- 개발자 면접
- UIViewControllerTransitioningDelegate
- 기존 앱
- Side Menu
- scrolling tab
- convert base64
- DevelopmentRegion
- detect url
- ios
- SwiftUI
- Today
- Total
목록전체 글 (172)
버그 잡이
context란? 1. getPackageName(), getResource(), startActivity(), startService()와 같은 다양한 메서드를 사용해 시스템 리소스 및 다른 컴포넌트에 대한 접근을 가능하게 합니다. 2. 현재 실행중인 환경에 대한 정보를 담고 있는 ID카드이기도 합니다. (startActivity로 새로운 액티비티를 실행하면 이 액티비티는 이전 액티비티의 context정보를 가지고 있습니다.) context를 왜 알아야하는가? - android 개발에 있어서 context는 거의 모든 곳에서 쓰이는데 이를 잘 못 사용하면 메모리 누수로 이어집니다. context의 종류 Application Context 어플리케이션의 생명주기와 연관되어 있습니다. 즉, 앱이 생성될때 ..
CODE를 읽으며 가장 재밌었던 챕터는 바로 마지막장 "chapter25. 그래픽 혁명" 이었습니다. 중간중간 회로와 하드웨어적인 부분이 많이 나와서 완독을 포기하고 싶었지만 꾸역꾸역 읽어나가니 마지막 챕터가 저에게 새로운 배움의 기쁨을 주었습니다. (이 책에 관심이 있으신분들 또는 중간에 포기하신 분들은 꼭 마지막 챕터를 읽어보시길 바랍니다!) gui의 서막 컴퓨터에서 연산을 처리하고 남은 성능과 속도를 가장 유용하게 활용할 수 있는 부분은 바로 컴퓨터와 사람이 직접 접촉하는 가장 중요한 부분인 인터페이스를 향상시키는 것이라 할 수 있습니다. - 597p -> 즉, 코드로 동작시키는 것이 아니라 버튼 하나로 동작시킬 수 있다면 엄청나게 편리해질 것입니다. gui와 api MS-DOS와 같은 텍스트 기반..
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 영역 : 실행할 프..