리눅스의 시간대를 설정하기 위해서는, etc의 localtime을 건드려야 합니다. 이 파일에 대한 대략적인 정보를 얻어오기 위해서, ls 명령어랑 grep 명령어를 pipe로 연결해서 적당히 쓰면 됩니다. 패턴을 잘 찾아내는 것은 매우 자주 쓰이니, 익혀두시면 도움이 됩니다. 먼저 date 명령어를 입력해 보겠습니다. 그러면, PDT 2020이 나오는데요. 이는 LA 시간으로 불리는 시간대입니다. etc 디렉토리로 이동한 다음에, localtime에 대한 정보만 긁어오도록 하겠습니다. ls -ail의 결과값을 input으로 넣은 다음에, grep localtime 명령을 수행하면, localtime 키워드가 있는 행만 뽑아옵니다. 이것은 /usr/share/zoneinfo/America/Los_Ange..
전체 글 검색 결과
mybatis를 이용해서 간단하게 CRUD를 하는 API를 만드는 도중에, 아래와 같은 이슈가 발생하였습니다. 왜 그랬을까요? 제 DAO 클래스 중 일부분만 보도록 하겠습니다. 제가 작성한 DAO 클래스 중 일부만 따 보겠습니다. 먼저 UserDAO의 생성자에는 위와 같은 내용이 들어가 있습니다. 다른 건 중요하지 않고, 바로 SqlSessionFactoryBuilder로 들어가 보도록 하겠습니다. 여기서 InputStream 참조 변수 하나만 받는 build 메서드를 찾아보겠습니다. 바로 이 메서드군요. 여기서 3개의 인자를 가지는 build를 찾아보겠습니다. 이 친구군요. 78번째 줄의 build를 보겠습니다. 그러면, 새로 생성된 DefaultSqlSessionFactory 객체를 참조하는 값이 리..
상속과 다형성을 이해하기 위해서는, static binding과 dynamic binding에 대해서 이해하는 것이 핵심이라고 생각합니다. 오늘 이에 대해서 간단하게 알아보겠습니다. 예제 프로그램 1을 보겠습니다. Obj class가 있고, Obj를 상속받은 MyObj가 있습니다. 이 2개는 static 메소드인 foo를 가지고 있습니다. Main 클래스는 위와 같습니다. 이 때, 실행 결과는 어떻게 나올까요? Obj, Obj, MyObj가 나옵니다. o1, o2가 Obj를 참조하는 변수이기 때문입니다. 이러한 정보는 complie 타임에 올라갑니다. Obj의 필드 x 값이 100입니다. 그리고 MyObj의 필드 x 값이 0입니다. Main 클래스는 위와 같습니다. 실행 결과가 어떻게 나올까요? 100,..
스레드를 다룰 때 까다로운 것 중 하나는 lock이 대체 의도치 않게 어디에 걸렸지? 일 겁니다. 링크에서도 다루고 있으니, 한 번 정도는 읽어보셔도 도움이 많이 되실 듯 싶습니다. 먼저, 예제 프로그램 1을 보겠습니다. worker1과 worker2는 간단한 일을 합니다. 5초동안 sleep을 하고 끝냅니다. 그리고, 5번째 줄과 15번째 줄에, na가 가리키고 있는 객체에 lock을 겁니다. 즉, lock을 거는 대상은, Worker1의 na가 가리키는 Object, Worker2의 na가 가리키는 Object입니다. 다음에 Main 클래스는 그냥 Worker1과 Worker2를 돌리고, 끝날 때 까지 기다린 다음에, 프로그램이 끝날 때 까지 걸린 시간을 측정합니다. 이게 다입니다. 위 프로그램의 실..
이번 시간에는 c언어 fread 함수를 먼저 알아보도록 하겠습니다. 사용법이 다소 복잡해 보입니다. ptr은 파일에서 읽어온 것을 저장할 block을 가리키는 포인터입니다. 다음에, size는 block의 사이즈, count는 갯수를 의미합니다. 만약에, size개의 크기를 count개만큼 읽어오겠다고 한다면, 읽어온 총 byte 수는 size에 count를 곱한 값입니다. 파일 지시자가 가리키는 위치로부터 size에 count를 곱한 byte만큼 주루룩 읽어오는 함수가 fread인 셈입니다. 먼저 1.txt에 다음과 같은 내용을 저장하였습니다. fw 프로그램은, fwrite 함수를 이용해서 moo형 레코드를 하나 하나씩 1.txt라는 파일에 썼습니다. 1.txt에는 다음과 같은 내용이 저장이 되어 있는..
최근댓글