[명품 Java Programming] 7장 제네릭과 컬렉션
[명품 Java Programming] 7장 제네릭과 컬렉션
2022.06.17명품 자바 프로그래밍 7장 제네릭과 컬렉션 컬렉션 (Collection)은 안드로이드를 비롯한 자바 프로그램을 작성하는데 빼놓을수 없는 중요한 도구이다. 컬렉션은 대체로 다음과 같이 설명 할 수 있다. Element 객체들의 저장소 고정 크기의 배열을 다루는 어려움 해소 다양한 객체들의 삽입, 삭제, 검색 등의 관리 용이 배열의 경우 여러 개의 데이터를 다루는 데 편리한 자료 구조이지만, 삽입 삭제가 빈번하게 일어나며, 데이터의 크기를 예측 할 수 없는 응용프로그램에서 사용하기에는 불편하다. 배열 ) 고정 크기 이상의 객체를 관리할 수 없다. 배열의 중간에 객체가 삭제되면 응용프로그램에서 자리를 옮겨야 한다. 컬렉션 ) 가변 크기로서 객체의 개수를 염려할 필요 없다. 컬렉션 내의 한 객체가 삭제되면 컬렉..
[CentOS7] CentOS7에 APM 설치하기 & PHP 로그인
[CentOS7] CentOS7에 APM 설치하기 & PHP 로그인
2022.06.08rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY* yum -y install epel-release 최신 phpMyAdmin 버전을 설치하기 위해 EPEL repo를 추가한다. ( default repo에는 APM 구축에 필요한phpMyAdmin이 없어서 설치하는 것이다.) Maria DB 설치하기 yum -y install mariadb-server mariadb systemctl restart mariadb systemctl enable mariadb systemctl status mariadb Apache 설치하기 yum -y install httpd systemctl restart httpd systemctl enable httpd systemctl status http..
[GIT] 깃헙 다른 원격 저장소로 복제
[GIT] 깃헙 다른 원격 저장소로 복제
2022.06.04깃헙에서 다른 원격 저장소로 복제(커밋을 모두 이동)을 원할때 다음과 같이 하면 된다. git clone --mirror https://github.com/[유저]/[저장소].git [폴더] git remote set-url --push origin [이동할 원격저장소] git push --mirror
[NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #2 구입 완료 및 제작 후기
[NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #2 구입 완료 및 제작 후기
2022.03.27[DIY] 자작 NAS 구축하기 - 구입부터 설치까지 https://pental.tistory.com/244 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #1 부품 선정 https://pental.tistory.com/291 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #2 구입 완료 및 제작 후기 https://pental.tistory.com/292 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #3 8베이 케이스 변경 https://pental.tistory.com/298 2탄을 작성하기에 오랜 시간이 걸렸습니다. 사실 물건 다 받고 제작도 하고 서버도 올린지 오래지만,,, 갑자기 생각나서 글을 쓰게 되었습니다. 먼저 물품 사진들입니다. 구성품이야..
[NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #1 부품 선정
[NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #1 부품 선정
2022.02.28[DIY] 자작 NAS 구축하기 - 구입부터 설치까지 https://pental.tistory.com/244 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #1 부품 선정 https://pental.tistory.com/291 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #2 구입 완료 및 제작 후기 https://pental.tistory.com/292 [NAS] D-1581 보드 서버 및 NAS(나스) 제작기 - #3 8베이 케이스 변경 https://pental.tistory.com/298 저번 J5005-itx + 헤놀로지 서버는 팔아버리고, D-1581 보드를 구입하게 되었습니다. D-1581보드란..? 무려 16코어 32쓰레드인데 가격도 저렴...! 기존에 나..
[MAC] Pyinstaller을 통해 파이썬에서 맥 파일 배포 (pyqt5 + ui파일)
[MAC] Pyinstaller을 통해 파이썬에서 맥 파일 배포 (pyqt5 + ui파일)
2022.02.25패키징 도구 pyinstaller py2exe py2app py2exe는 Windows 전용이며, py2app은 mac 전용이다. 클로스 플랫폼은 아니지만 pyinstaller는 두 운영체제에서 모두 사용할 수 있다. pyinstaller는 맥에서 작성된 코드를 맥용으로만, 윈도우에서 작성된 코드를 윈도우용으로만 빌드할 수 있다. 여기에서는 pyinstaller로 ui 파일을 사용한 gui 앱을 빌드하는 과정에서 겪었던 시행착오에 대한 기록이다. pyinstaller 문법을 떼고 자신만의 앱을 작성하기 시작하면 드디어 완성된 앱을 패포하고 싶어진다. 지금까지 확인한 바에 의하면 대중적이며 안정적인 배포 유틸리티는 pyinstaller인 듯하다. 터미널용 앱이나 ui를 하드 코딩으로 만든 앱의 경우는 사용..
[MAC] Pyinstaller로 파일 제작시 경로 오류
[MAC] Pyinstaller로 파일 제작시 경로 오류
2022.02.25외주를 하면서 pyinstaller + python + pyqt5 를 통해 프로그램을 제작하게 되었는데, 클라이언트 측에서 Mac용도 제작해달라는 답변이 왔다. 하지만 나는 Mac용을 제작해 본적이 없는걸,,,, 일단 알겠다고 하고 구글링을 조졌다. 이게 왠걸 Pyinstaller가 맥용을 지원하네? 그냥 윈도우랑 동일하겠지 하고 파일 제작을 한것이 화근이었다... path = os.getcwd() filename = path + "/" + str(currentDT.strftime('%y%m%d%H%M%S')) + ".xlsx" print(filename) large_df.to_excel((filename), index=False, encoding='euc-kr', engine='openpyxl') 기존..
Deepfake Tutorial - 자신만의 딥페이크를 만들어 보자 (0부터 100까지)
Deepfake Tutorial - 자신만의 딥페이크를 만들어 보자 (0부터 100까지)
2021.12.16먼저 본 글을 통해서 악의적이나 불법적으로 이용할 경우, 어떠한 책임도 지지 않음을 알려드립니다. 본 글을 쓴 목적은, 예전부터 흥미를 가졌던 FaceSwap과 VoiceSwap 두개중 먼저 FaceSwap(얼굴 교체)에 대해 포스팅을 해보려고 합니다. 먼저 필자의 환경은 다음과 같습니다. OS Windows 11 x64 CPU AMD Ryzen 3700X 8-Core Processor RAM 32GB VGA NVIDIA GeForce GTX 1660 SUPER 먼저 FaceSwap 즉, Deepfake를 구현하기 위해서는 VGA와 CPU의 성능이 좋아야합니다. 딥페이크를 구현하기 이전, CUDA와 tensorflow를 설치해보도록 하겠습니다. 먼저 CUDA를 설치해줍니다. https://develope..
[프로그래머스/JAVA] 프로그래머스 문제 모음
[프로그래머스/JAVA] 프로그래머스 문제 모음
2021.11.02언제든지 비공개 될수 있음을 명시합니다. 만약 문제 저작권에 위배된다면 바로 사라질수 있음을 미리 알려드립니다. 문제 찾기는 해당 문제 Ctrl + F 를 통해서 검색,, 홀수의 개수 함수의 인자값으로 양의 정수 n이 주어진다. 이때, 1부터 n 이하의 수들 중 홀수의 개수를 리턴하는 함수를 구현하시오. class Solution { public int solution(int n) { int answer = 0; for(int i = 1; i num2를 만족하고, 항상 큰수에서 작은수를 뺍니다. class Solution { public int solution(int num1, int num2) { int answer = 0; answer = (num1 + num2) + (num1 - num2) + (n..
[Python] Pyinstaller Decompile (암호화되어 있는 바이너리 디컴파일)
[Python] Pyinstaller Decompile (암호화되어 있는 바이너리 디컴파일)
2021.11.02오늘은 Pyinstaller를 통해서 암호화된 바이너리 디컴파일을 해보도록하겠습니다. 먼저 아래 사진은 그냥 심심해서 만들어 놓은 트위터 자동 글쓰기 프로그램입니다. 하지만 Pyinstaller을 통해서 암호화 키를 탑재해서 컴파일을 했었지만, 암호가 기억이 안나 리버싱(?)을 통해서 디컴파일을 성공했습니다. 먼저 파일을 분해하기 위해서 pyinstallerextractor 을 사용하도록 하겠습니다. 다운로드 링크는 아래와 같습니다. https://sourceforge.net/projects/pyinstallerextractor/ PyInstaller Extractor Download PyInstaller Extractor for free. Extract contents of a Windows execu..
[2021 DFC] 2021 디지털포렌식 챌린지 - 301 - What is the secret information
[2021 DFC] 2021 디지털포렌식 챌린지 - 301 - What is the secret information
2021.10.291. Identify all unlock methods that the A is using (PIN / Pattern / Password) A는 2014년 3월에 안드로이드 기기를 구입하였기 때문에 당시 최신 릴리즈 버전인 KitKat 이하의 버전임을 유추해 볼 수 있다. KitKat 이하의 안드로이드 기기에서 사용되는 화면 잠금 유형과 특징 및 아티팩트를 알아보기 위해 안드로이드 SDK(Software Development Kit)을 사용해 AVD(Android Virtual Device)를 생성한다. KitKat AVD에서 지원하는 화면 잠금 해제 방법은 Slide, Pattern, PIN, Password 총 4가지로 구성되어 있다. 위 표는 KitKat 이하 버전에서 잠금 방식에 따른 아티팩트의 ..
[2021 DFC] 2021 디지털포렌식 챌린지 - 208 - iOS Fridump
[2021 DFC] 2021 디지털포렌식 챌린지 - 208 - iOS Fridump
2021.10.291. Identify the device model by analyzing the Settings. (25 points) Device의 모델명을 확인하기 위해서 주어진 setting 파일에서 strings 프로그램을 이용해 string을 모두 추출한다. 아이폰 메모리 포렌식에 관련된 아무런 정보를 찾을 수 없어 직접 메모리 덤프를 진행한다. 작성자의 환경은 iPhone6 사용하고 있으며 문제 상황과 최대한 비슷하도록 덤프를 진행한다. 먼저 pip 명령어를 통해서 frida를 설치한다. C:\Users\pental>pip install frida C:\Users\pental>pip install frida-toosl [ 표 1 | frida 설치를 위한 pip 설치 구문 ] frida 설치를 마친후 아이폰..
[2021 DFC] 2021 디지털포렌식 챌린지 - 204 - Slack Off
[2021 DFC] 2021 디지털포렌식 챌린지 - 204 - Slack Off
2021.10.291. What are the names of mobile games installed by the user and their initial execution time? (40 points) 먼저 주어진 이미지에 확장자가 없기 때문에 HxD 프로그램을 통해 시그니쳐를 확인한다. 주어진 시그니쳐는 ADSEGMENTEDFILE 임으로 Access Data에서 지원하는 File Format 으로 FTK Imager 를 통해 Dump를 수행했을 때 확장자를 AD1으로 진행할 경우 만들어지는 파일이다. 주어진 이미지에 확장자 .ad1 를 추가해 FTK Imager에 탑재후 분석을 시작한다. 폴더 디렉터리 구조를 확인해 보면 일반적으로 안드로이드에서 사용되는 android. ~ 폴더를 확인할 수 있으며 이를 통해 안..
[Arduino] OLED 모듈과 온습도 센서 사용
[Arduino] OLED 모듈과 온습도 센서 사용
2021.10.09[ 소스코드 ] #include #include #include #include #include "DHT.h" // DHT.h 라이브러리를 포함한다 #define DHTPIN 2 // DHT핀을 2번으로 정의한다(DATA핀) #define DHTTYPE DHT11 // DHT타입을 DHT11로 정의한다 DHT dht(DHTPIN, DHTTYPE); // DHT설정 - dht (디지털2, dht11) #define SCREEN_WIDTH 128 // OLED 가로 넓이, 픽셀 사이즈 #define SCREEN_HEIGHT 64 // OLED 세로 넓이, 픽셀 사이즈 #define OLED_RESET -1 // 리셋핀 #(또는 -1 아두이노와 리셋핀을 연결하는 경우) Adafruit_SSD1306 displ..
Zone Identifier - Export Tool
Zone Identifier - Export Tool
2021.05.28인터넷에서 다운로드 받은 파일이 악성코드일 가능성은 언제나 있다. 그래서 브라우저는 파일을 다운로드 받을 때 NTFS의 ADS 영역에 이 파일을 어디서 다운로드 받았는지에 관한 정보를 저장한다. 이 정보의 이름을 Zone.Identifier 라고 하며, 이 정보는 보안 프로그램에 의해 사용된다. 각 파일의 Zone.Identifier 값으로 다운로드 여부를 판단하며 ZoneId 값이 3이면 인터넷으로 부터 다운로드 된 파일이라고 볼수 있다. Zone.Identifier 은 ADS 의 일종으로 아래와 값은 값들을 가진다. Zone.Identifier ZoneId=1 Local Intra Net (로컬 인트라넷) ZoneId=2 Urlzone_Trusted (신뢰 할 수 있는 사이트) ZoneId=3 Int..
[2020 DFC] 2020 디지털포렌식 챌린지 - 203 - Secrect message
[2020 DFC] 2020 디지털포렌식 챌린지 - 203 - Secrect message
2021.03.02Find a hidden message in ‘DFC Review.pptx’ and then complete the following sentence. “Let’s meet with (name) at (time) on (date) at (location) of (address).” Teams must: - Describe step-by-step processes for providing your solution. - Specify any tools used for this problem. 먼저 주어진 PPT 파일의 정보는 다음과 같다. 설명 부분에 이상한 문자열이 있음을 확인하고, 문제 풀기를 시작한다. PPT의 1번 슬라이드의 폰트에 집중해보자. 먼저 작성되어있는 슬라이드의 폰트는 Roboto Medi..
DRM to PDF
DRM to PDF
2021.02.27이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[FTK ACE] FTK ACE 자격증 - #5 자격증 기출 문제 풀이 (ACE v7)
[FTK ACE] FTK ACE 자격증 - #5 자격증 기출 문제 풀이 (ACE v7)
2021.02.22만약 이 글이 문제가 된다면, 바로 비공개 처리를 할것이고, 갑자기 글이 사라질수 있음을 알려드립니다.#1 자격증 시험을 보기전 알아야 할 사항 > blog.system32.kr/245 #2 시험 정보 (ACE v7) > blog.system32.kr/246 #3 기출 문제 (ACE v6, 필기) > blog.system32.kr/247 #4 기출 문제 (ACE v6, 실기) > blog.system32.kr/248먼저 ACE 기출문제를 올리는 이유는 현 글을 작성하고 있는 2021-02-21 기준으로 AccessData사의 FTK ACE 는 v7버전으로 변경되었음을 확인하였습니다. 그래서 Ace v6 버전의 자격증 시험에 사용되었던 문제는 v7 버전에서 사용되지 않는다는것을 확인 하였고, 여러 사람들이..
[FTK ACE] FTK ACE v7 자격증 취득
[FTK ACE] FTK ACE v7 자격증 취득
2021.02.22그냥 심심해서 한번 따봤습니다.. 시험 준비 기간은 대략 3일, 이미지 분석은 대략 3시간 정도 걸렸습니다. 다른 추가적인 문의나 오탈자는 아래 댓글 또는 pental@kakao.com 으로 남겨주시면 감사하겠습니다. 다시한번 공지해드립니다.
[FTK ACE] FTK ACE 자격증 - #4 기출 문제 (ACE v6, 실기)
[FTK ACE] FTK ACE 자격증 - #4 기출 문제 (ACE v6, 실기)
2021.02.21만약 이 글이 문제가 된다면, 바로 비공개 처리를 할것이고, 갑자기 글이 사라질수 있음을 알려드립니다. #1 자격증 시험을 보기전 알아야 할 사항 > blog.system32.kr/245 #2 시험 정보 (ACE v7) > blog.system32.kr/246 #3 기출 문제 (ACE v6, 필기) > blog.system32.kr/247 #4 기출 문제 (ACE v6, 실기) > blog.system32.kr/248 먼저 ACE 기출문제를 올리는 이유는 현 글을 작성하고 있는 2021-02-21 기준으로 AccessData사의 FTK ACE 는 v7버전으로 변경되었음을 확인하였습니다. 그래서 Ace v6 버전의 자격증 시험에 사용되었던 문제는 v7 버전에서 사용되지 않는다는것을 확인 하였고, 여러 사람..