본문 바로가기

전체 글

Javascript 값 복사 (copy value) 고급 프로그래밍 언어에서는 일반적인 할당으로는 atomic 타입이 아닌 경우 명시하지 않는 이상 참조 복사를 수행한다. 간단하게 전역으로 선언된 값에 1을 더해서 출력하는 코드를 작성해보자. let orgVal = { "data": 0 }; function foo(){ let val = orgVal; val.data = val.data + 1; console.log(val); console.log(orgVal); } foo(); 위의 코드는 참조 복사 코드이다. foo 함수를 호출해서 orgVal 이 담고 있는 data 의 값에 1을 더해서 출력한다. 의도에 부합한다. 하지만 반복적으로 foo 함수를 호출한다면 이야기가 달라진다. orgVal 의 데이터가 참조되고 있기 때문에 호출횟수만큼 orgVal의 .. 더보기
Mysql 과 java 데이터 타입 비교 MySQL Type Java Type ---------- --------- CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.BigDecimal DECIMAL java.math.BigDecimal BIT boolean TINYINT byte SMALLINT short INTEGER int BIGINT long REAL float FLOAT double DOUBLE double BINARY byte[] VARBINARY byte[] LONGVARBINARY byte[] DATE java.sql.Date TIME java.sql.Time TIMESTAMP java.sql.Tiimestamp 더보기
C# 현재 디렉터리 경로 얻기 이따금 프로그램을 작성하다보면 로그를 남긴다던가 또는 설정 내용을 파일에 기록해야하는 경우가 있을 경우 절대 경로가 아닌 작업경로를 사용하는 경우가 있다. 게다가 윈도우즈 버전이 거듭할수록 보안 이슈가 강화되기 때문에 관리자 권한이 아닌 경우 루트 디렉터리의 접근이 제한되기 때문에 작업 디렉터리를 사용해야하는 경우가 빈번하게 발생한다. (물론 관리자 권한으로 프로그램을 다시 실행하면 되긴 하다.) 관련하여 코드를 작성하다보니 약간의 이슈들이 있어서 내용을 남긴다. 일반적인 방법 Directory.GetCurrentDirectory() 위의 방법은 일반적으로 사용하는 방법이다. 하지만 백그라운드로 동작하는 프로그램에는 큰 이슈가 발생한다. 응답 경로가 C:\Windows\System32 경로로 이동되기 때.. 더보기