티스토리

곰대생
검색하기

블로그 홈

곰대생

summer-west.tistory.com/m

summer.west 님의 블로그입니다.

구독자
0
방명록 방문하기
공지 summer.west의 기술블로그 ? 모두보기

주요 글 목록

  • Elasticsearch Query 사용 시 유용한 명령어 Query 유효성 점검 명령어 직접 작성한 Query문의 유효성 여부를 판별한다. POST /_validate/query?explain { } SQL 명령문을 Query로 변환 SQL 명령문을 입력하면 자동으로 Query문으로 변환한 결과를 보여준다. GET /_sql/translate { "query": "" } 멀티 인덱스 검색 Elastic에서 데이터를 검색할 때는 인덱스 내부의 도큐멘트 단위로 검색한다. 한번에 여러 인덱스의 도큐멘트를 조회하려면 다음과 같이 명령어를 입력한다. GET , /_search? 다중 쿼리 적용 여러개의 쿼리문을 적용한 질의 방식 { "query": { "bool": { "must": [ { "match": { "": "" } }, { "match": { "": "" }.. 공감수 0 댓글수 0 2021. 2. 15.
  • Elasticsearch 검색 질의 방식 검색 기능이 특화된 Elasticsearch의 질의 방식에는 루씬 스타일을 기반으로 하는 URI 방식과 쿼리문을 사용하는 Query DSL 방식이 있다. 더보기 참고 링크 https://www.slideshare.net/hosangjeon10/ss-43108684 https://www.slideshare.net/kjmorc/ss-49009522 https://www.slideshare.net/dahlmoon/20160613 URI 방식 (루씬 스타일) 기본 형태 GET //_search?q=: #curl 명령어 사용 시 curl -XGET 'http://:///_search?pretty&q=: 예시 더보기 Shakespear 데이터) GET shakespeare/_doc/_search?q=text_ent.. 공감수 0 댓글수 0 2021. 2. 15.
  • Elasticsearch 데이터 처리 ELK Stack에서 데이터를 저장하고, 검색하는 (개인적으로) 가장 핵심이라고 생각하는 Elasticsearch 우리에게 친숙한 데이터베이스인 RDMS와 용어부터 차이가 있다. 자세한 이론적인 내용은 아직 너무 걸음마 수준이고, 나도 검색해보고 있는 입장이라 생략하고 지금까지 파악? 시도?해 본 Elasticsearch의 데이터 처리 방법에 대해서 잠깐 정리해본다. 데이터 저장하기 - Sample Data Elasticsearch에서 제공하는 Sample Data를 이용한 데이터 저장하기 Loading sample data | Kibana Guide [6.8] | Elastic If security is enabled, you must have the all Kibana privilege to run .. 공감수 0 댓글수 0 2021. 1. 29.
  • MDM / MAM / UEM / EMM / DRM 모바일 APP 보안 서비스를 다루다 보면 한번씩 듣는 단어들인데 들을 때마다 검색해보다가 드디어 정리를 해둔다. 너무 비슷비슷한 단어들이라 아직도 헷갈린다. 익숙해질 날이 오겠지? MDM (Mobile Device Management) 모바일기기 원격 제어 MAM (Mobile Application Management) 모바일기기 내부의 특정 데이터 제어 UEM (Unified Endpoint Management) 모바일뿐만 아니라 태블릿, 데스크탑, 노트북 등 기타 IT 단말까지 제어 EMM((Enterprise Mobility Management) 포괄적이고 하드웨어를 가리지 않은 원격 디바이스 관리 방법 DRM (Digital Right Management) 정보보호 기술 중 하나로 암호화 기술을 .. 공감수 0 댓글수 0 2021. 1. 29.
  • ELK Stack이란? + Kibana 와 Grafana 회사에서 새롭게 공부하기 시작한 ELK Stack 정말 처음 들어봐서 아직 걸음마 수준이지만 나중을 위해 조금이라도 정리해보려 한다. ELK Stack = Elasticsearch + Logstash + Kibana 로그 관리(검색) 시스템 분산 검색 엔진 — 비정형 데이터를 쉽게 저장 및 처리 가능 / 실시간 데이터 검색 가능 RESTful API / JSON 형식 지원 구문 분석 및 변환 데이터 처리 파이프라인 입력 — *필터 — 출력 *Template, 구조화, Mapping 데이터 시각화 최근에는 데이터 수집 도구인 도 함께 사용한다. JSON형식의 DATA ➡️ Beats ➡️ Logstash ➡️ Elasticsearch ➡️ Kibana or Grafana Kibana 와 Grafana 의 .. 공감수 0 댓글수 0 2021. 1. 29.
  • Python 디렉토리 생성 / 파일 쓰기 디렉토리 유무 확인 후 없으면 디렉토리 생성 try: if not (os.path.is.dir('directory')): os.makedirs(os.path.join('directory')) except OSError as error: if error.errno != errno.EEXIST: print('Directory has already created') raise 파일 쓰기 #동일한 이름의 파일이 있을 경우 덮어쓰기 open('directory' + '파일명.txt', 'w') as file: file.write('파일 내용') #동일한 이름의 파일이 있을 경우 이어쓰기 open('directory' + '파일명.txt', 'a') as file: file.write('파일 내용') 공감수 0 댓글수 0 2020. 12. 8.
  • Android GDB 설치 및 실행 방법 (Mac OS) GDB는 GNU에서 제공하는 Debugger다. Windows, Linux, Android, iOS 등 다양한 플랫을 지원하는 디버깅 툴이라고 하는데, 사실 Android 안티 디버깅 테스트를 위해 간단히 설치와 실행 (+ 간단한 명령어) 정도만 사용해봤다. 멀고도 험한 보안의 길.. GDB 설치 방법 참고 링크 (https://www.hahwul.com/2015/09/03/android-android-gdb-build-arm-gdb-for/) 1. GDB 공식 홈페이지에서 최신버전(gdb-10.1.tar.xz) 을 다운로드하고, 압축을 해제한다. Download GDB Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also .. 공감수 0 댓글수 0 2020. 12. 8.
  • Python Test framework "Pytest" (설치 및 사용 방법) 다양한 프로그래밍 언어만큼 각 언어를 지원하는 테스트 프레임워크가 존재한다. Pytest는 이름에서부터 느껴지듯이 Python 스크립트를 지원하는 테스트 프레임워크로, 쉽게 말해 작성한 Python 스크립트의 동작을 Pass / Fail 형식의 결과로 나타내주는 일종의 라이브러리 모듈이다. ​ APPIUM을 Python Client로 사용하고 있다 보니, 자연스럽게 Pytest를 접하게 되었는데 생각보다 활용범위가 넓어 잊어버리기 전에 조금 정리해보고자 한다. Pytest 공식 문서 앞서 소개했듯이, Pytest는 Python 스크립트를 실행하면서 Pass / Fail 결과로 나타내주는 Python 테스트 프레임워크다. 사용 방법은 어렵지 않아 공식 문서를 보면 금방 이해 할 수 있다. Full pyte.. 공감수 0 댓글수 0 2020. 12. 7.
  • PHP 설치 후 Apache 실행 시 오류 해결 (Invalid command 'PHPIniDir') Apache 웹서버 + PHP 설치 방법을 검색해보면 Apache httpd.conf 파일에 아래 내용을 추가하라고 한다. PHPIniDir "C:/php7.4.12" LoadModule php7_module "C:/php7.4.12/php7apache2_4.dll" AddType application/x-httpd-php .html .php AddHandler application/x-httpd-php .php 현실은 아래 오류 메시지만 계속 출력되고, 구글링해도 나만 빼고 다들 잘 해결하더라.. Microsoft Windows [Version 10.0.18363.1198] (c) 2019 Microsoft Corporation. All rights reserved. C:\Windows\system32.. 공감수 0 댓글수 0 2020. 12. 6.
  • Android 프로젝트 APK 추출하기 ※ Android App Bundle 형식은 아래 글 참고 Android App Bundle(.aab) 빌드 및 앱 설치 방법 AndroidStudio 에서는 빌드 결과물로 APK(Android 애플리케이션 패키지)와 AAB(Android App Bundle) 두 가지 형태를 제공한다. 흔히 앱 설치 파일로 알고 있는 APK는 Gradle에서 설정한 API 버전에 해당.. summer-west.tistory.com Android Studio 상단 메뉴 > Build - Build Bundle(s) / APK (s) - Build APK(s) 클릭 ​빌드가 끝나면 하단에 알림창 혹은 Event Log창에서 알림이 나타나고, locate를 클릭하면 생성된 APK 디렉토리로 이동한다. 다들 알고 있듯이 이렇게.. 공감수 0 댓글수 0 2020. 12. 6.
  • Android App Bundle(.aab) 빌드 및 앱 설치 방법 AndroidStudio 에서는 빌드 결과물로 APK(Android 애플리케이션 패키지)와 AAB(Android App Bundle) 두 가지 형태를 제공한다. 흔히 앱 설치 파일로 알고 있는 APK는 Gradle에서 설정한 API 버전에 해당하는 모든 설치 파일이 압축되어 있는 형태로, Android 버전과 상관없이 동일한 파일로 앱을 설치한다. 반면, Android App Bundle은 다운로드 요청 시 사용자 단말 버전에 해당하는 API만 추출하여 빌드한 APK로 앱을 설치한다. 즉, Android App Bundle 형태로 빌드한 APK의 경우 필요한 API 버전만 포함하고 있어, 기존 방식의 APK 보다 현저히 작은 용량으로 앱을 제공한다. 실제로 Google Playstore에 앱을 등록할 때.. 공감수 0 댓글수 0 2020. 12. 6.
  • Android Gradle 설정 동기화 방법 AndroidStudio Gradle 설정 후에는 Manifest 연동을 위해 반드시 동기화가 필요하다. 방법은 아주아주 간단하다. gradle 설정 파일을 수정하면 파일 위쪽에 노랑색 알림줄이 표시 되는데, 우측 끝에 Sync Now 버튼을 클릭한다. 그럼 똑똑하게 알아서 동기화가 진행되고, 아래와 같이 뜨면 완료. 공감수 0 댓글수 0 2020. 12. 6.
  • Android Gradle 설정 파일 AndroidStudio 는 프로젝트 빌드 도구로 Gradle 을 사용한다. Gradle 은 Groovy를 기반으로 한 오픈 소스 형태의 빌드 자동화 도구로 DSL을 스크립트 언어로 사용한다. 실행할 처리 명령들을 모아 만든 태스크 단위로 실행하며, 이전에 사용했던 태스크를 재사용하거나 다른 시스템의 태스크를 공유하는 빌드 캐시 기능을 지원하여 향상된 빌드 속도를 제공한다. ​AndroidStudio 에서 프로젝트를 생성하면 기본적으로 gradle 빌드 구성 파일을 포함한다. build.gradle(Module: app) 예시 코드 apply plugin: 'com.android.application' // 프로젝트 패키지명 android { compileSdkVersion 28 // API 28 이하 .. 공감수 0 댓글수 0 2020. 12. 6.
  • Android 앱의 구성 및 빌드 프로세스 AndroidStudio 에서 Project 하나를 빌드하면 apk 파일 하나가 생성 된다. 즉, Project = 앱을 의미한다. ​ 하나의 Project는 기본적으로 다음과 같은 구조로 생성된다. 사용자 인터페이스를 결정하는 리소스 파일(res 폴더)들과 앱의 동작을 구현하는 자바 파일(java)을 비롯해, 앱의 전반적인 정보(앱의 이름, 액티비티 구성, 권한 등)를 정의하는 Manifest 파일, 그리고 빌드를 위한 Gradle 스크립트 파일(build.gradle, setting.gradle)로 구성 된다. ​ 이렇게 구성된 Project를 빌드하면 스마트폰에서 앱을 설치하는 APK 파일, 즉 Android 애플리케이션 패키지가 생성 된다. 컴파일러는 소스 코드를 스마트폰에서 실행할 수 있는 바이.. 공감수 0 댓글수 0 2020. 12. 6.
  • Android apk 파일에서 매니패스트 정보 추출 (패키지명, 권한 등) apk 파일만 덩그러니 놓여있을 때, apk 파일의 매니패스트 정보를 추출할 수 있는 방법 ​ AndroidStudio 에서 제공하는 AAPT2 를 이용하는 방법으로 주로 패키지명, Activity 구조, 권한 정보 등을 추출할 때 사용한다. ​ 매번 아주 친절하게 정보를 제공하는 Android 개발자 사이트에 AAPT2 또한 친절히 설명되어 있다. 여기서 주목할 부분은 바로 덤프 (dump) 다. AAPT2 | Android 개발자 | Android Developers AAPT2(Android Asset Packaging Tool)는 Android 스튜디오 및 Android Gradle 플러그인이 앱의 리소스를 컴파일하고 패키징하는 데 사용하는 빌드 도구입니다. AAPT2는 리소스를 Android 플랫.. 공감수 0 댓글수 0 2020. 12. 6.
  • Android 개발자 옵션 - USB 디버깅 연결하기 (Feat. 컴퓨터 RSA 키 지문이 뜨지 않을 때) ※ LG VELVET 단말 기준으로 단말마다 화면/메뉴 이름이 다를 수 있음 타이틀개발자 옵션 ON 1. 연결할 단말의 '설정 앱 - 시스템 - 휴대폰 정보 - 소프트웨어 정보' 화면으로 이동한다. 2. '빌드 번호'를 7회 터치​한다. (친절하게 '개발자가 되려면 N단계 남았습니다.' 라는 토스트가 표시 된다.) 3. '개발자가 되셨습니다.' 토스트가 표시 되면 완료 4. 시스템 화면으로 이동하면 '개발자 옵션' 메뉴가 생성 된다. 타이틀USB 디버깅 ON 1. 스마트폰을 USB 연결선을 이용하여 PC와 연결한다. 2. USB 연결 옵션을 '사진 및 동영상 전송(PTP)'로 설정한다. ★★★ '파일 전송(MTP)'이면 안되는 경우 ! 3. 연결한 단말의 '설정 앱 - 시스템 - 개발자 옵션' 화면으로 .. 공감수 0 댓글수 0 2020. 12. 6.
  • Android adb 환경변수 설정 (Feat. 연결된 기기 확인) 테스트 자동화 프로그램을 구축하면서 많이 쓰는 adb 명령어 ! adb 명령어를 사용하려면 환경변수 설정을 해줘야 한다. 사전준비 1. Android Studio SDK 설치 공감수 0 댓글수 0 2020. 12. 6.
  • JAVA switch-case문 깔끔하게 쓰기 Tip switch-case문 추가설명동일한 결과값을 수행하는 case는 하나로 묶기 특정 결과값보다는 연산이 필요한 case는 default로 빼내고 매소드 불러오기 switch(입력값) { case 1: case 3: case 5: 수행문1; break; case 2: case 4: case 8: 수행문2; break; case default: // 9, 0 등 위 조건에 해당하지 않는 값 수행문3; break; } 공감수 0 댓글수 0 2020. 12. 6.
  • JAVA 특정 데이터 포함 여부 확인 및 해당 데이터 삭제하기 ArrayList - contains, indexOf, remove 특정 값 포함 여부 확인 ArrayList 클래스 내부에 특정 데이터가 포함되는지 True/False 형태로 출력 ArrayList array = new ArrayList(); // 정수형 ArrayList 선언 // array 내부에 데이터 삽입 // array.contains(1); // array 내부에 1 이라는 데이터가 있으면 True / 없으면 False 반환 특정 값 삭제 ArrayList 클래스 내부에 특정 값 삭제 ArrayList의 데이터를 삭제하는 remove 매소드는 Index를 인자로 받으므로, 특정 값의 Index 필요 즉, 특정 값의 Index를 반환하는 indexOf 매소드를 함께 사용한다. array.remove(array.indexOf(1)); // array 내부에 1 .. 공감수 0 댓글수 0 2020. 12. 6.
  • JAVA 두 배열 비교, HashMap 두 배열 데이터 비교하기 한 배열(arr1)의 데이터 중 다른 배열(arr2)에 포함되어 있지 않은 데이터 추출 * arr1에는 중복값이 있을 수 있으며, arr2에 중복값 갯수만큼 데이터가 존재하지 않으면 미포함으로 본다. for (int i=0; i 공감수 0 댓글수 0 2020. 12. 5.
  • JAVA 배열 추출/정렬하기 Arrays 클래스 - copyOfRange, sort 배열을 사용할 때는 Arrays 클래스 활용하자 ! 기본적이지만 index는 0부터 시작한다는 걸 항상 기억하자 ! 배열 추출/분리하기 array (원본 배열)의 start번째부터 end번째까지 추출하여 arr (결과) 배열을 생성한다. int[] arr = Arrays.copyOfRange(array, start, end); 배열 정렬하기 array 배열의 원소들을 오름차순으로 정렬한다. (숫자, 문자, 문자열 다 가능) Arrays.sort(array); // 오름차순 //객체타입 배열은 내림차순 적용 가능 (int형 → Integer 객체타입 변환 필요) Arrays.sort(array,Collections.reverseOrder()); 공감수 0 댓글수 0 2020. 12. 5.
  • Android keystore(jks) 암호 찾기 이 방법은 jks 파일을 가지고 있으나, keystore 암호를 잃어버렸을 때 사용할 수 있다. 1. keystore(jks) 파일 경로에 AndroidKeystoreBrute.jar 다운로드 아래 링크에 접속해서 최신 버전 tool Download Google Code Archive - Long-term storage for Google Code Project Hosting. code.google.com 2. keystore(jks) 파일 경로에 암호 후보들을 적은 텍스트 (wordlist.txt) 파일 저장 각 단어들을 자동으로 조합하면서 암호를 찾기 때문에, 암호에 들어갈 법한 단어들 단위로 한 줄씩 작성한다. 3. 명령 프롬프트 창 실행 후 keystore(jks) 파일 경로로 이동 (cd 뒤에 .. 공감수 0 댓글수 0 2020. 12. 5.
  • Android 다이얼로그 창 띄우기 따로 변수를 지정하거나 layout 추가할 필요없이 아래 코드만 사용 ! AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("다이얼로그 창 타이틀"); builder.setMessage("다이얼로그 메세지 내용"); builder.setPositiveButton("확인",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 확인 버튼 터치 시 동작 입력 } }); builder.show(); 공감수 0 댓글수 0 2020. 12. 5.
  • Android ScrollView 와 ListView ScrollView가 전체를 싸고 있는 레이아웃 내부에 ListView를 넣으면 제일 상위 데이터 외에는 표시되지 않는다. Android Developer ListView 설명에서도 언급되어 있는 문제로 다양한 방법이 있으나, 복잡한 거 싫어하는 내 기준 가장 깔끔했던 해결 방안 ​ ScrollView 안에 ListView를 위치할 때 ListView가 안보일 때 ..... ..... 스크롤뷰 안에 리스트뷰를 위치하면 화면에 보이지 않는다. ListView의 속성인 android:layout_height="wrap_content"를 하면 하나의 아이템만 보이고, android:layout_height="match_parent"를.. nkcnow.tistory.com 공감수 0 댓글수 0 2020. 12. 5.
  • Android CircleImageView 이름 그대로 ImageView를 Circle 모양으로 출력하고 싶을 때 사용 1. build.gradle(Module:App)에 라이브러리 추가 implementation 'de.hdodenhof:circleimageview:3.0.0' 2. circleimageview xml 코드 공감수 0 댓글수 0 2020. 12. 5.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.