일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 직장영어
- re-engineering
- 라이브아카데미
- skeleton architecture
- 자료구조
- non conventional NFR
- 파이썬
- 메타 쓰레드
- 쓰레드 비디오 다운로드
- meta threads
- endless scrolling
- conventional NFR
- cloud firestore
- Firebase
- 영어회화
- 안드로이드
- Python
- 객치지향프로그래밍
- django
- RecyclerView
- 쓰레드 이미지 다운로드
- 특수문자
- Realtime Database
- 특수기호
- Android
- 이모티콘
- jenkins
- git
- 젠킨스
- firestore
- Today
- Total
목록분류 전체보기 (62)
Owl Life
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Pha8L/btqztieObYp/fgaZPoFSCh6jyTUR0slLvk/img.png)
Traceback (most recent call last): File "/usr/bin/pip3", line 9, in from pip import main ImportError: cannot import name 'main' 위 에러 때문에 잠깐 삽질을 하였습니다. Pycharm IDE에 설정된 python 버전은 3.6인데 콘솔에서 패키지 설치를 위하여 실행한 명령어는 pip 로 하니, 패키지가 제대로 설치되지도 않고 설치 되었다 하더라도 위와 같은 에러가 발생하면서 더이상 실행 조차 되지 않았습니다. python3-pip를 다시 설치 하였지만 뭔가 버전이 꼬인건지 해결이 안되어서 검색을 좀 해보니 아래 명령어로 해결하였습니다. python3 -m pip uninstall pip && sudo ap..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dMDa5l/btqzoAaGv9F/XJvn6MAGpVKbV7oKLKoav1/img.png)
안드로이드 앱 개발을 하다보면 모듈화를 위하여 "com.android.library" plugin이 적용된 여러 sub proejct들을 생성하게 됩니다. 그로 인해 build.gradle 파일이 계속해서 추가가 되고 조금만 신경쓰지 않으면 boilerplate code가 기하급수적으로 늘어나게 됩니다. 또한, 같은 외부 라이브러리를 버전만 다르게 각 모듈에서 적용하여 사용하는 경우도 발생하게 되는데 예기치 못한 컴파일 또는 런타임 에러가 종종 발생되기도 합니다. 관리 포인트가 늘어나게되면 유지보수 비용도 증가하게 되므로 최대한 중복 코드를 제거하여 중앙에서 컨트롤 할 수 있도록 빌드스크립트를 구성하여야 합니다. 본 포스팅에서는 프로젝트의 root에 위치한 build.gradle 파일을 수정하여 중복 코..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bI5rMC/btqznPruFpa/fQFlxI7SRh5fjKbV3ouTB1/img.png)
Android Studio로 개발하다보면 파일을 추가하거나 수정할때 .gitignore에 적용된 대상임에도 changes에 자꾸 나오는 경우가 있습니다. git의 캐시가 문제가 되는것이라서 아래처럼 terminal 명령어로 수정할 수 있습니다. git 캐시 문제이기 때문에 android studio IDE 대상 이슈가 아닌 git 사용하는 전체 프로젝트에 해당 될 수 있을것 같습니다. gitignore가 git에 의하여 ignore 되고 있는 아이러니한 상황 git rm -r --cached . // 변경 파일들 다시 추가 후 commit. git add . git commit -m "fixed untracked files" 출처 : Stackoverflow
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/q5KyM/btqzozaE4f3/mctk8U08gkIIkfcZlMYRG1/img.png)
젠킨스의 빌드 히스토리에 보여지는 설명 부분을 어떻게 커스텀 하는지 알아보도록 하겠습니다. 사용 용도에 따라 다양한 정보들을 노출 시킬수 있겠지만, 본 포스팅에서는 빌드된 apk 파일명과 용량. 그리고 이전 빌드 산출물 대비 용량이 어떻게 변하였는지를 노출 시켜보도록 하겠습니다. description setter plugin 설치 플러그인 관리 페이지에 접근 후 "Available" 탭에서 description setter plugin을 검색 후 설치합니다. 젠킨스 재시작까지 완료 하셔야 합니다. 워크스페이스 Configure 워크스페이스의 Configure 메뉴로 진입 후 execute shell에 새로운 항목을 추가해줍니다. 이미 추가된 execute shell 항목이 있다면 그 하단에 추가하여 마지..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vfZjc/btqzkRaJsp6/ZMxCc9QErgn734zH5dYRM0/img.png)
프로그래밍하면서 코드 스타일을 체크해주는 유용한 플러그인으로 많은 개발자들이 사용하고 있습니다. 본 포스팅에서는 Android Project에 checkstyle plugin을 적용 후 젠킨스에도 결과를 보여주도록 적용해보겠습니다. Lint 그래프 아래쪽에 Checkstyle Trend가 표시되는것을 볼 수 있습니다. 차트를 클릭하면 상세 내용을 확인 할 수 있습니다. 해당 항목을 클릭하면 어떤 부분 때문에 검출이 되었는지 확인 할 수 있습니다. 본 검출 내용은 메서드 이름은 소문자로 시작하여야 하는데 대문자로 시작했기 때문에 발생된 에러입니다. Android 프로젝트에 checkstyle 적용 프로젝트가 한개일 경우에는 app/build.gradle 파일에 적용하면 되고, 여러개의 멀티 프로젝트를 운용..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bpuc5q/btqzi24L5mi/UytOkp5ggRenrHI1qL0FC0/img.png)
정적 분석툴 중에 하나인 lint plugin을 Jenkins에 적용 하는 방법에 대하여 알아보려고 합니다. Android 프로젝트는 기본적으로 lint task를 지원하고 있기 때문에 별도로 추가를 하지 않아도 사용이 가능합니다. 아래처럼 터미널에 명령어를 입력하면 lint task를 수행 후 report 파일까지 생성해서 결과를 제공해주고 있습니다. 이러한 report file을 jenkins에서 보여주도록 설정만 해주면 손쉽게 사용이 가능합니다. $ ./gradlew lintDebug > Task :app:lintDebug Wrote HTML report to file:///JenkinsTestProject2/app/build/reports/lint-results-debug.html Wrote XM..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rDJlp/btqzfGBWW6G/HLLJhuJ8DGVXwCKlkS5591/img.png)
에러 내용 Failed to connect to repository. Permission denied (publickey). fatal: 리모트 저장소에서 읽을 수 없습니다. 정상적으로 저장소에 접근이 가능한 경우 원인 public repository라면 url만 입력해도 바로 연동이 되지만 private repository인 경우에는 ssh key를 등록하여야 정상적으로 git 반영이 가능합니다. ssh 키 생성 및 repository에 등록하는 과정을 알아보도록 하겠습니다. 인증키 만들기 인증키는 ssh-keygen으로 생성한다. $ cd ~/.ssh $ ls 만약 id_rsa / id_rsa.pub 와 같은 키 쌍이 존재한다면 키 생성없이 바로 등록 과정을 거쳐도 됩니다. // 없는 경우에는 키 생..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rrDHt/btqzfFXkmNX/0iKKgDeTtb16rgkg9VAiX1/img.jpg)
deal with - 누군가와 거래를 한다. (+someone) - 어떤 문제나 방해 요소를 없애거나 고침으로써 그 상황을 해결하는. 사람과 거래를 한다는 의미로 씀. - 문제가 되는 사람을 대상으로 하여 해결을 본다. - 책이나 영화에서 어떤 내용을 다룬다. - 어떤 사람이 질병이나 증상을 시간이 지나면서 겪고 치료하기 위해 노력해 나가는 과정. - with가 있으므로 누군가와 의사소통을 통해서 해결을 보려는 느낌. I usually deal with patients with depression. 저는 우울증을 앓고 있는 환자들을 주로 다룹니다. handle - 감당할 수 있다는 의미가 강함. - 좀 더 표면적인 의미에서 뭔가를 다룰 때 씀. - 물건에 대해 얘기할 때 쓰기 좋음 - 통제한다는 의미에 ..