[git] Github 계정 여러 개 사용 SSH Key
·
카테고리 없음
ssh-add ~/.ssh/생성한 개인키 명 개요 소속을 다르게 해서 프로젝트를 하다보면 깃허브 계정도 다르게 쓰는 경우가 생긴다. 이번 프로젝트에서 다른 아이디를 생성하고 Bitbucket과 Source tree에서 작업을 했는데 ssh key 관련 문제가 계속 발생해서 이번 기회에 정리를 해보자.. 계속 permission denied가 나서 ssh key를 생성하고 등록해도 해결이 안되는 사람들에게 도움이 될 듯하다. 우선 기억해야 할 것은 프로젝트마다 다른 github 계정을 사용하는 경우라면 SSH Key를 따로 설정해주어야 한다. 지금부터 그 과정에 대해 설명한다. SSH Key 생성 1. SSH Key를 관리하는 디렉토리로 이동 후, SSH Key 목록을 확인해준다. 일반적으로 아래와 같은 ..
[GCP] Cloud Build & Cloud Run CI/CD, Docker, Bitbucket
·
DevOps/GCP
개요CI/CD 구축의 핵심 과정인 Google Cloud Build와 Cloud Run을 세팅하는 과정에 대해 알아보자.  1. Google Cloud Build 설정하기Google Cloud Build란?Google Cloud Build는 Google Cloud 인프라에서 빌드를 실행하는, 말 그대로 빌드 서비스다. 사용자가 세팅한 Trigger가 발생하면 Github, Cloud Storage 등등에서 소스 코드를 가져오고, 사양에 맞게 빌드를 실행한다. Docker Container나 Java Archive와 같은 도구를 통해 Artifact(빌드 결과물)를 빌드하도록 설정할 수 있다.  Cloud Build 동작 과정 1. Cloud Build의 빌드 트리거에 사용자가 설정한 코드 변경이 감지된다..
[GCP] Google Cloud SDK 설치 및 세팅
·
DevOps/GCP
개요Google Artifact Registry 구축기에 Google Cloud SDK 설치 및 세팅 관련 과정을 첨부해서 글을 작성했었는데 이를 따로 빼는 게 맞다고 판단하였다. GAR에만 쓰는 게 아니고 또 GAR 관련 포스팅 해야할 내용이 추가되었기 때문에.. 😆  1. Google Cloud SDK란?쉽게 말해서 Google Cloud 관련 툴을 다루기 위한 명령툴이다. 주의할 점필자는 서버 상에서 AR(Artifact Registry)에 접속해야 하므로 VM 인스턴스 서버에 설치를 했다.필요 하에 서버 자체에 설치를 할 수도 있지만 일반적인 경우라면 로컬에 설치하고, 편리하게 로컬 환경에서 접속할 수 있는 도구다.   2-1. Google Cloud SDK 패키지 경로 추가VM 인스턴스에 Go..
[GCP] Docker와 Artifact Registry
·
DevOps/GCP
개요GCP 환경에서 CI/CD를 구축하기 위해 도커 컨테이너 이미지가 저장될 저장소가 필요하다.처음에는 Docker Hub를 통해 이 저장소를 구축할 생각이었으나, private/public 저장 공간을 생각 못 했다.Docker Hub의 private version을 이용하려면 요금을 지불..해야한다..! 그런데 어차피 유료라면 Google의 Artifact Registry라는 저장소를 사용하는 게 낫다고 판단했다.Google Cloud에 종속성이 높지만, 보안적인 측면에서 더 강한 장점이 있는 Google Artifact Registry를 사용하기 위해 해당 문서를 작성한다. Artifact RegistryArtifact Registry란?컨테이너 이미지(docker)나 언어 패키지(Maven, np..
[Docker] Docker와 Docker Hub로 CI/CD 구축하기
·
DevOps/Docker
개요 로컬 환경의 소스 코드를 도커 이미지로 만들어 도커 허브로 푸쉬하고, Cloud Run을 통해 배포해보자!이 포스팅에서는 Cloud Run 전 단계의 Docker 설정을 해볼 것이다.포스팅에 앞서 로컬 환경에 다음 세팅이 모두 완료되었음을 가정하고, 이와 관련한 설명은 생략한다.Docker Local SettingDocker Installation on VM InstanceDocker Hub SettingGCP VM instance SettingBitbucket Repository, branch SettingSource Tree - Bitbucket - IntelliJ 연동1. Docker Image 생성애플리케이션 코드가 담긴 도커 이미지를 생성해준다. 왜 생성할까?도커 이미지를 원격 저장소인 도..
[JAVA] 익명 클래스(Anonymous Class), 람다식(Lambda)
·
언어/JAVA
개요 Effective Java 7장에서 등장하는 개념을 공부하기 위한 포스팅이다. 1-1) 익명 클래스(Anonymous Class) 프로그램에서 일시적으로 한번만 사용되고 버려지는 객체다. 분명히 Java Spring을 공부할 때는 코드의 재사용성을 고려하며 프로그래밍을 해야 좋은 개발자라고 배웠다. 그렇다면 재사용이 불가능하고 확장성도 좋지 않은 익명클래스를 왜 사용하는 걸까? 프로그램 내에서 일시적으로 사용되는 객체 처리에 사용한다. 확장성을 활용하는 것이 유지보수에서 더 불리할 경우에 사용한다. 해당 블로그 에서 이를 이해하기 위한 아주 좋은 예시를 들고 있다. 일부를 발췌해서 이해해보자. 1-2) 확장성이 필요없는 극단적인 예시 (출처) 곤충이라는 부모클래를 상속받는 거미 구현 클래스가 있다...
[GCP/Docker] GCP(Google Cloud Platform) Docker Setting
·
카테고리 없음
개요 Google Cloud Platform에 VM 인스턴스를 만들고 Docker를 설치하여 컨테이너화하려고 한다. 이번 포스팅에서는 VM 인스턴스에 Docker를 설치하는 과정을 정리한다. VM 인스턴스는 무료 버전(e2-micro)로 설정하고 부팅디스크는 20GB, http와 https 트래픽 접근을 허용해주었다. OS는 ubuntu 20.04 LTS로 세팅하였다. VM 인스턴스에 Docker 설치하기 VM 인스턴스를 조작하기 위해 os 접근 방법은 아래 콘솔 페이지에서 빨간 박스를 클릭하면 된다. SSH로 인스턴스에 접근을 해주면 다음과 같은 터미널 화면이 뜬다. 박스로 가린 내용은 서버 유저네임이다. 도커 설치를 위한 VM 인스턴스 기본 세팅 우선 루트권한을 얻기 위해 sudo su 명령어를 입력..
[spring] @Async와 SimpleAsyncTaskExecutor, TaskExecutor 그리고 thread pool
·
Dev/Spring & JPA
@Async Asynchronous excution을 지원하는 스프링 어노테이션이다. 빈에 등록된 함수에 이 하지만 이러한 방식은 @Async 어노테이션을 적용하면 요청을 별도의 스레드(같은 Object data를 공유하는 스레드 중 하나)에서 실행한다. 이러한 Async 동작방식을 적용하여 호출자는 해당 메서드가 완료되는 것을 기다릴 필요가 없다. public interface EmailService { @Async void sendEmail(String template, Map properties); } → 위 예시에서 sendEmail 메소드는 별도의 스레드에서 실행된다. Spring’s @Async annotation, indicating that it should run on a separate..
[백준/1015] 수열 정렬
·
PS/BOJ&Programmers
수열 정렬 Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 알고리즘 입력된 배열 A의 오름차순을 새로운 배열에 저장하는 문제다. 처음에 문제 이해 자체가 좀 어려웠는데, 예시를 통해서 비교적 쉽게 이해할 수 있었다. 일단 배열 A는 수열 P처럼 0부터 N-1까지의 수를 한 번씩 포함하는게 아니라 예시의 2 1 3 1 처럼 같은 숫자가 2번 이상 반복될 수 있기 때문에 가장 작은 값부터 큰 값까지 하나씩 차례대로 순서를 찾았다. 복잡도를 따졌을 때 이러한 방식으로 문제를 해결하더라도 N
[개발일지] 개발자가 가져야하는 습관, git pull
·
회고 & 후기/개발 일지
이슈한 Task가 끝나고 새로운 Task를 진행하려고 새로운 repo에 들어가서 작업시도했다. 그런데 아래 사진과 같이 어떤 파일이 없다는 error 아무리 해당 레포의 브랜치를 pull해도 해결이 안되었다.보안상 사진을 업로드할 순 없어서 글로 써보면 구조는 다음과 같다. 해결작성된 코드를 보면 repository의 내용들이 서로 연관되어있기에,위에서 없다고 알려주는 해당 레포(packge)에 가서 pull을 받아와야 한다. (너무 당연한데 작게 사이드 프로젝트만 했었다면 충분히 모를 수 있는 것같다..) 깨달음사실!이정도면 포스팅까지 하지않겠는데 작업할 때 항상 pull하는 습관을 들이는게 좋다는 걸 계속 깨닫고있다.다른 사람이 작업을 하고 커밋을 추가했는데 만약 소통이 안되었다면?(사실상 누군가가 ..
[개발일지] git 영역(Staging)과 소스관리 | 브랜치 전략, PR과 Merge | 협업 시 git 잘 쓰는 방법
·
회고 & 후기/개발 일지
개요 지금까지 프로젝트를 하면서 깃허브를 단순 코드 공유기로만 사용하였는데, 회사에서 github를 통해 협업을 진행하며 깃허브의 다양한 기능과 활용법, 장점에 대해 많이 배웠다. 이러한 내용들을 정리하여, 꾸준히 복기하려 한다. git 소스 관리 소스 상태의 확인은 git status 명령어를 통해 확인할 수 있다. 관리 대상 상태 untracked: 파일 변경을 감지하지 않음.(아무런 변화 없는 상태) tracked: 파일 변경 감지함. modified: 파일이 변경된 상태지만 staged는 안되었으므로 Working Dir에서만 변한 상태. staged: 커밋할 대상 commited: Staging Area에 안전하게 저장됨. 보통 github 원격 저장소에 push를 할 때, 다음과 같은 과정을 ..
[인턴십] 2023 ICT 학점연계 인턴십 최종 합격 후기
·
회고 & 후기/회고 & 후기
개요 ICT 학점연계 프로젝트 인턴십은 국내외 기업/대학생/대학이 함께 참여하는 인재 양성 사업이다. 학교 공지사항에서 모집 확인을 했고, 전공 학점까지(12학점) 주며 실무 경험을 쌓을 수 있기에 신청을 했다. 사실 처음에는 붙을 거라는 기대 하나도 없이 CS 면접이라도 보면 이득ㅋㅋ(경험이니까)이라는 생각으로 했는데..! 최종합격까지 해서 이렇게 후기를 쓴다!! 학교마다 참여 기업이 조금씩은 다르고, 매학기 마다 참여 대학과 회사가 달라지니 학기가 시작되기 전에 공지사항을 확인하여 도전해보자. 회사 지원 기준 나는 백엔드 서버 개발자를 희망하고 있고, 이외에도 DA∙SA 등을 희망하기에 관련 직무를 일일이 찾았다. ICT 인턴십 사이트에서 기본적으로 필터링 기능을 제공해주긴 하지만 비추다. 왜냐하면 ..
[공모전] 2023 IT 창업 개발 동아리 멋쟁이 사자처럼 11기 해커톤 후기
·
회고 & 후기/회고 & 후기
개요 예선 일정: 2023.07.17 - 2023.08.17 본선 일정: 2023.08.18 14:00 - 2023.08.19 07:00 주제: 디지털 격차(이커머스∙소셜미디어∙공공서비스∙블록체인 온체인 서비스 등) 각 분야에서 발생하는 디지털 격차를 각 팀이 선택하여 이를 해소할 수 있는 서비스를 개발한다. 규모: 전국 61개 대학, 1600여명 대학생 참여 이번 행사는 특이하게 NFT 마켓플레이스 콘크릿과 연계하여 참가티켓과 수료증을 토큰으로 받는다! 심사위원과 심사기준 심사위원 멋쟁이사자처럼 대표 이두희, 위메이드 서일구 실장, 알토스벤처스 정해민 심사역, 소풍벤처스 최경희 파트너 등 심사기준 1. 독창성, 전달력, 기술성, 주제 적합도 => 각 항목 당 20점 만점으로 심사합니다. 2. 완성도, ..
[DB] H2 DB 설치와 초기세팅
·
DB
H2 설치 https://h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size Supp h2database.com 초기 세팅 다운받은 폴더의 압축을 풀어준다. 이후 cmd 창으로 h2가 존재하는 폴더에 접근한 뒤 명령어를 통해 h2를 실행한..
[자율주행] djitellopy & opencv Object Detection - (2)
·
ML/OpenCV
Object Detection Tello 카메라를 통해 받아온 영상의 색상을 검출하는 과정은 다음과 같다. Camera&OpenCV로 받아온 BGR 컬러 영상을 HSV로 변환 설정된 HSV 채널 이진화 중점 찾기 import cv2 hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) lower_red1 = np.array([0//2, 255//3, 40]) upper_red1 = np.array([15//2, 255, 200]) lower_red2 = np.array([345//2, 255//3, 40]) upper_red2 = np.array([360//2, 255, 200]) rowMask = cv2.inRange(hsv, lower_red1, upper_red1) upp..
sebinChu
'분류 전체보기' 카테고리의 글 목록 (6 Page)