분류 전체보기 93

Androidx ViewPager2 정리

목차 더보기 0. Dependency 1. ViewPager2 in XML 2. ViewPager2 Adapter 3. ViewPager2 in Code 4. Disable Touch Swipe 5. OnPageChangeCallback 6. Move Page Programmatically 0. Dependency dependencies { implementation "androidx.viewpager2:viewpager2:1.0.0" } ViewPager2 를 사용하려는 프로젝트가 Androidx 패키지를 전반적으로 사용하고 있다면 ViewPager2 의 Dependency 를 따로 추가해줄 필요는 없다. 만약, ViewPager2 가 인식되지 않는다면 Dependency 를 추가한다. 1. ViewP..

Android Developer 2022.06.21

AWS CLI, AWS SAM CLI 설치하기 (on M1 Mac)

설치 환경 - M1 Macbook Pro (2021) - macOS Montrey 12.3.1 본 글은 AWS CLI, AWS SAM CLI 공식문서를 옮긴 글입니다. 1. AWS CLI AWS CLI 는 명령어를 통해 AWS 서비스와 상호작용할 수 있도록 해주는 오픈 소스 툴이다. 최소한의 설정만 해주면, AWS CLI 와 명령어를 사용해서 브라우저의 AWS 관리 콘솔과 같은 기능을 사용할 수 있다. 명령어를 사용할 수 있는 터미널 프로그램은 다음과 같다. - Linux shells : bash, zsh, tcsh - Windows command line : Powershell, 명령 프롬프트 - Remotely(기타 원격) : EC2 인스턴스의 명령어를 실행할 수 있는 PuTTY, SSH, AWS S..

NotePad 2022.06.20

iOS 앱 배포 하려다 키체인 암호 팝업에서 막혔을 때

지금 이 글을 작성하고 있는 날의 전날에 회사의 Apple Developer 계정으로 iOS 앱을 배포해야할 일이 있었다. 그래서 오랜만에 Xcode 를 키고, 회사 계정을 로그인하여 추가한 다음 Signing 설정까지 하면서 Archive 를 진행했다. 그 과정에서 키체인 암호를 묻는 팝업이 나타났지만, 엔터키를 치니 그대로 지나갔다(키체인 암호를 몰랐다). 아무 문제 없이 앱스토어의 테스트 플라이트까지 업로드가 되어, 그대로 앱 심사를 제출하고 퇴근했다. 다음날 출근해보니 특정 사유로 인해 앱 심사를 통과하지 못했고, 추가적인 이슈 사항이 생겨서 다시 빌드를 하여 업로드 해야했다. 코드가 업데이트가 되고, 이슈가 해결된 것을 확인한 후에 어제와 똑같이 Archive 를 하려 했다. 키체인 암호를 묻는..

NotePad 2022.06.15

[Android] 나만의 adb 명령어 모음

요즘 필자가 하는 업무들이 스마트폰이 아닌 Android OS가 올라간 보드를 통해 테스트를 해야하는 상황이 늘어나고 있어 adb 명령어를 자주 쓰고 있다. 다양하게 쓰고 있지는 않지만, 많이 쓰고 있는 명령어들을 모아두고자 글을 쓴다. Android Board 와 연결한 PC에 Android Board 의 출력 디스플레이를 보고 싶다면, scrcpy(스크린카피) 를 사용하면 된다. 설치 방법과 사용 방법은 공식 문서에 잘 설명되어 있다. https://github.com/Genymobile/scrcpy GitHub - Genymobile/scrcpy: Display and control your Android device Display and control your Android device. Cont..

Android Developer 2022.05.25

Retrofit2 의 Callback 자동 완성을 찾기 귀찮을때

Android 앱을 개발하면서 서버의 API 와 연동할 때, Retrofit 을 주로 사용합니다. 그래서 Retrofit 의 Callback 인터페이스도 많이 사용하게 됩니다. 새로운 Presenter 나 ViewModel 을 추가하게 되면 Import 한 Package 리스트가 없이 도화지 상태에서 시작하기 때문에 Callback 의 Package 도 다시 추가를 해주어야합니다. Android Studio 의 자동완성 기능은 정말 좋아서 Callback 을 붙일 때 꼭 사용하고 있습니다. 자동완성으로 넣어주면 Package Import 까지 같이 해주기 때문이죠. 하지만, 위 사진과 같이 Callback 이라는 이름의 인터페이스와 추상클래스가 무수히 많습니다. 아래에서부터 찾으면 금방 Retrofit2..

Android Developer 2022.05.24

[PlantUML] 1. PlantUML 설치와 실행 그리고 기본적인 요소

새로운 프로젝트를 시작하면서, 개발 기획서를 써야할 상황이 왔다. 클라이언트 앱 개발 담당이기 때문에 클라이언트 앱 기획서를 서비스 기획서 기반으로 작성하여 보고해야하는 상황이었다. 기획과 설계를 진행하면서 클래스 다이어그램으로 같이 만든다면 보고하기도 쉽고, 피드백 받기도 좋을 것 같다는 생각이 들었다. 그리고 마침 유튜브 "생활코딩"의 이고잉님이 커뮤니티에 PlantUML을 사용하여 멋지게 UML을 그리신 것을 보고 한번 해보고 싶다는 생각이 들었다. 개발 환경 - M1 Macbook (2021) - macOS Monterey 12.3.1 1. UML & PlantUML 1-1) UML Unified Modeling Lanuage, 통합 모델링 언어를 뜻하는 UML은 소프트웨어 공학에서 사용되는 범용..

NotePad 2022.05.04

MacOS 에서 MongoDB 설치하기 (Intel, M1)

설치 환경 - M1 Macbook Pro (2021) - macOS Montrey 12.3.1 본 글은 MongoDB 공식 문서에서 제공하는 설치 가이드에 따라 실습한 내용입니다. 0. Homebrew 설치 본 글에서 설치하고자 하는 MongoDB는 "MongoDB Community Edition 5.0" 이다. MacOS에서 MongoDB를 설치하기 위해서는 Homebrew가 필요하다. 필자는 이미 Homebrew를 설치하여 사용 중이기도 하고, Homebrew 설치 방법은 MongoDB 공식 문서에서 제공하는 설치 가이드 문서 뿐만 아니라 다른 블로그에서도 많이 설명되어 있으니 본 글에서 생략한다. 위와 같이 "brew" 명령어가 잘 동작한다면 설치는 정상적으로 마친 것이다. 이제 가이드 문서에 따라..

Back-End 2022.04.29

Docker 입문 (on M1 Mac) : Docker, Docker Install, Docker Basic Command

본 글은 이고잉님의 "생활코딩 Docker 입구 수업"을 보면서 실제로 해보고, 그 과정을 정리해둔 글이다. 글의 순서 또한 강의 영상의 순서에 따라 정리하였고, 글의 내용은 "생활코딩 Docker 입문수업 - 4. 컨테이너 run" 까지의 내용을 정리하고 실습한 것이다. 1. Docker 본디 Docker는 Linux OS에서 실행된다. 그렇다면 Linux OS가 아닌 Windows나 MacOS에서는 Docker를 실행할 수 없을 것이다. 물론, Window에 가상머신을 실행하여 Linux OS를 돌리는 방법도 있을테지만, VM과 같은 가상머신을 따로 설치하고 구축하려면 불편하고 시간도 오래 걸리게 된다. 그러나 걱정할 필요 없다. Docker는 Window나 Mac OS에서 자동으로 Linux 가상 ..

Docker 2022.04.06

Linux 명령어 모음

Mac을 구매하고, 백엔드를 공부하기 시작하면서 터미널을 쓸 일이 많아졌다. 터미널을 통해서 다양한 업무를 봐야하다보니 리눅스 명령어를 많이 알아두어야겠다는 생각을 하게 되어 터미널 명령어들을 정리 해놓고자 한다. 필자의 경험을 기반으로 하기에는 아직 초보 단계이기 때문에, 다른 글에서 BEST 50으로 선정한 명령어들을 옮기기로 한다. # 파일 시스템 탐색 1. pwd Print Work Directory의 약자이며, 현재 작업 중이거나 사용자가 있는 디렉터리의 경로를 보여준다. 2. ls List Segments의 약자이며, 아마도 유닉스 세계에서 가장 널리 사용되는 명령 중 하나일 것이다. 파일과 디렉터리의 모든 정보를 제공하며 특정 디렉터리와 특정 파일의 내용도 제공한다. 그리고 다양한 옵션을 사..

Back-End 2022.04.06

pm2를 사용하여 서버를 백그라운드로 실행하기

Start Server in Background 1. Install PM2 npm install pm2 -g 2. Start Application pm2 start [PROCESS_NAME] -- start 3. Check Logs pm2 logs Stop Server 1. List PM2 Processes, get the id pm2 ps pm2 ps 를 통해 pm2에서 관리하는 프로세스 목록을 보면, id와 pid 두 개가 존재한다. 이 중에서 id를 입력해야 정확히 원하는 프로세스를 중지 시킬 수 있다. 2. Stop Process using id pm2 stop {id}

Back-End 2022.04.04

yarn 과 yarn run

yarn yarn 이란, 다른 개발자들의 코드를 사용하거나, 자신의 코드를 공유할 수 있도록 해주는 패키지 매니저의 일종이다. 개발자들의 코드를 공유할 수 있어서, 문제를 해결할 때나 자신의 소프트웨어를 개발하는 데 큰 도움을 줄 수 있다. package.json 에 원하는 패키지를 명시하면, yarn 은 명시된 패키지들을 참조하여 프로그램을 실행한다. yarn run [script] - Normal yarn run 은 자주 사용하는 명령어들을 간단한 명령어로 매핑하여 쉽게 사용할 수 있게 해주는 기능이다. 명령어 매핑은 package.json 파일에서 scripts 라는 Key 안에 명시하면 된다. { "name": "my-package", "scripts": { "build": "babel src -..

Back-End 2022.04.04

[React-Native] INSTALL_FAILED_INSUFFICIENT_STORAGE

Problem FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:installDebug'. > java.util.concurrent.ExecutionException: com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: INSTALL_FAILED_INSUFFICIENT_STORAGE React-Native의 Android 빌드를 하던 중에 위와 같은 에러가 나타날 때가 있다. 에뮬레이터와 연결되어 있을 때 발생하는 에러로 보이며, 저장 공간이 부족하여 빌드한 앱을 설치할 수 없다는 뜻이다. ..

ReactNative 2022.03.29

[React-Native] 1. M1 Mac에서 React-Native 환경 구축

필자가 사용하는 MAC OS에서 React-Native 개발 환경을 구축하는 방법에 대해 정리해놓고자 한다. React-Native 개발 환경에는 크게 Expo CLI와 React-Native CLI, 2가지가 있다. 그 중에서 React-Native CLI를 구축하는 방법을 정리한다. 1. Homebrew 설치 Homebrew는 Mac에서 필요한 애플리케이션이나 개발 환경 등을 설치하는 데 유용하게 쓰인다. Homebrew에 대한 설치 방법은 Homebrew 홈페이지에서도 확인할 수 있다. 다음 코드를 Terminal 에 입력하여 Homebrew를 설치한다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEA..

ReactNative 2022.03.21

[모바일 프로그래밍] Flutter 설치

1. Android Studio에 Flutter Plugin 설치 File - Settings - Plugins - Flutter 검색 - Install 2. Flutter SDK 설치 Flutter 홈페이지 설치 주의사항 환경 변수 등록 flutter/bin 디렉토리 경로를 Path에 추가한다. 잘 구성됐는지 확인하기 : flutter doctor 프롬프트 창을 열고 flutter doctor 명령어를 실행한다. 잘 설치되는 듯 하지만, Android Toolchain 오류가 발생한다. Flutter 공식 홈페이지에 이에 관한 해결법이 나와있다. Android Toolchain 오류 해결 Android SDK Tools(Obsolete)을 설치완료하면 다시 flutter doctor 명령어를 실행한다...

KoreaTech 2020.05.26

[Arduino] Arduino BLE Example

원문 링크 : https://rootsaid.com/arduino-ble-example/ Arduino BLE Example Code Explained 이번 글에서는 BLE(Bluetooth Low Energy)에 대한 기초 지식을 알고, Arduino BLE 칩셋과 다른 기기들 사이에 무선으로 데이터를 주고받는 방법을 알아보자. Arduino Nano 33 BLE Sense Arduino Nano 33 BLE Sense는 IoT 환경에서 BLE 연결성이 강조된 Arduino Nano 모델의 최신 버전이다. 해당 제품은 9축 관성(Inertial) 측정 장치부터 압력, 빛, 제스처 센서 그리고 마이크까지 포함된 다양한 센서들을 가지고 있다. 전원은 BLE 뿐만 아니라 Bluetooth 5 연결도 지원하는..

KoreaTech 2020.04.22

[모바일 프로그래밍] Layout Inflation

setContentView() Layout을 구성할 때 보통 XML 파일에서 Layout을 정의한다. 그러면 XML 파일에서만 Layout을 생성할 수 있는 것일까? 그건 아니다. 코드(Java or Kotlin) 안에서도 Layout을 생성할 수 있다. LinearLayout mainLayout = new LinearLayout(this); // Layout 객체 생성, 변수 지정 Button button1 = new Button(this); // Button 객체 생성, 변수(button1) 지정 button1.setText("Button Created by Code"); // button1 객체 참조와 조작(메소드 호출) mainLayout.addView(button1); // mainLayout ..

KoreaTech 2020.04.20

[번역] Google Pigweed는 무엇인가? Google, IoT 개발자들을 위한 새로운 장난감을 공개하다.

출처 : 원문 링크 Google이 충분한 운영체제들을 가지고 있다고 생각하면 용서받을 수도 있다(might be forgiven). Android 이외에도, Google은 Chrome OS와 Google Fuchsia를 소유하고 있다. 심지어 후자는 아직 완성되지도 않았다! 하지만 올해 2월 Google 상표를 이을 Pigweed 라는 프로젝트가 시작되었다. 우선, "컴퓨터 운영 소프트웨어(Computer Operating Software)" 라고 표현한 문구로 인해 이것이 또 다른 운영 체제라는 추측(Speculation)이 만연(rife)했습니다. 이제는 그것이 아니라는 것을 압니다. 그럼 Google Pigweed란 무엇일까요? 최근 블로그 글에 따르면, 구글은 공식적으로 커튼을 열었습니다(thro..

Android Developer 2020.04.03

[데이터베이스및실습] 데이터베이스 관리 시스템

데이터베이스 관리 시스템의 개요 데이터베이스의 정리 관련 있는 데이터들의 집합(운영,통합,저장,공유) 데이터베이스 관리 시스템(Database Management System) 데이터베이스를 생성 및 관리해 주는 기능을 제공하는 소프트웨어 패키지/시스템 데이터베이스와 응용 프로그램 사이의 중계자로써 모든 사용자와 응용 프로그램들이 데이터베이스를 공유할 수 있도록 지원해 주는 범용 목적의 소프트웨어 시스템 데이터베이스 시스템 데이터베이스, 데이터베이스 관리 시스템(DBMS), 데이터베이스 시스템을 혼용해서 사용 데이터베이스 관리 시스템의 기능 데이터 정의 기능 여러 사용자의 데이터를 통합하여 저장하고 공유할 수 있도록 데이터 모델에 따라 정의하는 기능 다양한 응용 프로그램과 데이터베이스가 서로 인터페이스 ..

KoreaTech 2020.04.03

[데이터베이스및실습] 정보처리 시스템과 데이터베이스

정보처리 시스템 데이터와 정보의 차이점 데이터(Data) 관찰/측정을 통해 수집된 사실(Fact) 또는 값(Value)이 특정 기준에 의해 정리된 것 예시 : 오늘의 온도, 습도, 강수량 등 정보(Information) 어떤 목적에 의해 데이터를 해석하거나 가공한 형태 예시 : 예상 온도, 강수 확률 등 정보(Information) 특정 상황에서 적절한 의사결정을 할 수 있도록 지원하는 지식 컴퓨터 시스템과 같은 처리기를 통한 데이터의 유효한 해석이나 데이터 상호 간의 관계를 의미 정보처리(Information Processing) 의사결정을 위한 정보를 컴퓨터가 생성하기 위해 데이터를 처리하는 작업 의사 결정(Decision Making) 정보를 바탕으로 상황에 따라 주어진 문제를 해결하는 중요한 지능..

KoreaTech 2020.04.02
반응형