본문 바로가기

Hello World24

[ERROR] java: illegal character: '\ufeff' JAVA 빌드시 아래와 같은 오류로 compile error 가 발생하여 빌드 실패하였다. 에러 문구 [ERROR] java: illegal character: '\ufeff' 발생원인 특정 파일의 인코딩이 UTF-8 with BOM 으로 되어있었다. JAVA compile시 BOM 유니코드를 compile 하지 못한다. BOM이란? 문서 맨 앞에 눈에 보이지 않는 특정 바이트(byte)를 넣은 다음 이것을 해석해서 정확히 어떤 인코딩 방식이 사용되었는지 알아내는 방법이다. 메모장같은 일부 Windows 프로그램에서 눈에 보이지않지만 자동으로 BOM을 집어넣어 저장한다. 해결방법 IDE (IntelliJ, VS Code) 또는 메모장을 통해 쉽게 변경할 수 있다. 1. 인코딩 메뉴에 들어가 UTF-8 w.. 2022. 4. 14.
[Ansible/AWX] AWX 관리 tip - Management Job AWX는 이전의 활동 내역들 (activity stream data)가 계속 저장하고 있기때문에 history나 job log 등 보관을 위한 용량을 차지하게 된다. 때문에 주기적으로 이전 history 를 지워야 하는데 이때 Management Jobs 메뉴에서 처리 가능하다. Menu - Management Jobs - Cleanup Activity Stream - Launch 을 클릭한다. 나는 30일이 지난 내역을 모두 삭제했다. 매번 들어가서 정리하기 번거롭기 때문에 주기적으로 정리하도록 scheduling 할 수도 있다. Cleanup Activity Stream - Schecules 를 들어가 새로운 schedule을 등록한다. 2021. 3. 24.
[Ansible/AWX] AWX inventory 에 host 자동 추가 AWX를 사용하다보니 inventory 등록할때 host를 하나씩밖에 등록하는 것이 번거롭다. 여러 방법으로 host 정보를 gathering 할 수 있는데, (SOURCE설정, inventory script) 나는 inventory 도 git에 등록하여 사용하고 있기떄문에 git의 host파일을 불러와 자동으로 inventory 를 구성하도록 했다. 우선 새로운 inventory 를 추가한다 SOURCES 탭에들어가 신규 SOURCE를 추가한다. 이때 SOURCE 는 Sourced from a Project 로 선택하면된다. Inventory file 을 git에 update 할때마다 AWX의 inventory 도 sync 를 맞추기 위해 UPDATE OPTIONS 의 OVERWRITE 와 OVERWR.. 2021. 3. 24.
[Ansible/AWX] Ubuntu에 AWX 설치 따라하기 Ansible 을 GUI 로 관리하고, api로 제어할수 있도록 해주는 시스템이다. Playbook 을 관리하고 운영하는데 필요한 여러 기능을 제공한다. 서버에 AWX를 설치해보고 사용법 익히자. 설치 서버 사양 - Ubuntun 14.04 - Python 2.7 1. 사전에 설치가 필요한 package ##ansible, docker, docker-compose sudo apt update && sudo apt -y upgrade apt-get install ansible apt-get install sshpass pip install docker-py pip install docker-compose ##pip pip install --upgrade pip pip install docker-compos.. 2021. 3. 17.
[삼성 패스 오류 해결] samsung pass를 일시적으로 사용할 수 없습니다. 나중에 다시 해보세요. (255) 에러 아이폰을 쓰다가 몇년만에 갤럭시로 갈아탔다. (S20+) 웹 페이지 로그인할때마다 Samsung pass 에 저장하겠냐는 창이 뜨고 저장버튼을 누르면 첫화면에 Samsung pass로그인하라고 뜬다. 이때 삼성계정으로 로그인을 하면 "samsung pass를 일시적으로 사용할 수 없습니다. 나중에 다시 해보세요(255)" 라는 에러와 함께 접속이 되지 않는다. 혹시나 계정이 비밀번호가 틀린건가 비밀번호 초기화도 해보고, 휴대폰 소프트웨어 및 삼성패스도 최신 버전으로 업데이트해보았으나 여전히 오류 발생. 해결이 되지 않아 삼성측에 아래와 같이 문의했다. 답변이 오기까지 2주가 넘게 걸렸다. 답변은 사용하던 삼성계정을 삭제후 재등록 해야한다는것. 몇년 전 갤럭시 노트7을 사용한 적이 있는데 이때 삼성 패스 .. 2021. 3. 5.
[docker] Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. docker run 시 --memory=xx --memory-swap=xx 옵션 설정하여 docker run 시 아래와 같은 에러 발생. 에러 Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. 2021. 1. 20.
[Android] Build sandboxing disabled due to nsjail error. This may become fatal in the future. docker 환경에서 안드로이드 빌드시 아래와 같은 nsjail 관련 에러가 발생 (android 10 Q) 에러 Build sandboxing disabled due to nsjail error. This may become fatal in the future. 원인 docker 환경에서는 보안 security 관련 환경이 달라서 error가 발생하는 것으로 보임. 기본적으로 도커 컨테이너는 Unprivileged 로 실행되는데, 이 모드에서는 시스템 자원에 접근할 수 없다. 해결방법 시스템 내 장치 등 주요 자원에 접근하기 위해서는 컨테이너를 privileged 모드로 실행해주어야 하는데, docker run 시 --previleged 옵션을 주면 된다. 그렇게되면 커널의 기능을 대부분 사용할 수 있.. 2021. 1. 20.
Jenkins Pipeline 따라하기 (1) Jenkins 2.x 에서 가장 크게 추가된 기능이 있다면 pipeline 일 것이다. 기존 jenkins 에서 개별 job 으로 pipeline 을 구성했다면, Jenkkins2 에서는 파이프라인을 코드로 작성하여 프로그래밍과 버전관리를 지원한다.모든 파이프라인 설정이 하나의 파일(.JenkinsFile)을 이용해 작성이 가능하기때문에 일반 코드처럼 버전관리가 가능하다. 기본적인 pipelie job을 만들어보자. 구성의 pipeline 설정을 보면 두가지 종류가 있는데, script 영역안에 Pipeline 코드를 작성하거나, 스크립트를 버전관리시스템에 저장해놓고 사용할 수 있다. groovy 작성이 가능하며, 문법이 어렵지 않기 떄문에 금방 따라할 수 있다. 오른쪽 상단의 버튼을 통해 sample .. 2020. 12. 23.
IT 용어 정리 - BareMetal, VM, On-Premise, Off-Premiss, Cloud Baremetal vs. Virtual Machine 베어메탈(Baremetal) 이란 1대의 물리 서버를 단일 사용자가 전용으로 사용하는 서버이다. 서버 자원의 성능을 모두 점유해서 사용하기 때문에, 높은 성능을 요구하는 서비스에 적합함. 가상머신(Virtual Machine)이란 물리 서버 위에 가상화를 통해 가상컴퓨터 시스템으로 작동하는 환경을 말한다. 서버처럼 하나의 하드웨어에 여러 VM이 존재할 수 있다. On-Premise Vs. Off-Premise 온프레미스(On-premises)란 클라우드 같이 원격 환경이 아닌 자체적으로 보유한 특정 공간에 직접 설치해 운영하는 방식을 말한다. 가장 전통적인 기업 인프라 구축 방식이다. 오프프레미스(Off-Premises)란 인터넷 네트워크에 연결된 서.. 2020. 12. 21.