본문 바로가기
반응형

개발 공부 기록하기84

ElasticBeanstalk + GithubAction Deployment failed: Error 해결 GithunAction + ElasticBeanstalk 조합으로 서버 코드 배포 자동화를 해놨는데, 이게 간헐적으로(매우 높은 확률로) 아래와 같이 흘러가다가 GithubAction 상에서 에러로 남아 있는게 아닌가..! Warning: Environment update finished, but health is Red and health status is Degraded. Giving it 30 seconds to recover... 01:27:22 INFO: New application version was deployed to running EC2 instances. 01:27:22 INFO: Environment update completed successfully. Warning: Enviro.. 2024. 2. 8.
[Android] Intent, Bundle, SavedStateHandle 객체 쉽게 전달하기. Intent, Bundle, SavedStateHandle로 다양한 데이터를 넘겨받는데 특히 객체를 넘겨받을 경우가 많다. 여러가지 방법이 있겠지만 주로 사용하는 방법은 객체를 Json으로 변환한 뒤 다시 받는 쪽에서는 Json을 객체에 매핑시켜 데이터를 가져오는 구조로 주로 사용을 했다. AS-IS 하지만 이게 매번 하려니 여간 번거로운게 아니다 하나 예시를 보자. val dataDTO = DataDTO(....) val intent = Intent(context, InfoActivity::class.java).apply { val jsonAdapter = moshi.adapter(DataDTO::class.java) this.putExtra("test", jsonAdapter.toJson(dataDT.. 2023. 11. 26.
Ubuntu 22.04LTS Server 자동 로그인 하기 최근 우분투 22.04LTS 버전으로 서버를 운영하려고 데스크탑을 한대 구매했다. SSH로 붙어서 사용하려고 하는데 매번 서버를 reboot 할때마다 로그인을 해줘야해서 여간 귀찮은게 아니다. 다음과 같이 하면 로그인 없이 자동 로그인을 할 수 있다. # 1. 터미널을 열고 다음 명령어를 입력합니다: sudo mkdir -p /etc/systemd/system/getty@tty1.service.d/ # 2. 이어서 override.conf 파일을 생성하고 편집합니다: sudo nano /etc/systemd/system/getty@tty1.service.d/override.conf # 3. 편집창에서 아래와 같이 입력합니다: [Service] ExecStart= ExecStart=-/sbin/agetty.. 2023. 9. 6.
[AWS] API Gateway > Lambda > S3 Upload images API Gateway로 이미지를 여러장 전송해서 Lambda를 통해 S3에 이미지를 업로드할 일이 생겼다. 단순히 API Gateway를 통해 multipart/form-data로 전송하면 되겠지라고 구성을 다했는데 여러가지 우여곡절이 있어서 기록차 글을 작성하게 되었다. 문제 1 우선 내가 작성한 코드인데 해당 코드를 AWS Lambda function에 그냥 넣으면 코드에 import된 라이브러리를 불러오지 못해서 첫번째 문제에 봉착하게 된다. AWS 공식 홈페이지에서 어떻게 Lambda에 라이브러리와 함께 업로드 하면되는지 링크를 참조해서 해결하였는데 PIL(Pillow) 라이브러리를 사용하는 경우 AWS Lambda: cannot import name '_imaging' from 'PIL' 라는 .. 2023. 8. 29.
ChatGPT와 함께 Android strings.xml 자동번역 및 추가 10초만에 하기 자동 번역 스크립트는 왜 필요한가? 현재 개발하고 있는 안드로이드 앱의 values 폴더들이다. 다국어 지원을 위해 영어, 아랍어, 독일어, 스페인어, 프랑스어, 이탈리아어, 일본어, 한국어, 중국어와 같이 많은 언어들을 다루고 있다. 이렇게 되면 엄청난 번거로움이 생기는데 strings.xml에 번역된 내용 하나만 추가해줘도 수많은 작업이 발생하게 된다. "데이터 로딩 중입니다. 잠시 후 다시 시도해주세요" 라는 문구를 strings.xml에 추가하기로 하는 상황을 살펴보자. strings.xml에 해당 내용을 추가하기 위한 변수명을 지어야 한다.(변수명 짓는것도 고민을 하게 되므로 생각보다 시간을 많이 뺏긴다) 각 나라별로 번역을 한다. (벌써부터 머리가 아파온다..) 어찌저찌 파파고와 구글 번역기를.. 2023. 8. 22.
1:1 비율의 얼굴 중심 썸네일 생성하기 세로 또는 가로로 긴 이미지의 썸네일 문제점 사진 업로드, 그리고 자동으로 생성된 썸네일. 편리하다고 생각했던 이 기능에도 숨겨진 고충이 있었습니다. "왜 얼굴이 짤렸을까?", "이 부분만 보여주면 좋았을텐데..." 자동 생성된 썸네일에 대한 아쉬움이 한두번이 아니었습니다. 얼굴 인식의 힘을 빌려 이 문제를 해결하려고 합니다. 이 포스트에서는 얼굴 인식 기술을 활용해 짤리지 않는, 사용자의 얼굴을 중심으로 한 완벽한 1:1 썸네일을 만드는 방법을 함께 알아보겠습니다. 먼저 작업의 완성된 결과물 부터 보겠습니다. 원본 이미지 생성된 썸네일 주어진 이미지에서 얼굴 인식을 활용하여 이미지 상단에 얼굴이 위치하도록 1:1 비율의 썸네일을 만들어보겠습니다. 관련 코드 입니다. import cv2 import os.. 2023. 8. 21.
Spring No mapping for GET /css/xxx.css mustache로 간단한 화면을 구성하였다. 아바타 갤러리 {{#gallery.images}} {{#caption}}{{caption}}{{/caption}} {{/gallery.images}} 문제가 되는 부분이 있었는데 아래 CSS link가 안먹히는게 아닌가? 아래와 같이 css 파일은 static/css 경로에 잘 들어간것을 확인할 수 있다. 그럼에도 불구하고 페이지에 진입시 서버에서 다음과 같은 에러를 출력하고 있었다. No mapping for GET /css/gallery.css 원인이 무엇일까 한참헤멨는데 내가 예전에 설정한 WebMvcConfigurer을 상속받아 구현한 로직에 문제가 있었다. 문제의 코드이다. @Configuration @EnableWebMvc class MvcConfi.. 2023. 8. 15.
[Kotlin] 중첩클래스(Nested Class)와 내부클래스(Inner Class) 차이점 최근에 Spring을 사용하면서 한 가지 문제에 부딪혔습니다. 특정 클래스를 내부 클래스(inner class)로 정의했더니 예상치 못한 에러가 발생했습니다. 그래서 이에 대해 조사하면서 inner class와 일반 class의 차이점을 알게 되었습니다. 이러한 경험을 토대로 이번 포스트에서는 Kotlin에서 inner class와 일반 class의 차이점에 대해 설명하고, 언제 어떤 것을 사용하는 것이 좋은지 살펴보도록 하겠습니다. 1. Outer 클래스에 대한 참조 inner class는 outer class에 대한 참조를 가지며, 이를 통해 outer class의 멤버에 직접 접근이 가능합니다. 이를 이해하는데 있어 아래와 같은 예시를 생각해보면 도움이 될 것입니다. class Outer { pri.. 2023. 8. 1.
Kuberneties 책 정리 2장 - 팟, 레플리케이션 컨트롤러, 서비스 회사에서 인프라에 대해 다뤄야 하는 경우가 자주 생기는데 쿠버네티스에 대해 정확히 이해하지 못한 상태에서 사용법만 익혀서 사용중인것 같다. 그래서 정확히 이해하고 사용하려고 책을 한권 샀다(Kuberneties IN ACTION). 그냥 단순히 읽기만 하려니 머릿속에 정리가 되지 않는 느낌이라. 나를 위해서라도 블로그에 기록하며 내용을 정리해보고자 한다. 파드와 컨테이너의 이해 시스템에 가장 중요한 구성 요소는 Pod이라고 함. Pod은 원하는 만큼의 컨테이너를 포함시킬 수 있음. 컨테이너 내부에는 우리가 배포한 프로세스가 있고 지정한 포트(ex. 8080, 80에) 바인딩 되어 HTTP 요청을 기다린다. (프로세스는 Node.js, Java Application, etc..가 될 수 있음) Pod은 자.. 2022. 8. 29.
반응형