일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MotionEvent
- javascript
- ViewModel
- SWIFT
- viewpager2
- RxJava
- RecyclerView
- 실행지연
- MemoList
- web
- InAppPurchase
- progressbar
- Kotlin
- Dropdown
- DispatchTouchEvent
- imagepicker
- Android
- dispatchQueue
- aab
- CalendarView
- IOS
- UIPickerView
- 스터디
- HTML
- 개발
- CSS
- retrofit2
- Alamofire
- ayncAfter
- SplashFragment
- Today
- Total
목록전체 글 (32)
멜팅비의 개발 공부
내가 실제 하는 업무를 정리해보고 돌이켜본 적이 없었던 것 같은데 이번 기회에 혼자 리뷰를 해보고 정리해두면 좋을 것 같다는 생각이 들어서 글을 적게 됐다. 4월부터 안드로이드 프로젝트를 맡아서 5월 중순까지 개발을 마쳤고, 지금 최종 검수 단계에 있다. 이 프로젝트에서는 그동안 스터디했던 MVVM패턴을 바탕으로 구조를 설계하고 LiveData와 DataBinding을 사용했다. 주요 기능으로는 SNS 로그인, HTTP 통신을 붙였고 이번에 TMap API를 사용해서 위치 검색 기능과 경로 검색 기능을 구현했다. 그리고 가장 중요한 백그라운드에서 GPS를 Tracking 하는 기능이 있는데, 이전에 했던 프로젝트에서 기능을 따로 정리해둔 게 있어서 쉽게 구현했다! SNS 로그인은 그동안 단순 기능만 테스..
iOS에서 UI작업을 하다 보면 상단 모서리에만 radius가 들어간다거나 오른쪽만 radius가 들어가는 등 특정 모서리만 라운드를 주고 싶을 때가 있다. 그럴 때 사용하기 편한 코드를 기록해두려고 한다. extension UIView { func roundCorners(corners:UIRectCorner, radius: CGFloat) { let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius)) let mask = CAShapeLayer() mask.path = path.cgPath self.layer.mask = mask }..
업무가 많아지면서 그동안 스터디 한 내용을 정리하거나, 개발하면서 도움이 된 코드 정리가 소홀해졌다.. 이번에 iOS 프로젝트를 서브로 맡으면서 UI부터 작업을 진행하고 있는데 UI를 하면서 도움이 된 코드나 자주 검색했던 내용들을 하나씩 정리하려고 한다. iOS 개발을 하면서 아이콘을 정말 많이 사용하게 되는데 코드 내에서 이 아이콘의 색상 변경이 필요할 때가 굉장히 많다. Tint Color를 통해서 변경할 수 있지만 같은 이미지인데 색상만 변경해서 사용할 때 유용한 코드이다. extension UIImage { func imageWithColor(color: UIColor) -> UIImage { UIGraphicsBeginImageContextWithOptions(self.size, false, ..
retrofit을 통해 네트워크 통신을 하는 경우 로딩을 구현하는 경우가 종종 있다. ProgressBar Dialog 같은 경우 Full Screen으로 떠야 하는 경우들이 있는데 Full Screen으로 뜨도록 하기 위해 구글링을 자주 하는 것 같아서 정리도 할겸 포스팅하게 되었다. (지금은 팝업 같은 경우 공통으로 사용하는 경우가 많아서 모듈화해서 사용한다.) Full Screen Dialog를 만드는데 크게 2가지 방법을 사용하고 있다. style.xml에 스타일을 정의해서 구현하는 경우 📒android:windowIsFloating true일 경우 Dialog가 자식요소 만큼만 view size를 가진다. false일 경우 Dialog가 전체 화면을 사용한다. 📒android:windowBack..
무작정 따라하기 실습에 대한 HTHML의 기본 내용을 정리 // html 표준으로 작성된 페이지임을 알림 // 문서 전체의 범위 // 문서의 구조를 나타내는 범위 head : 문서의 정보를 나타내는 범위 웹 브라우저가 해석해야 함, 웹 페이지의 제목, 설명, 사용할 파일 위치, 스타일 같은 정보를 작성하는 범위(눈에 보이지 않는 정보) body : 문서의 구조를 나타내는 범위 사용자의 화면을 통해 보여지는 로고, 헤더, 푸터, 내비게이션, 메뉴, 버튼, 이미지 같은 눈에 보여지는 구조를 작성하는 범위 css파일 적용 시 head안에 명시를 해야 함 lang(language) : 문서의 언어를 명시하는 HTML 속성 Javascript 파일 적용 시 head안에 명시 style tag 적용 TAG titl..
회사 선배들은 대부분 Vue.js를 통해 웹 개발을 하고 있는데, 평소에 관심있게 보기도 했고 3월에 시간이 널널해서 Vue.js를 배워볼까 생각했다. 회사 동료분의 추천으로 HTML/CSS/JS를 어느정도 할줄 알아야 Vue.js 공부하기 쉽다고 해서 패스트캠퍼스라는 강의 사이트에서 프론트엔드 개발 강의를 직접 구매해 스터디하기 시작했고, HTML/CSS/JS 기본부터 스터디 내용을 정리해두려고 한다. HTML - Hyper Text Markup Language 페이지의 제목, 문단, 표, 이미지, 동영상 등 웹의 구조를 담당 CSS - Cacading Style Sheets 실제 화면에 표시되는 방법(색상, 크기, 폰트, 레이아웃 등)을 지정해 콘텐츠를 꾸며주는 시각적인 표현(정적)을 담당 JS - ..
코틀린 Collection 함수 스터디 내용 정리 List 데이터가 저장하거나 삭제될 때 순서를 지키는 Collection Mutable(변할 수 있는)과 Immutable(불변의)을 모두 지원 Immutable List = 수정할 수 없는 List get(조회)만 가능 val fruits = listOf("apple", "banana", "kiwi", "peach") fruits.get(2) // 실행결과 > kiwi fruits[1] // 실행결과 > bananan fruits.size // 실행결과 > 4 fruits.indexOf("peach") // 실행결과 > 3 Mutable List = 수정할 수 있는 List add /addALL / remove / removeAt 등 추가, 삭제가 가능..
새로 들어가는 프로젝트에서 처음으로 BottomSheetDialogFragment를 구현 할 일이 생겼다. BottomSheetDialog는 앱의 하단에서 올라오는 팝업창을 구현할 때 사용한다. 라이브러리 의존성 추가 implementation 'com.google.android.material:material:1.4.0-alpha01' xml ... BottomSheetDialog를 구현하기 위해서 최상단 LinearLayout에 app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" 를 추가해야 한다. 이렇게 설정하면 하단에 펼쳐지는 방식으로 자식뷰가 동작하게 된다. 코드 class BottomCalendar(..