전체 글 199

스즈미야 하루히 시리즈 12권 출시!

11월 25일에 발매한다는 것 같다. 9월 1일부터 사전예약을 받고 있다는데 순위가 나날이 고공행진중이라는 모양. 덤으로 전작들의 중고도서 가격이 급등했다는 얘기도... 2015년 처음 접하고 그때도 후속작 안나올거같다 뭐다 그랬던게 엊그제같은데 역시 존버는 승리하는것 같다. 커뮤니티에서 다른 사람들과 같이 축하할 수 있는 지금이 믿기지 않고 행복하다. -HARUHIISM-

SOS단의 행적 2020.09.02

Eclipse IDE 자동완성 팁

인텔리제이나 다른 좋은 IDE를 쓰다가 이클립스를 쓸때마다 느끼는 것은 왜 항상 Ctrl + 스페이스 바를 눌러야 자동완성이 되는 것일까.. 하는 의문이었다. 처음에는 자동완성 딜레이때문이었나 싶었는데 그건 또 아니었다. 사실 구글링해서 자주 나오는 팁 중 하나는 Window - Preference - Java - Editor - Content Assist에서 Auto activation delay를 줄이라는 것이었다. 근데 이걸 해도 결국 컨트롤 스페이스바를 눌러야 이 자동완성이 나타났기 때문에 뭔가 문제일까..? 하고 찾아보다가 가까운데서 답을 찾을 수 있었다. stackoverflow.com/questions/6202223/auto-code-completion-on-eclipse Auto code ..

기타 2020.08.30

Abex's 1st Crackme

리버싱 입문 도서에서 거의 빼놓지 않고 다루는 Abex의 첫번째 Crackme 파일이다. 파일은 https://crackmes.one/에서 간단한 가입 후 다운받을 수 있다. 크랙미의 목적은 이 파일이 하드 드라이브를 CD롬으로 인식하도록 조작하는 것이다. 성공한다면 "OK, I really think OK, I really think that your HD is a CD-ROM! :p"이라는 문자열을 출력하며 실패한다면 "NAH... This is not a CD-ROM drive!"라는 문자열을 출력하게 된다. 사실 문제를 풀어보기 전에 가장 좋은 습관은 그냥 실행시켜 보는 것이다. 아무런 조작을 하지 않은 채 실행시키면 처음에는 위와 같은 메시지박스가 뜨는 것을 볼 수 있다. 확인을 누르면 위와 같..

챌린지/CrackMe 2020.08.29

2020년도 하계 단기현장실습 후기

7월 말부터 8월 말까지 서울 가산디지털단지의 모 기업으로 단기현장실습(IPP)을 다녀오게 되었다. 학교 규정상 졸업요건 중 하나기 때문에 우리 학교의 모든 학생들이 수행하는 실습이지만 SNS에서 부정적인 후기를 워낙 많이 들었기 때문에 실습을 수행하기 전에 걱정이 좀 됐지만 끝나고 보니 무난하게 마칠 수 있었던 것 같다. 오히려 4주는 너무 짧아서 금방 헤어진다는 느낌이 들기도 했다. 실습 기업은 QNX 및 비전 시스템 솔루션을 판매하거나 관련 사업을 수주하면서 2001년 설립때부터 지금까지 이어져온 튼튼한 중소기업이었다. 사업 내역을 보면 주로 교통 단속 카메라나 관련 특허를 취득하면서 많은 활동을 해온 것을 알 수 있었다. 사실 주변(같은 학교가 아닌) 사람들의 얘기를 들어보면 가서 커피나 타는 것..

참가 후기 2020.08.29

Study 02 - 기초 지식(Register, Call Stack, Prologue/Epilogue)

Register 프로그램 내부의 명령어를 실행하는 것은 CPU의 제어장치와 레지스터로 이들이 프로그램을 실행하는 데 필요한 데이터는 레지스터에 있어야 한다. 그렇기 때문에 메모리의 데이터를 레지스터로 복사하는 과정이 필요하며 여러 프로그램이 하나의 CPU를 사용하려면 각 프로그램마다 사용하는 데이터가 다르기 때문에 레지스터의 내용을 바꿀 필요가 있다. 이 과정을 컨텍스트 스위칭(Context Switching)이라 하며 운영체제 수업에서 배웠듯이 빈도가 높을수록 성능 하락의 원인이 된다. 인텔 CPU의 레지스터 구조는 다음과 같다. 64-bit register Lower 32 bits Lower 16 bits Lower 8 bits rax eax ax al rbx ebx bx bl rcx ecx cx c..

Study 01 - 기초 지식(PE)

PE, Portable Executable Windows 운영체제에서 실행파일(exe)은 PE, Portable Executable 파일이라고 한다. 이런 PE 파일에는 PE 헤더에 이 프로그램을 실행하는 데 필요한 기본 정보와 파일의 데이터를 메모리 어디에 배치시킬 지 알려주는 파일 구성 정보가 담겨있다. PE 바디에는 프로그램이 사용할 코드, 데이터 등이 포함되어 있다. 이런 PE 형식 실행파일(exe, dll 등)을 실행시키면 운영체제의 로더(Loader)에서 이 PE 헤더의 정보를 분석, PE 바디의 코드와 데이터를 메모리의 코드 영역, 데이터 영역, 스택 영역, 힙 영역에 특성에 맞게 배치한다. 당연하지만 PE 파일은 PE 포맷에 맞게 만들어야 하며 이는 윈도우 기반 프로그램들이 지켜야 할 일종..

scanf, sscanf, fscanf는 어떤 차이일까?

지난번에 포스팅한 C언어의 출력 함수들에 이어서 이번에는 입력 함수들에 대해 포스팅해 보겠다. 2018/11/12 - [컴퓨터 공학/C,C++] - printf, fprintf, sprintf는 어떤 차이일까? printf, fprintf, sprintf는 어떤 차이일까? C/C++ 에서는 여러가지 출력 방법이 있다. C언어의 printf부터 C++의 cin까지 다양한 함수, 객체와 메소드가 있지만 그 중 서식화된 출력에 유용하게 사용할 수 있었던 여러가지 함수를 소개해 보려 �� haruhiism.tistory.com 사실 이런 함수들은 포맷 스트링 등에서 큰 차이가 없고 입출력의 대상이 어딘가에 따라 차이가 있으므로 한 함수에 대해 잘 기억하고 있다면 다른 함수를 봐도 매개변수 등을 통해 그 용도를 ..

고정된 배경화면 넣기, 투명도 조절, 색 필터 넣기

요즘 취미로 배우고 있는 웹 프론트엔드 수업에서 다음과 같은 설문지 폼을 작성해볼 기회가 있었다. 여기서 배경 이미지를 어떻게 구현할 것인가에 대해서 고민했었는데 이런저런 방법을 시도한 결과 아래처럼 나름대로 원하는 결과를 만들어낼 수 있었기에 그 과정을 포스팅해본다. 먼저 배경 이미지를 보면 특정 색조(예시에서는 파란색)로 씌인 것을 알 수 있다. 이를 구현하려면 배경 이미지의 opacity 속성을 조절하고 그 위에 컬러 필터같은 느낌으로 rgba()를 이용하여 조정된 알파값의 색을 씌워야 할 것이라 생각하고 진행하였다. 처음으로 생각한 방법은 전체 HTML 요소를 감싸는 div를 생성하여 해당 div의 background-image 속성에 이미지를 삽입 후 opacity 속성을 0.7 정도로 설정하는..

웹/Front-End 2020.07.22

Number of Islands (BFS)

제목만 보면 거창해 보이지만 옛날 포스팅과 마찬가지로 게으름뱅이가 자신의 안타까운 코딩 능력을 체감하고 반성하는 의미에서 적는 글이다. 여기서 다루는 문제는 LeetCode의 Explore 탭에서 제공하는 "Queue and BFS" 챕터에서 풀어볼 수 있는 문제 "Number of Islands"다. https://leetcode.com/explore/learn/card/queue-stack/231/practical-application-queue/1374/ Account Login - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepa..

/etc/passwd, /etc/shadow에 관하여

리눅스에서 중요하게 다뤄지는 두 파일 passwd, shadow에 관하여 포스팅해보겠다. /etc/passwd passwd파일은 /etc 디렉토리에 존재하는 설정파일이다. 정확히는 시스템에 로그인하는 사용자 계정을 관리하는 텍스트 파일로 모든 사람들(user, group, others)에게 읽기 권한이 주어져 있다. 이는 다른 유틸리티에서도 참조하기 때문인데 예를 들어 'ls' 명령은 사용자 id(UID)와 이름을 매칭하기 위해 이 파일을 읽는다. 물론 수정은 소유자인 root만이 가능하다. 파일에 적혀있는 데이터는 다음과 같다. name:password:UID:GID:GECOS:directory:shell name: 계정명(kwonkyu) password: 패스워드('x'. shadow 파일로 옮겨짐)..

리눅스 2020.07.17