전체 글 28

glFlush와 glFinish의 차이

glfinish()는 이전 명령어가 모두 완수 될때까지(픽셀이 모두 그려질때까지) return 하지 않음 glflush()는 즉시반환함. 물론 모든명령어가 실행된다는것은 보증하지만 실행속도는 모른다. GLvoid display2(GLvoid) { glClearColor(0.0f, 0.0f, 1.0f, 1.0f); // (0,0,255) glClear(GL_COLOR_BUFFER_BIT); // 컬러버퍼 지우기 glFlush(); // 화면에 출력하기(버퍼코드 실행) } 해당함수를 displayFunc 인자로 넣으면 검은색 사각형이 출력된다. 하지만 크기를 변경하면 파란색으로 바뀐다. 이유를 도저히 모르겠는데 display2 함수 마지막줄에 glFinish(); 를 추가하니 바로 파란색이 출력되었다. 위에..

마이크 디스코드가 안될 때

커세어 보이드 프로 사용중입니다. 어느날 갑자기 마이크가 안되더라고요... 디스코드에서 설정을 마구 건드려 보고, 초기화를 해도 안됩니다. 결론부터 말하자면 '윈도우제어판-개인정보-마이크' 옵션이 문제였습니다. 앱 사용권한을 해제했는데 그거때문에 디스코드가 안되더라고요. 참고바랍니다. 시도해본건 0. ICUE 마이크 피드백 기능을 이용한 하드웨어 테스트(이상없음) 1. 디스코드 설정 (입력 장치 수동설정 및 테스트. 신호가 전혀 안들어옴) 2. 사운드 제어판에서 장치 사용안함-> 사용함 (변화없음) 2-1. 이상한게 마이크 테스트를 하면 인식을 못하지만, 마이크 옵션에서 '이 장치로 듣기'를 사용하면 마이크 출력이 된다고 나온다)

잡담 2019.12.29

Swing MVC(Model-View-Controller)

팀프로젝트를 진행하면서 Swing으로 개발을 해보았는데 DefaultListModel 예제를 찾아보다가 MVC 개념에 대해 알게되어 글을 작성한다.MVC pattern 라고 하는데 개발자가 UI를 구성할 때 제시하는 모델 중 하나이다. Model that represents the data for the application.View that is the visual representation of that data.Controller that takes user input on the view and translates that to changes in the model.Model : 어플리케이션을 위한 데이터를 대표함. 데이터를 저장, 보관하며 View 혹은 Controller의 정보를 가지지 않으며..

File Carving 이란?

파일 복구 라고 한다면 보통 MFT를 통해서 연결이(할당이) 해제된 엔트리를 분석해서 다시 연결하는 작업을 떠올릴 것이다. 하지만 MFT가 손상되는 경우도 있고, META-DATA가 덮어씌어지거나 손상된다면 실제 파일을 복구하기 힘들어질 것이다. 이때 사용하는 기법이 File Carving인데 디스크를 처음부터 끝까지 차례대로 읽으면서 File Header, Footer를 확인해서 파일을 일일이 복구하는 방법이다. 겉보기에는 뭐든지 복구할 것같이 보이긴 하지만 TXT 파일처럼 파일 헤더, 푸터 구분이 없을 경우엔 복구가 불가능하다. 또 실제 메타데이터가 손상되는 경우에는 복구가 불가능하다. 역시 처음부터 복구할 일을 만들지 않는게 중요하긴 하다.

잡담 2017.11.17

LocalTime 사용하기 + ChronoUnit을 이용한 시간비교

import java.time.*;로 import 시켜주자.LocalTime 클래스로써 시간을 저장 가능.DataTimeFormatter.ofPattern("H:mm") 과 같이 String의 형태를 미리 지정가능.이후에 LocalTime.parse(String, format); 와같이 사용하여 LocalTime 객체에 저장 가능.* "HH:mm"형태를 사용해보았으나 파싱중 오류발생 시간 비교 => ChronoUnitimport java.time.Instant;import java.time.temporal.Temporal;import java.time.temporal.ChronoUnit;(물론 java.time.*;로 한번에 해도 된다.)특히 ChronoUnit.between(time1, time2) 가..

간단 정리

Image : 실행에 필요한 파일, 설정 값 등을 모아둔 파일. Container : 격리된 공간. 이미지를 이용해 생성한 가상화 공간. 프로세스를 기반으로 동작한다. 명령어 ~docker -rm : 프로세스 종료시 컨테이너 자동 삭제.-name : 컨테이너 이름 설정 (없으면 과학자나 개발자 이름, 수식어 등을 조합하여 자동생성)-it : 터미널 입력을 위한 옵션- p : host:container 식으로 포트 연결(forwarding)-v : host to container 디렉토리 연결(mount)-link : 컨테이너 연결 docker run ubuntu:16.04