본문 바로가기

전체 글

(31)
Chrome에서 10080포트 웹 개발을 하다보면 Test를 위해 Localhost 에서 80포트가 아닌 다른 포트로 웹서버를 띄우고 싶을때가 있다. 이때 10080 포트를 사용하고 싶을때가 있다. 80으로 끝나기도하고 뭔가 기억하기도 쉬워서 그렇다. 근데, 언제 부터인지 모르겠지만 10080포트에 서버를 띄우고 chrome 으로 해당 서버에 접근을 시도하면 아래와 같이 접근이 되지 않고 있다. ERR_UNSAFE_PORT.. 조금 찾아보니, 2021년 부터 Chrome 브라우저에서 10080포트에 대한 HTTP, HTTPS, FTP의 접근을 Block하도록 변경되었다고 한다. 10080 포트를 사용한 NAT Slipstreaming 공격을 방지하기 위한 조치라고 한다. 웹사이트 접속을 통해 NAT과 방화벽을 우회하여 접속한 피해자에..
QA를 위한 전용 IDE - JetBrains AQUA JetBrains에서 자동화 Test를 위한 IDE 가 출시되었다. 언제 유료화가 될지는 모르지만, 아직 Preview 상태로 모든 기능을 무료로 사용가능한것으로 보인다. 아래에서 다운로드가 가능하다. https://www.jetbrains.com/aqua/download/ Download JetBrains Aqua: Download Preview Download the latest version of JetBrains Aqua for Windows, macOS or Linux. www.jetbrains.com 설치 하게되면 아래처럼 QA 라는 아이콘에 Preview 가 붙어있는 것을 볼 수 있다. 정말 QA를 위한 IDE처럼 보인다. Java, Kotlin, Python, Javascript, Type..
Android Emulator & Appium 을 Docker로 구동시키기 Mobile Test를 위해 Android Emulator, Appium 환경을 구성하는 방법은 아주 까다롭다. JDK 설치, Android SDK 구성, node.js 설치, Appium 구성 등 할 것이 너무 많다. 이를 해결하기 위해 Docker를 사용해 아주 쉽게 환경을 구성할 수 있는 방법을 공유 한다. Docker-android Docker-android는 Android emulator, Appium을 포함하고 있는 docker image 이다. 아래에서 자세한 내용을 확인할 수 있다. https://github.com/budtmo/docker-android 해당 Docker image를 사용하면 아래처럼 아주 쉽게 Android emulator, Appium 환경을 사용 할 수 있다. doc..
git 생성한 브랜치에서 main 브랜치 변경사항 가져오기 위 와 같이 A Branch 에서 Main Branch에 있는 변경 사항을 가져오고 싶을때는 어떻게할까? Main Branch는 Remote에 있다. git에서 Remote 는 보통 origin으로 표현한다. $(A Branch) git pull origin main 위 처럼 git pull을 사용해 origin에 있는 main branch 변경 사항을 가져올 수 있다.
Django에서 Request Log를 쉽게 확인해보자 현재 현업에서 Django를 사용해 Test에서 활용할 수 있는 Mock 서버를 만들어 사용 중 이다. Mock 서버에는 자동화 Test에서 여러 요청 들이 들어오는데 언제 어떤 요청이 들어왔는지 확인이 필요할 때가 있다. 그럴 때 마다 Docker logs를 사용해 귀찮고 눈이 아프게 확인했었는데 여간 불편한 일이 아니었다. 그래서, Django에 기본 Logger를 적용하고 이를 쉽게 확인 할 수 있는 방법을 적용해보려고 한다. 먼저 Django 기본 Logger 부터 적용해보자. Django 기본 Logger Django 기본 Logger 는 Django runserver 를 실행해보면 확인 해볼 수 있다. 서버 실행 부터 Exception, Request 정보 등 Debugging에 필요한 내용들..
Windows 에서 .pem 파일 권한 설정하기 windows 에서는 chmod 명령어를 사용할 수 없기 때문에 파일 및 폴더에 오너, 그룹, 유저 각각의 권한을 지정할 수가 없다. 오너에게 Read, Write 권한만을 부여해야 하는 키페어 파일 사용이 쉽지 않다. ( .pem 파일) 리눅스에서는 아래와 같이 쉽게 변경가능 하나, chmod 명령을 지원하지 않는 windows 에서는 쉽지 않다. chmod 600 key_pair.pem 윈도우 운영체제 에서는 아래와 같이 icacls 명령어를 사용해 키페어 파일의 권한 제한이 가능하다. icacls Your_key_pair_file_name.pem /inheritance:r icacls Your_key_pair_file_name.pem /grant:r "%username%":"(R)
Docker를 사용해 Django 서버 SSL(HTTPS) 적용하기 이 글에서는 Let's Encrypt와 Nginx를 사용해 docker/django 환경에서 SSL인증서를 적용해 HTTPS를 사용하는 방법을 다뤄보겠다. SSL? SSL은 Secure Socket Layer로 인터넷에서 서버와 클라이언트 사이에서 전송되는 데이터를 암호화 하고 보호하기 위한 보안 표준 기술이다. 다른 사람이 전송되는 데이터를 보거나 탈취하는 것을 방지한다. SSL의 핵심은 암호화다. 전송되는 데이터를 암호화 하기 위해 인증서가 필요한데, 이 글에서는 인증서를 발급받고 Django 서버에 적용하는 방법에 대해 알아보겠다. Let's Encrypt 내가 운영하는 서버에 HTTPS를 사용하려면 CA(인증 기관)에서 SSL 인증서를 가져와야 한다. 이를 발급받기 위해서는 인증기관..
What is Xpath? 개요 Xpath(XML Path Language)는 XML의 요소와 속성들을 탐색하고 추출하는 표준 경로 언어이다. Xpath를 사용하면 XML 문서의 데이터를 분석하고 문서의 특정 노드에 접근할 수 있으며, Javascript, JAVA, Python 등 여러 가지 언어에서 사용될 수 있는 도구이다. Xpath 표현식은 경로나 패턴을 사용해 XML 문서의 노드를 선택할 수 있다. Xpath는 특정 노드를 선택하기 위해 여러 가지 연산자와 함수를 제공한다. 예를 들어, 특정 요소의 자식 노드를 선택하기 위해서 "/" 연산자를 사용하고, 모든 요소를 선택하기 위해서는 "//" 연산자를 사용한다. 또한, Xpath는 속성 값으로 필터링하거나 요소의 위치를 기준으로 필터링하는 기능도 제공한다. Xpath 예시..