개발 21

Jenkins Maven Build 후 SCP를 통한 WAS 파일 전송

저의 근무지에서는 원래 Jenkins에서 sshpass + scp를 통해서 운영 WAS에 빌드된 war 파일을 복사하고, 보안솔루션을 통해(HIWARE) 해당 WAS에 배포담당자가 접근해 스크립트를 실행하여 배포를 진행하고 있었습니다. 하지만 작년에 ISMS-P 인증 획득을 위해 여러가지 보안성 개선 작업을 진행하였고, 그 와중에 비보안 파일 전송 프로토콜 사용 지양이라는 항목에 걸려 Jenkins와 운영기 WAS 간 포트가 막히게 되었습니다..! 그래서 배포시 프로세스가 엄청 늘어나게 되었는데,, 그림으로 표현해보자면 아래와 같습니다. 이렇게 과정이 복잡하고 수동작업이 많다보니 지난번엔 배포담당자가 파일 이름을 헷갈려서(!) 과거 버전을 운영서버에 배포해버리는 일이 발생했고,, 어쩌다보니 신규 CI/C..

개발/DevOps 2022.06.14

코틀린 소개

이 글은 커니의 안드로이드 책을 읽고 정리한 내용입니다. 1. 코틀린이란? 코틀린이란 JetBrains에서 만든 프로그래밍 언어로, 2017년 안드로이드 공식 지원 언어로 채택되었습니다. 기존에 안드로이드 개발을 위해 사용되던 자바에 비해 간결한 문법과 높은 안정성을 가지고 있는것이 주요 특징입니다. 2. 코틀린의 특징 - 코틀린은 문장 끝에 세미콜론이 필수로 들어가지 않아도 됩니다. - 자바와 달리 new 키워드를 통해 객체를 생성하지 않아도 됩니다. - 변수가 명확한 타입을 가지고 선언되지 않습니다.(타입 추론 가능) - 변수 선언 시 null값에 대한 선언을 명확히 해줘야합니다. 이로 인해 안정성이 증가합니다. - var, val 두가지 키워드를 사용해 값의 불변 여부를 명확히 합니다. val의 경..

개발/Kotlin 2019.03.11

RatingBar(레이팅바) 안드로이드 문서 번역 & 정리

RatingBar(레이팅 바)public class RatingBar extends AbsSeekBar 레이팅바는 Object - View - ProgressBar - AbsSeekBar를 상속받는다. RatingBar는 SeekBar와 ProgressBar를 확장해 별모양으로 점수(Rating)를 표시합니다. 사용자는 기본 크기의 RatingBar를 사용할 때 터치하거나 드래그, 화살표 버튼을 이용해 점수를 입력할 수 있습니다. 작은 RatingBar 스타일 (ratingBarStyleSmall)과 표시 전용(Indicator-only) 스타일은 사용자가 제어할 수 없습니다.사용자가 제어할 수 있는 RatingBar를 사용할 때 RatingBar 좌우에 다른 위젯을 배치하는것은 권장하지 않습니다.set..

개발/Android 2018.12.14

Volley 라이브러리 사용 발생하는 Cleartext 에러에 대한 정리

Edwith에서 안드로이드 부스트코스 강의를 들으며 프로젝트를 진행하고있습니다. Prj 4까지는 어찌어찌 잘 진행했는데 네트워크쪽에 입성하니 확실히 난이도가 급상승한걸 느끼고 있습니다. 일단 Volley라는 외부 라이브리러리를 사용하며 강의에서 나타나지 않는 오류를 정리해보려고합니다. 1. Error:: com.android.volley.NoConnectionError: java.io.IOException: Cleartext HTTP traffic to boostcourse-appapi.connect.or.kr not permitted not permitted라고 해서 주소를 google.co.kr로 바꿔도 여전히 동일한 현상이 발생해서 검색해본결과, 안드로이드 SDK 28버전부터 https를 통한 연결..

개발/Android 2018.12.11

백준 3036번

3036번 문제입니다. 링이라고 쓰고 톱니바퀴라고 읽는것의 갯수가 n으로 주어지고, 해당 바퀴의 반지름이 다음줄에 입력으로 주어집니다. 출력은 첫째 바퀴가 1바퀴 돌동안 나머지 바퀴가 몇바퀴 도는지 기약분수의 형태로 출력하는건데요,, 이 문제가 최대공약수/최소공배수 카테고리에 들어가있습니다. 그걸 바탕으로 예제 출력값을 면밀히 관찰하시면 정답이 보입니다. 첫째 바퀴와 n번째 바퀴의 최대공약수로 첫째 바퀴를 나눈것이 분자, n번째 바퀴를 나눈것이 분모입니다. 12345678910111213141516171819202122232425#include int gcd(int a, int b) { int c; while (b) { c = a % b; a = b; b = c; } return a;} int main(..

개발/백준 2018.08.03

백준 2981번

2981번 검문 문제입니다. 문제 이름과 상관없이 n개의 자연수를 나눴을 때 일정한 값이 나오는 i(2개 이상이 될수 있음)을 찾는 문제입니다. 상황을 수식으로 표현하면 i번째 자연수 A[i]를 나머지가 j인 임의의 정수 m으로 나눴을때의 A[i]는 임의의 정수 k[i] * m + j라고 표현할 수 있습니다. 변수 m이 우리가 구하고자 하는 값이므로, j를 없애기 위해 A[i]와 A[i-1]을 계산해봅니다. A[i] - A[i-1] = m * (k[i] - k[i-1]) 으로 정리할 수 있습니다. 이제 m을 구하기 위해서 i번째와 i-1번째 자연수 값의 차이를 구하고, 그 과정에서 등장하는 최대공약수와 그의 약수들을 구하면 됩니다. 컴퓨터공학을 위해 수학을 배워야 하는 이유가 꾸준히 나타나는 것 같습니다..

개발/백준 2018.08.03