728x90
반응형

전체 글 152

[Android/Kotlin] 코루틴 coroutine

코루틴 Coroutine Android의 비동기 프로그래밍에 권장되는 솔루션으로, 비동기적으로 실행되는 코드를 간소화하기 위해 Android 에서 사용할 수 있는 동시 실행 설계 패턴. 안드로이드의 Background Thread 에서 코드를 처리할 때 사용하는 방법이다. Co(협력, 같이, 함께, 동시에) 라는 뜻과 Routine(특정한 일을 실행하기 위한 일련의 명령) 이라는 두 단어의 합성어로, 동시성 프로그래밍의 개념을 코틀린에 도입한 것 다양한 언어에서 이미 지원하고 있는 개념이다. 통신 시 비동기 처리하는 방법으로 오랜 기간 사용되었던 AsyncTask 가 Deprecated 되면서, 메모리를 효율적으로 사용하면서 AsyncTask 를 대체하는 비동기 처리 방법으로 사용되고 있다. 🚨 Coro..

[안드로이드/Android] 클린아키텍처 Clean Architecture

클린 아키텍처 Clean Architecture 개발자 로버트 C. 마틴(Robert C. Martin)가 2012년 엔터프라이즈 아키텍처에서 논의된 내용을 토대로 집약시킨 개념. 소프트웨어의 관심사를 계층별로 분리하는 소프트웨어 디자인 철학이다. 주요 원칙은 코드 종속성이 외부로부터 내부로 의존한다는 것이다.(외부->내부 로 향하여 의존한다.) 내부 계층의 코드는 외부 계층의 기능을 알 수 없다. UI와 Database를 분리하여, 외부적인 설정에는 독립적이며 프레임워크에 의존적이지 않은 공통적인 코드를 짤 수 있도록 한다. 클린 아키텍처는 2가지 관점에서 볼 수 있다. 1. 아키텍처 설계 철학 - SOLID 원칙을 기반으로함 : 단일 책임 원칙(Single Responsibility Principle..

[Android/Firebase] Firebase 프로젝트 생성 및 앱 추가

안녕하세용! 안드로이드 앱에서 Firebase 를 활용하기 위해 프로젝트를 생성하고 앱을 추가 하는 방법입니다. 먼저 Firebase 콘솔창으로 이동하여 로그인 해주세요~ https://console.firebase.google.com/?hl=ko 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.google.com 1. Firebase 프로젝트 생성 1-1. 프로젝트 추가 클릭 1-2. 프로젝트 이릅 입력 후 계속 버튼 클릭 1-3. 프로젝트 만들기 버튼 클릭 1-4. 프로젝트가 만들어지는 동안 잠시 기다립니다. 1-5. 새 프로젝트가 준비되었다고 표시되면 계속 버튼을 클릭합니다. 그러면 Firebase 에 프로젝트가 추가된 것을 확인할..

[Android/Kotiln] 데이터 바인딩 dataBinding 사용하기

dataBinding 앱의 데이터 소스와 레이아웃의 구성요소를 결합할 수 있게 해주는 Android JetPack 라이브러리 findViewById를 쓰지 않고, 데이터 소스와 레이아웃을 결합해주는 방식 https://developer.android.com/topic/libraries/data-binding/start?hl=ko 시작하기 | Android 개발자 | Android Developers 시작하기 Android 스튜디오의 데이터 결합 코드 지원을 비롯하여 개발 환경에서 데이터 결합 라이브러리를 함께 사용하도록 준비하는 방법을 자세히 알아봅니다. 데이터 결합 라이브러리는 유연 developer.android.com 🚨 장점 1. findViewById()를 사용하지 않아도 된다. 자동으로 xml..

[Android/Kotiln] MVVM 적용한 날씨 앱 만들기 (viewBinding, retrofit 사용)

viewBinding findViewById를 쓰지 않고, XML의 view component 에 접근하는 object를 반환받아 view에 접근하는 방식 https://developer.android.com/topic/libraries/view-binding?hl=ko 뷰 결합 | Android 개발자 | Android Developers 뷰 결합 뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정된 뷰 결합은 모듈에 있는 각 XML 레이아웃 파일의 결합 클래스를 생성합니다. 바인딩 developer.android.com 🚨 장점 1. findViewById()를 사용하지 않아도 된다. 자동으로 xml에서 만든 View들을 만들어준다. 2. Null 안정성 ..

[안드로이드/Android] 레트로핏 Retrofit 을 이용한 날씨 앱 만들기

Retrofit REST API 통신을 위해 구현된 Squareup 사의 OkHttp 라이브러리의 상위 구현체로, OkHttp 를 네트워크 계층으로 활용하고 구축된 라이브러리. AsyncTask 없이 Background Thread 를 실행하고 Callback 을 통해 Main Thread 에서 UI 업데이트가 가능하다. 🚨 장점 빠른 성능 - AsyncTask 를 사용하는 OkHttp 의 3배이상 차이가 난다고 한다. 가독성 - Annotation 사용으로 코드의 가독성이 뛰어남. 직관적인 설계가 가능. 간단한 구현 - HttpUrlConnection 의 Connection / Input&Output Stream / URL Encoding 등의 작업 또는 OkHttp 의 request / respons..

[안드로이드/Android] AsyncTask 로 HttpURLConnection 를 이용한 날씨 앱 만들기

안드로이드에서 서버와 통신하기 위한 AsyncTask 로 HttpURLConnection 을 이용하는 방법입니다. 저는 openweathermap 의 api 를 통해 날씨 정보를 표시해주는 앱을 만들어보았습니당 🌤 https://openweathermap.org/api Weather API - OpenWeatherMap Please, sign up to use our fast and easy-to-work weather APIs for free. In case your requirements go beyond our freemium account conditions, you may check the entire list of our subscription plans. You can read the How..

[안드로이드/Android] AsyncTask 를 이용한 프로그레스바(ProgressBar) 표시하기

AsyncTask 안드로이드에서 UI 블록을 막기 위해 네트워크 통신 등의 기능을 구현할 때는 비동기 처리를 이용해야 한다. 비동기 처리를 하는 백그라운드 작업을 구현하게 될 때 사용하는 AsyncTask 라는 Thread Class 를 사용한다. 🚨 AsyncTask 에서 사용하는 메서드 onPreExecute(), doInBackground(), onProgressUpdate(), onPostExecute(), onCancelled() onPreExecute() : 백그라운드 실행 이전에 동작 함수. 초기화 관련 코드 작성. doInBackground() : 실제 로직이 실행되는 함수. 사용자가 execute() 함수를 실행할 때 넘긴 파라미터를 이용해서 동작을 수행한다. onProgressUpdat..

[안드로이드/Android] 안드로이드 스튜디오(Android Studio) 에서 벡터(Vector) 이미지/아이콘 추가

안녕하세용! 안드로이드 스튜디오(Android Studio) 에서 벡터(Vector) 이미지/아이콘 을 추가하여 사용하는 방법입니다. 벡터(Vector) 이미지/아이콘 은 png 이미지 처럼 각 픽셀별로 컬러값을 갖지 않고 원, 사각형, 직선 등으로 모양을 직접 그리기 때문에 이미지를 아무리 늘리거나 줄여도 이미지의 품질을 잃지 않고 일정하게 유지됩니다. 그래서 개발을 진행할 때 유용하게 사용됩니다~! 먼저 안드로이드 스튜디오 를 실행해주세요~ File > New > Vector Asset 클릭 그러면 Configure Vector Asset 화면이 표시됩니다. Clip Art 옆 아이콘 을 클릭해주세요. 원하는 이미지를 검색으로 찾아보아요~ 저는 휴지통 모양을 찾고있었어요! 그래서 delete 로 검색..

[Android/Kotiln] MVVM 적용한 ToDo 앱 만들기 (LiveData)

안드로이드 아키텍쳐 중 LiveData 를 통해 MVVM 을 적용한 MyToDo 앱 을 만들어보았습니다. https://developer.android.com/topic/libraries/architecture/livedata?hl=ko LiveData 개요 | Android 개발자 | Android Developers LiveData를 사용하여 수명 주기를 인식하는 방식으로 데이터를 처리합니다. developer.android.com https://eunoia3jy.tistory.com/119 안드로이드 아키텍쳐 컴포넌트 AAC (Android Architecture Components) AAC 안드로이드 아키텍쳐 컴포넌트 (Android Architecture Components) 안드로이드 아키텍쳐..

[Flutter] Future 를 사용한 Http 통신, ScrollController 를 사용한 최상단/최하단 강제 스크롤

Future 란? 지금은 없지만 미래에 작업이 수행되어 결과를 나타낼 것이라는 상태를 나타냄. future 는 비동기 작업의 결과를 나타내며 미완료(데이터 value를 생성하기 전) 또는 완료(데이터 value 생성)의 두 가지 상태를 가질 수 있다. 미완료 : 비동기 함수를 호출하면 데이터 value 가 생성되기 전인 완료되지 않은 미래가 반환된다. future 는 비동기 함수의 작업이 완료되거나 오류가 발생하기를 기다리고 있다. 완료 : 비동기 작업이 성공하면 future 를 데이터 value 로 반환한다. 작성한 파일 목록 입니다. 1. pubspec.yaml 2. HttpService.dart 3. FutureScrollPage.dart 1. pubspec.yaml http 통신을 사용하려면 일단..

📘 Flutter 2021.08.10

안드로이드 아키텍쳐 컴포넌트 AAC (Android Architecture Components)

AAC 안드로이드 아키텍쳐 컴포넌트 (Android Architecture Components) 안드로이드 아키텍쳐 컴포넌트는 앱 구조를 더 튼튼하고, 테스트에 용이하고, 유지 보수성이 뛰어나게 만들어 주는 라이브러리 모음. 아키텍쳐 컴포턴트에서는 조금 더 모듈화된 코딩을 돕기 위해 Databinding, LiveData, ViewModel 등의 유용한 라이브러리를 제공하며, 이러한 라이브러리의 모음은 MVVM 패턴의 구조의 설계에 최적화되어 있다. 안드로이드 아키텍쳐 (AAC) 를 사용하면 좋은점 1. 일관적인 코드작성으로 유지보수와 협업의 편리함 2. 생산성 향상 3. 테스트의 용이성 4. 어플리케이션 개발 방향의 유리함 안드로이드 아키텍쳐 (AAC) 종류 1. MVC : Model + View + ..

[GitHub] 깃허브 GitHub 저장소에 다른 유저 초대 - Invite a Collaborator

나의 저장소에 다른 유저를 초대하는 방법입니다. 1. collaborator 초대하기 깃허브 저장소에서 Settings > Manage access 메뉴로 들어가서 Invite a Collaborator 버튼을 클릭합니다. 초대할 유저의 username 또는 email 주소를 검색하고 추가해준 후 Select a collaborator above 버튼을 클릭하여 초대해 줍니당! 2. 초대에 응하기 그러면 초대된 사용자의 메일로 초대메일이 도착했을 거예요~ 초대된 collaborator 는 메일에서 Visit invitation 클릭! 클릭하면 github 페이지로 이동하고 Accept invitation 버튼을 클릭하면 초대받은 collaborator 는 그때부터 해당 저장소에 접근할 수 있는 권한이 생..

📡 Google ~ Git 2021.08.01

[안드로이드/Android] 안드로이드 스튜디오 (Android Studio) 플러그인 - 테마 변경

안녕하세욤 🤚🏻🤚🏻 안드로이드 스튜디오(Android Studio) 에서 테마 변경하는 법! 을 포스팅해보려구요~ 요즘 사용하고 있는 vsCode 에서 테마를 적용하니 코드가 눈에 잘 들어오고 좋아서 안드로이드 스튜디오도 변경해보았습니다! 안드로이드 스튜디오 (Android Studio) 를 열어주세여~ Configure > Plugins 클릭! Plugins 창이 표시되면 검색창에 Material 또는 theme 로 검색하면 여러가지 UI 테마들이 표시됩니다. 저는 그중에 Monokai Pro Theme 를 선택! 원하시는 테마를 선택하여 Install 버튼을 클릭해 줍니다~ Accept 클릭 Restart IDE 클릭! 안드로이드 스튜디오를 재시작 해야해요~! Restart 클릭 Configure >..

[ macOS 맥북 ] 전자정부프레임워크 (eGovFrame) 설치

안녕하소~🐂 macOS 맥북에서 전자정부프레임워크 (eGovFrame) 를 설치하는 방법 입니다. https://www.egovframe.go.kr/home/sub.do?menuNo=41# 개발환경 - 3.x 다운로드 | 표준프레임워크 포털 eGovFrame 처리중입니다. 잠시만 기다려주십시오. www.egovframe.go.kr 이 url로 들어가면 이 화면이 표시됩니다! 저는 맥북에서 진행하기 때문에 개발자용 개발환경 for Mac 64(Implementation Tool) Version 3.10.0 클릭! 첨부파일 eGovFrameDev-3.10.0-Mac-64bit-Installer.dmg 설치파일을 다운로드 합니다. Finder 의 다운로드 폴더에서 eGovFrameDev-3.10.0-Mac-6..

💻 맥북 macOS 2021.07.31
728x90
반응형