전체 글

git stashgit stash는 Git에서 현재 작업 중인 변경 사항을 임시로 저장하고, 작업 디렉토리를 깨끗한 상태로 만들어 주는 명령어 Case 1:브랜치를 따로 만들지 않고 열심히 작업을 했는데, 그 작업 내용을 임시로 저장하고, 이전 작업을 커밋하려고 하는 경우 (실제 경험) Solution:git stashmain branch(타겟 브랜치)로 이동커밋하기 전 branch를 merge 후 pushmain branch(타켓 브랜치)에서 새로운 branch(feature branch)를 생성새로운 branch에 chekoutgit stash pop이전에 작업하던 내용이 commit 내역에 추가되어있는 것을 볼 수 있음commit message를 작성하고 push   git stash 원리git s..
https://docs.gradle.org/current/userguide/java_library_plugin.html The Java Library PluginThe Java Library plugin expands the capabilities of the Java Plugin (java) by providing specific knowledge about Java libraries. In particular, a Java library exposes an API to consumers (i.e., other projects using the Java or the Java Library plugin). Alldocs.gradle.orghttps://docs.gradle.org/current/userg..
https://www.acmicpc.net/problem/2346 처음 보자마자, 이건 양방향 연결 리스트를 사용하면 되겠구나 라는 생각이 들었다. 코드import java.io.*;import java.util.StringTokenizer;class Balloon { public int index; public int value; public Balloon prev; public Balloon next; public Balloon(int index, int value) { this.index = index; this.value = value; }}public class Main { public static void main(String[] ..
적절하지 않은 난수 값 사용은 보안 취약점 예측 가능한 난수를 사용하는 것은 시스템에 보안약점을 유발한다. Random은 정말 랜덤인거 아닌가?... 아니였다. 원인 컴퓨터의 난수발생기는 난수 값을 결정하는 시드(Seed) 값이 고정될 경우, 매번 동일한 난수값이 발생한다. public class Main { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.println(getRandomValue(System.currentTimeMillis()))); Thread thread2 = new Thread(() -> System.out.println(getRandomValue(System.currentTi..
예외(Exception) 실무에 들어가서 놀란 것은 이 예외를 처리하는 부분이라고 볼 수 있다. 시큐어 코딩 가이드도 읽어가면서, 왜 e.printStackTrace()를 쓰면 안 되는지 예외 처리를 왜 해줘야 하는지 예외의 종류도 checked / unchecked 로 나뉘어져 있다는 것을 알게 되었다. 부끄럽지만 원래는 실무에 들어가기 전에 알고 있어야 하는 당연한 것이였다. e.printStackTrace()를 쓰면 안 되는 이유? e.printStackTrace()를 자세히 보면 예외 발생 스택 정보를 출력하면서 애플리케이션 내부 구조 및 메서드 호출 경로 등이 그대로 노출되게 된다. 이는 심각한 보안 취약점 이다. 또한 스택 추적 정보를 출력하는데 많은 시간과 자원을 사용합니다. Tmi. Sys..
논리 게이트 게이트(gate)는 간단한 불 함수를 구현한 물리적 장치다. 논리 게이트의 예시(위키) 모든 논리게이트는 입력 및 출력 데이터 형식이 같으므로(0 또는 1), 서로 연달아 이으면 더 복잡한 조합 게이트composite gate를 만들어 낼 수 있다. 예시) 모든 입력이 1이면 1을 반환하고, 그렇지 않으면 0을 반환하는 3-입력 불 함수 And(a , b, c)를 구현 불 대수 표기: a * b * c = (a * b) * c 접두어 표기법: And(a, b, c) = And(And(a, b), c) 오른쪽은 내부 아키텍처 : 구현 왼쪽은 게이트 : 인터페이스 프로그래밍 언어와 비슷하게, 사용자들은 구현을 알 필요가 없다. 인터페이스만 숙지하고 있으면 충분하다. 요약 논리 설계의 기술은 기존..
솜사탕코튼
개발일기