All
[SVN] Hook Script로 SVN 제어하기
[SVN] Hook Script로 SVN 제어하기
2024.04.14Hook이란? 특정 이벤트가 발생하면 동작하는 프로그램을 의미한다. 훅은 동작 방식에 따라 크게 2가지로 나눌 수 있으며, 그 종류는 다음과 같다. Pre-Hook : 이벤트가 처리되기 전에 수행됨 예) 정책에 맞는 메시지인지, 관리 규칙에 맞는지 등을 검사하고, 규칙에 어긋난다면 거부 등.. Post-Hook : 이벤트가 완전히 처리된 후에 수행됨 예) 커밋된 내용을 업데이트하여 자동으로 빌드 수행 등.. SVN Hook Svn에서 Hook을 설정하는 방법으로는 Server나 Client가 있는데, 해당 저장소를 사용하는 모든 유저에 적용하고 싶다면 Server에 거는 것이 일관성이 있으므로 더 좋다. 하지만 관리 이슈로 해당 서버에 접근할 수 없다면 실행 시 Client에서 스크립트 등록을 약속하고 ..
[VisualSVN Server] 설치 및 사용법
[VisualSVN Server] 설치 및 사용법
2024.04.09목적 VisualSVN Server를 통한 SVN Server 구축 OS Windows 10 사용법 1. VisualSVN Server 다운로드 Download Link https://www.visualsvn.com/server/download/ 이 글에서 VisualSVN Server의 Version은 5.3.2를 사용하며, 64bit로 설치하였다. 각 Windows 환경에 맞는 파일을 다운로드하면 된다. 2. 설치 3. Repository 생성 a. VisualSVN Server Manager 실행 b. Repositories 우클릭 - Create New Repository 클릭 c. Repository type 선택 Regular FSFS repository 표준 Subversion Reposit..
[Reversing.kr] Easy_Crackme
[Reversing.kr] Easy_Crackme
2024.03.10문제 설명 파일 실행 시 사용자가 입력할 수 있는 창이 출력된다. 임의의 값을 입력 시, 부정확한 패스워드라는 문구가 출력된다. 출제자가 정해놓은 패스워드를 맞춰보자. 사용 툴 파일 정보 확인 ExeinfoPE 비밀 번호 분석 X64 dbg 분석 1. 파일정보 확인 확인되는 패킹은 없고, 언어는 C++로 제작되었으며, 32bit라는 정보를 알 수 있다. 2. 분석 내용 처음 attach를 시키면 상단바에 모듈이 ntdll.dll로 되어있는데, easy_crackme.exe로 변경한다. (보기-Modules) 찾는 방법에는 빠르게 문자열참조를 찾는 방법과 위에서부터 호출순서를 확인해 보는 방법이 있는데, 결과적으론 동일하므로 호출을 따라가 본다. 맨 위를 보면 DialogBoxParamA를 호출함을 알 수..
[Unity] Unity Hub 라이선스 활성화 오류
[Unity] Unity Hub 라이선스 활성화 오류
2023.03.11유니티 허브에서 프로젝트를 켜려는데 무한로딩이 발생하며 실행되지 않는 오류가 있었다. 이유를 찾다 라이선스를 확인해 보니 분명 정상적으로 들어가 있던 유니티 라이선스가 비활성화되어 있었다. 해결 방법 해결 방법으로는 총 2가지를 찾았으며, 다음과 같다. 서버 연결과 관련된 이슈로 네트워크 연결 확인 Unity_lic.ulf 파일 삭제 (경로: C:\ProgramData\Unity) 서버 연결과 관련된 이슈 네트워크 연결을 확인한다. 네트워크 연결이 정상적이라면 탭을 확인한다. 라이선스칸에 "라이선스를 새로고침 할 수 없습니다. 다시 시도하세요."라는 문구가 있었으며, 다시 시도를 해서 연결을 확인해 보면 된다. 하지만 이 방법으로 문제해결이 되지 않고 서버 연결 실패나 fail to write licen..
[OS] 컨텍스트 스위칭(Context Switching)
[OS] 컨텍스트 스위칭(Context Switching)
2021.12.31컨텍스트 스위칭(Context Switching)이란? 멀티 프로세스 환경에서 CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선순위의 프로세스가 실행되어야 할 때 기존의 프로세스의 상태 또는 레지스터 값(Context)을 PCB에 저장하고 CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지스터 값(Context)을 PCB에서 가져와 교체하는 작업 그림으로 나타내면 아래와 같다. 그림 1을 통해 컨텍스트 스위칭이 일어나는 과정을 확인해보자. 단계 절차 설명 1 인터럽트/시스템 호출 운영체제에서 프로세스 스케쥴러에 의해 인터럽트 발생 2 커널 모드 전환 프로세스 P0이 사용자 모드(executing)에서 커널 모드(idle)로 전환 (프로세스 P0이 C..
[C++ 백준] 1003 피보나치 함수
[C++ 백준] 1003 피보나치 함수
2021.12.18블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 다음 소스는 N번째 피보나치 수를 구하는 C++함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) 호출한다. fibonacci(2)는 fibonacci(1)과 fibonacci(0)을 호출한다. fibonacci(1)은 1을 출력하고 1을 리턴한다. fibonacc..
[C++ 백준] 15652 N과 M (4)
[C++ 백준] 15652 N과 M (4)
2021.12.12블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 M개를 고른 수열 (1
[C++ 백준] 1932 정수 삼각형
[C++ 백준] 1932 정수 삼각형
2021.11.22블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 삼각형의 맨 위층부터 시작해서 아래에 있는 수 중 하나를 선택하여 내려올때, 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하시오. (현재 층에서 선택 된 수의 왼/오른쪽 아래 대각선만 선택 할 수 있다.) 첫째 줄에 삼각형의 크기(1
[C++ 백준] 15650 N과 M (2)
[C++ 백준] 15650 N과 M (2)
2021.10.30블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 (1
[C++ 백준] 2108 통계학
[C++ 백준] 2108 통계학
2021.10.04블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 다음 4가지의 기본 통계 값을 구하는 프로그램을 작성하시오. 단, N(1 x; int sum = 0; int index = 0; int max = 0; vector list; for (int i = 0; i > num; sum += num; if (num max) max = arr[index]; list.push_back(num); } // 평균, 소수점 이하 첫째 자리 반올림 float avg = sum / (float)x; cout
[GitHub] 토큰 인증 로그인 + 자격 증명
[GitHub] 토큰 인증 로그인 + 자격 증명
2021.08.262021년 8월 13일 이후로 GitHub.com에서 Git 작업을 인증할 때 더 이상 계정 암호를 허용하지 않으며 token-based authentication이 필요하다고 한다. * two-factor authentication을 이미 사용 중인 사람이라면 해당 인증 절차 공지사항에 해당이 되지 않는다. 따라서 Personal Access Token을 추가해야 하며, 해당 글은 Personal Access Token 생성 및 등록 방법에 대해서 알아본다. 개인 액세스 토큰 생성 방법 GitHub 접속 Profile → Settings → Developer settings → Personal access tokens → Generate new token Access token 생성 1. Note: 토..
[C++ 백준] 1181 단어 정렬
[C++ 백준] 1181 단어 정렬
2021.08.26블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 1. 길이가 짧은 것부터 2. 길이가 같으면 사전 순으로 풀이 전략 algorithm의 sort와 vector를 이용해서 정렬한다. 정렬 기준은 사이즈가 같으면 두 값을 비교, 다르면 오름차순 정렬한다. 소스 코드 #include #include #include #include using namespace std; bool Compare( string a, string b ) { if (a.size() == b.size()) { int x = a.compare(b); return x < 0; } else return (a.size..