프로젝트 60

코틀린으로 안드로이드 어플리케이션 개발(mac) - 1편

회사에서 안드로이드 기반으로 pda를 만들어야하는 업무가 생겼다. 급하게 안드로이드에 대한 지식을 찾아보면서 정리를 해두어야 나중에도 볼 것 같아서 지금 미리 정리를 해둔다. 일단 안드로이드 스튜디오를 설치한다.   엠티 뷰 액티비티로 프로젝트를 생성한다. 그 이유는 다른 화면들은 이미 기능 구성이 되어있어 코드들이 많기 때문에 처음 시작하는 입장에서 분석하기 힘들기 때문이다. 사실 나는 코틀린도 처음이다... 자바와 비슷하다고 하니까 얼른 감잡을 수 있기를 희망한다. 그럼 이렇게 프로젝트가 만들어 지고   가장 위에서 오른쪽에 있는 버튼들을 한번씩 클릭해보면 엑티비티 메인.xml 파일에서의 화면을 코드와 꾸밈을 할 수 있다.     res폴더 내의 drawable 폴더 내부에 사진들을 넣어두고 확인한다..

기존 프로젝트 다시 되살려내기

오늘은 오래 쉬었던 자바 프로젝트 복구를 진행해보려고 한다. 만들어 보고 싶은게 생겨서 원래 사용하던 프로젝트 복구 후 일차적으로는 ci/cd 구축을 하는 것 이차적으로는 로그인 구현까지 만들어 보도록 하겠다. 일단 인텔리제이를 켜서 원래 사용하던 프로젝트를 열어본다.  위 프로젝트는 아직 사용할 수 없다. 왜냐하면 내가 비용 문제때문에 rds서버를 내려놨기에 데이터베이스에 접근이 불가능하다. 그렇기에 다시 rds 서버를 켜보고  디비버 툴을 통해 접속이 잘 되는지 확인해보도록 하겠다.  aws 관리자 모드로 들어와서 rds 를 클릭해준다. 아마 다시 들어가면 ip 가 변경 되어있을 가능성이 높다.   디비서버는 아직 살아있었다. 그래서 내가 매달 1달러에서 2달러 사이쯤 나가고있었나 보다... 그런데 ..

ubuntu에 도커와 젠킨스로 ci cd 구축하기(3편) + ec2서버 스왑메모리 추가 + ec2 서버가 자꾸 죽을 때 해결 방법

이제 젠킨스에 도커 연동을 하는 과정을 진행 하겠다. 젠킨스에 Docker Hub를 연동 시켜서 이미지를 다운 받기 위해서는 Docker 연동을 해야한다. 해당 연동하는 방법이 젠킨스의 Credential이라는 부분이다. 해당 설정을 위한 경로는 다음과 같다. 중간에 서버가 죽어서 인스턴스 중지를 누른뒤 시작을 눌러 서버를 껏다 켯다. 그 이후 죽어버린 젠킨스를 살리기 위해 사용한 아래 명령어. 이미지 목록에 있다고 바로 실행되어있는 것은 아니다. run 명령어로 실행하면 이미지가 없을 경우 이미지 다운 + 이미지 실행 이지만 start 명령어로 실행하면 해당하는 이미지 실행만 한다. 그런데 위 처럼 프리티어 모드에서 자꾸 서버가 죽는다면 이에 대한 해결 방법은 뭘까? 일단 원인은 Swap메모리가 프리티..

ubuntu에 도커와 젠킨스로 ci cd 구축하기(2편)

이제 도커환경에서 젠킨스를 설치해야한다. 무슨 뜻이냐면 도커명령어를 사용해서 이미지화 된 젠킨스를 설치해야 한다는 뜻이다. 지금 과정까지 따라왔다면 "특정 IP":8080 뒤 api를 호출하면 내 프로젝트의 api가 실행 되고 리턴값을 주는 것을 확인 할 수 있었을 것이다. 내 프로젝트가 이미지화 되어 우분투 docker환경에서 pull 받은 것 처럼 누군가 젠킨스를 이미지화 해서 docker환경에 올려둔 것을 내려받아야한다. 내려받는 명령어는 다음과 같다. 젠킨스 이미지 다운로드 $sudo docker pull jenkins/jenkins:lts 관리자 권한이 필요함으로 꼭 sudo 로 권한을 주어야 한다. 이렇게 출력되면 젠킨스가 설치가 잘 된 것이다. 이제 젠킨스 컨테이너를 띄우는 명령어이다. 젠킨..

ec2-ubuntu에 도커 잘못 설치했을때 초기화하는 방법

ubuntu에 도커를 설치했지만 중간에 permision오류가 뜬 것 같아 찝찝한 마음에 초기화를 시도했다. 초기화 하면서 참고한 사이트는 다음과 같다. https://biology-statistics-programming.tistory.com/136 [Docker] ubuntu docker 완전히 지우고 설치하기 (feat. E: Sub-process /usr/bin/dpkg returned an error code (1) )ubuntu os에서 docker 완전히 지우고 재설치하는 방법은 아래의 글의 방법 가장 효과적이었다. https://askubuntu.com/questions/935569/how-to-completely-uninstall-docker How to completely uninsta..

ubuntu에 도커와 젠킨스로 ci cd 구축하기(1편)

우분투에 가장 먼저 젠킨스를 설치해야한다. 그래서 젠킨스 설치과정에 대한 정보를 얻은 곳을 공유한다. https://gksdudrb922.tistory.com/195 [Ubuntu] Jenkins 설치Jenkins Jenkins는 Java로 빌드 된 오픈 소스 CI (Continuous Integration) 및 CD (Continuous Delivery) 도구이며, Jenkins는 기본적으로 소프트웨어 프로젝트를 빌드, 테스트 및 배포하기 위해서 사용한다. 또한 DevOpsgksdudrb922.tistory.com 해당 블로그를 통해 따라서 진행해보았다. 우분투에 젠킨스를 먼저 설치하는게 아니라 도커를 설치하고 그 위에 젠킨스 이미지를 올리고 또 그위에 도커를 올려야 하는 것 같다. 도커를 설치하는 이..

우분투로 배포 하는 방법 쭉 정리. 이대로만 따라하기.

우분투 서버에 접속 한뒤sudo apt update 를 입력한다. 아마 우분투 서버가 아니라 아마존 리눅스 서버 기반이였으면 apt 가 아니라 yum 명령어를 썻던 것으로 기억한다. sudo apt-get install git 을 입력 하여 깃 환경을 구축한다. 이후sudo apt install git 을 입력. 깃이 잘 설치되었는지 확인하기 위해 git --version 입력 나는 2.34.1 버전이다. 그 뒤git clone 을 사용하여 내 프로젝트를 받아온다. 그럼 이렇게 프로젝트가 생성되었다. 다음으로 해야할 것은 자바 jdk 17버전을 설치하고해당 명령어는  sudo apt install openjdk-17-jdk 이다. 설치가 완료되면java -version 을 통해 버전 체크가 가능하다.  ..

카카오톡에서 챗 GPT 연동해보기(메신저봇 R 사용)

카카오톡에서 특정 문구를 입력하면 챗 gpt 가 입력해주도록 따라해보았다. 두개의 블로그를 참고했고, 결국 TypeError: Cannot read property "0" from undefined 에러가 발생해서 코드를 직접 입력했다. const scriptName = "gpt_test1"; let key = "sk-0xZ0d"; // Open AI 사이트에서 발급받은 API 키입력 function response(room, msg, sender, isGroupChat, replier, imageDB, packageName) { if (msg.startsWith(".챗 ")) { cmd = msg.substr(3); replier.reply("[답변] \n" + getResponse(cmd)); } }..

프로젝트 2023.12.21

ec2서버 내리기 + 탄력적 ip 제거

ec2서버를 내릴 때는 탄력적 ip도 꼭 같이 처리를 해주어야 한다고 한다. 안그러면 프리티어 요금제라도 ip할당 때문에 요금이 부과된다고 한다. 여기서 ec2를 선택해서 들어간다. 만약 없다면 제일 위에 돋보기를 누르고 ec2를 선택한다. 그리고 인스턴스 종료 버튼을 클릭한다 인스턴스가 종료된 뒤에 24시간이 지나야 목록에서 사라지니 참고해야한다. 이제 탄력적 ip도 같이 삭제해 주어야한다. 여기에 이제 탄력적 ip 주소 릴리스가 있다. 해당 릴리스를 눌러야한다. 탄력적 ip 를 릴리스 한 이후는 보안그룹도 삭제해야한다. 이제 완벽히 삭제되었으니 요금 발생에 대한 부담은 줄었다.

프로젝트 2023.12.18