본문 바로가기

전체 글23

Flutter 매우 간단한 무한 스크롤 만들기 시작하기 Flutter 의 ListView 위젯과 GetX를 이용해 마지막 리스트에 도달 하면 추가적인 데이터를 서버에서 가지고 오는 UI를 구현합니다. (GetX 대신 Provider나 StatefullWedget으로 변경해도 됩니다.) GetX 사용을 위한 기본 설정들 💡 GetX를 사용하지 않는경우 해당항목 생략 pubspec.yaml dependencies 추가 get: ^4.1.4 main.dart MaterialApp → GetMaterialApp 으로 변경 void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return GetMater.. 2021. 4. 29.
Flutter 앱출시 방법 간단한 출시 과정 App Bundle 빌드 → PlayConsole 업로드 → 심사대기 버전이 업데이트 되는 경우에도 위의 루틴을 따르면 됩니다. App Bundle 빌드 Key store가 없는 경우 App Bundle 빌드를 위해 Key store가 있어야합니다. 공식 사이트에 명령어를 통해 생성하는 방법이 있지만, Android Studio를 이용해서도 간단하게 생성 가능합니다. 만약 Key store가 존재한다면 Key store를 다시 생성 할 필요는 없습니다. Key store를 이용해 Play Console에 등록이 된 경우, 최초 등록된 Key store로 서명된 앱만 출시 가능하기 때문에 비밀번호 및 인증서는 분실하지 않게 주의바랍니다. 또한 Key store파일은 git commit에 .. 2021. 4. 15.
Angular @HostListener를 이용해 Backspace (뒤로가기) 막기 IE, Firefox 브라우저를 사용하는 경우 input, textarea와 같이 입력가능한 element가 아닌 곳에서 backspace를 누르면 뒤로가기가 실행 됩니다. Angular 에서 @HostListener를 이용해 keyboardEvent를 받아 상황에 따른 backspace 처리를 해서 해결 할 수 있습니다. 아래의 코드를 app.component 혹은 전역적으로 실행 될 수 있는곳에 추가합니다. // @HostListener 를 이용해 document 의 keydown 이벤트 수신 @HostListener('document:keydown', ['$event']) onKeyDown(keyboardEvent: KeyboardEvent) { // KeyboardEv.. 2020. 10. 13.
오픈소스 라이선스 정리 오픈소스 라이선스란? 오픈소스 라이선스란 오픈소스 개발자와 이용자 간에 이용 방법 및 조건의 범위를 명시한 계약이다. 따라서 오픈소스를 이용하기 위해서는 개발자가 규정한 라이선스를 지켜야 하며, 이를 위반할 경우에는 라이선스 위반 및 저작권 침해가 발생하고, 이에 대한 책임을 지게 된다. 이런 오픈소스 라이선스는 기본적으로 이용자의 자유로운 사용을 보장하고 있다. 오픈소스가 이와 같은 라이선스를 만들어서 운영하는 이유는 오픈소스를 이용하여 개발한 에 대해서도 법의 테두리 안에서 소스코드를 공개하도록 하기 위한 것이다. 오픈소스 의무사항 종류 라이선스 정보의 제공 1. You must give any other recipients of the Work or Derivative Works a copy of .. 2020. 9. 21.
Spring Boot H2 사용 시 DataSource 접근하기 (feat. IntelliJ, Kotlin) H2 Spring Boot 프로젝트 개발 시 임베디드 모드의 H2 DB를 주로 사용합니다. 빠르고 간편하긴 하지만 어플리케이션의 임베디드로 구동되기 때문에 실제 애플리케이션에서 동작하고 있는 H2 DB에 접근 할 수 없습니다. 물론 H2 Console 이라는 WEB으로 접근 가능한 툴이 있긴하지만 TCP 서버를 이용해 좀 더 쉽게 사용하는 방법을 알아봅니다. build.gradle 수정 gradle 의 dependencies 설정 중에 h2 관련 부분을 runtimeOnly 에서 implementation 으로 변경합니다. dependencies { implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation(.. 2020. 6. 23.
토비의 스프링 Vol. 1 정리 - 4장 예외 - 2 예외처리 방법 토비의 스프링 Vol. 1 정리 - 4 - 1 예외처리 방법 4장 예외 예외처리 방법 > 예외 복구 예외상황을 파악하고 문제를 해결해서 정상 상태로 돌려놓는 것이다. 예외처리 코드를 강제하는 체크 예외들은 이렇게 예외를 어떤 식으로든 복구할 가능성이 있는 경우에 사용한다. API를 사용하는 개발자로 하여금 예외상황이 발생할 수 있음을 인식하도록 도와주고 이에 대한 적절한 처리를 시도해보도록 요구하는 것이다. > 예외처리 회피 예외처리를 자신이 담당하지 않고 자신을 호출한 쪽으로 던져버리는 것이다. throws 문으로 선언해서 예외가 발생하면 알아서 던져지게 하거나 catch 문으로 예외를 잡은 후 다시 예외를 던지는 것이다. try { // ... } catch (SQLException e) { // 로.. 2020. 5. 6.