반응형

안그래보이지만 개발자 20

[C] 소켓 통신과 파일 디스크립터 및 지원 함수

파일 디스크립터 C 소켓 프로그래밍에서 파일 디스크립터(File Descriptor)는 네트워크 소켓을 나타내는데 사용되는 정수 값입니다. 파일 디스크립터는 커널이 열린 파일과 소켓을 추적하는 데 사용되며, 소켓 통신에서 데이터를 읽고 쓰는 데에도 활용됩니다. 기본적으로 파일 디스크립터는 정수로 표현되며, 0, 1, 2는 표준 입력(stdin), 표준 출력(stdout), 표준 에러(stderr)를 나타냅니다. 이러한 파일 디스크립터는 각각 파일 또는 소켓에 대한 작업을 수행하기 위해 사용됩니다. 파일 디스크립터는 주로 다음과 같은 상황에서 정의됩니다. 프로세스 실행 중에 시스템이 할당: 프로세스가 실행되면 운영 체제는 프로세스에 대해 여러 자원을 할당하게 됩니다. 이 중에 하나가 파일 디스크립터입니다...

CMOS 비밀번호 설정법: 시스템 보안 강화하기

CMOS는 "Complementary Metal-Oxide-Semiconductor"의 약어입니다. 이는 반도체 기술에서 사용되는 하나의 통합 회로 기술입니다. CMOS 기술은 저전력 소비와 높은 안정성을 가지며, 대부분의 현대적인 컴퓨터 시스템에서 CPU나 메모리 제어 등에 사용됩니다. 또한, 컴퓨터 시스템의 BIOS(기본 입력/출력 시스템)에도 CMOS 기술이 사용됩니다. CMOS 메모리는 BIOS 설정 정보를 저장하고 전원이 차단되어도 데이터를 유지하는 데 사용되며, 이렇게 BIOS 설정 정보를 저장하는 메모리 영역을 CMOS 메모리라고 합니다. CMOS 설정은 컴퓨터의 동작을 제어하며, CMOS 설정에 접근하는 것을 제한하기 위해 CMOS 비밀번호를 설정할 수 있습니다. 이제 CMOS 비밀번호를 ..

[Spring] 프로퍼티 빈 설정하고 프로퍼티 파일에서 값 가져오기

* 내가 해본 것 까먹지 않기 위한 기록 스샷 없음 주의 이래저래 바뀌는 값을 보통 properties파일에 관리할 것이다. 스프링에서 프로퍼티 파일을 읽은 후 @Value 어노테이션을 이용해 편하게 갖고와본다. 프로퍼티 파일의 위치는 빌드 패스 위치만 잘 설정되어 있다면 어디든 큰 상관은 아마 없을듯. * Spring 5.3.5 openjdk 1.8 프로퍼티 파일은 이렇다고 하자. application.properties test.value=jeanette 그러면 적당히 설정하는 곳에다가 프로퍼티를 읽어오는 빈을 만든다. 나는 스프링 WebMvcConfigurer를 구현한 클래스 안에다 만들어주었다. @EnableWebMvc public class SpringMvcConfig implements Web..

[Eclipse RCP] P2 Equinox 자동 업데이트 addRepository 오류 해결

아직 RCP 및 각종 플러그인과.. 기능들에 대해 잘 모르는 초짜지만 일단 안 되던 걸 해결했으니 간단하게 기록 오류 내용 RCP 프로그램 내에 자동 업데이트에 사용할 리파지토리를 추가했는데 작살나게 오류가 나는 경우 오류 메시지 : An internal MESSAGE error occurred during: Contacting "Software Sites". detail 확인 시 Java.lang.NullPointerException 확인됨 해결법 플러그인 추가 안해서 그렇다.plugin.xml -> Dependencies에아래 4 개의 플러그인을 추가하자. org.eclipse.equinox.p2.ui org.eclipse.equinox.p2.ui.sdk org.eclipse.equinox.p2.ui..

[Eclipse RCP] 프로젝트 export 했을 때 preference 저장 안 되는 경우

PlatformUI.getPreferenceStore().setValue()가 통하지 않는 경우인데, 희한하게도 이클립스 내에서 프로젝트 run 하면 잘만 되는데 export해서 standalone 프로젝트로 실행시킬 경우엔 저 기능이 안 먹었다. 찾아보니 오래된 이클립스에서만 발생하는 문제인 것 같다. (나도 최신 버전 쓰고 싶다 ,,,,,,,, 레거시 ㅂㄷ) 해결책 Application.java의 start 메소드 내에 아래 코드를 적어준다. Platform.getStateLocation(Platform.getBundle(Activator.PLUGIN_ID)); 이유는 알 수 없지만 export 해보면 이제 동작할 것이다. 아마도 실행될 때 자동으로 해당 경로를 못 가져온다는 것 같은데 해결됐으니 더..

정수 어레이리스트(ArrayList)를 정수 배열로 변환하기 + 정렬

Integer 어레이리스트를 int 배열로 변환하려고 하는 경우 list.toArray(new int[size]) 방식으로는 오류가 나서 여길 찾아왔을 것이다 JAVA 8 이상일 경우 stream API 사용 한줄로 깔끔하게 변환 가능하다. int[] arr = {}; ArrayList list = new ArrayList(); //1번방법 arr = list.stream().mapToInt(i->i).toArray(); //혹은 2번방법 arr = list.stream().mapToInt(Integer::intValue).toArray(); 감동의 도가니.. filter를 넣어줄 수도 있다. 예시는 null값을 제외하는 필터이다. //1번방법 arr = list.stream().filter(Object..

[Eclipse RCP] 플러그인 ID로 리소스 접근하기

프로그램의 현재 경로를 읽어와, 상대경로로 properties 디렉토리 안의 .properties 파일을 읽은 다음에 getProperty를 너무 쓰고 싶은데 일반 자바에서 하는 방법으로는 안나와서 삽질하다가 RCP에서는 방법이 다른 걸 찾아내고 포스팅 String bundleLocation = Activator.getDefault().getBundle().getLocation(); 프로그램이 실행될 때 각 플러그인의 Object start() 안에서는 위처럼 코드를 작성해도 내가 의도한 경로가 잘 나와서 바로 FileReader로 파일 가져오면 되는데, 나는 다른 화면에서 getBundle()을 호출하니 자꾸 ㅠㅠ 공용 플러그인이 호출되는 것이었다 그래서 찾아보니 플러그인 이름으로 아예 설정할 수 있음..

[이클립스] 이클립스 실행 안될 때, RCP 어플리케이션 실행 오류

RCP 어플리케이션, RCP 기반 프로그램을 사용 중에 종종 나는 오류 해결법 이클립스 기반이므로 이클립스도 동일한 해결법 적용 가능하다 오류 상황은 이클립스나 이클립스 rcp 프로그램이 켜지지 않으면서 아래 오류 메세지를 띄운다. 오류 메세지 !MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown : org.eclipse.ui.internal.progress.... org.eclipse 어쩌구 부분은 내용이 바뀌면서 반복되어 출력된다 해결법 이클립스 프로젝트 경로 아래부터 .metadata\.plugins\org.eclips..

[tomcat+spring] 이클립스 웹개발 초심자를 화나게 하는 MVC 패턴에서의 url 관련 환경설정 정리 (server.xml 수정)

구글링을 통해 이클립스에 톰캣, 스프링 세팅이 다 되었다면 jsp 파일을 만들고 로컬 환경(당신의 PC)에서 톰캣을 구동할 것이다. 근데 기껏 만든 jsp 화면은 안 나타나고 404 에러만 난다. index.jsp를 컨트롤러가 보게 하고 싶은데 어떻게 하는지 모르겠다. 브라우저에 뭐라고 쳐야 접속할 수 있지? 이런 사람만 이 포스팅을 볼것 고급자용은 아니므로 이 포스팅을 갑자기 하는 이유는 웹개발을 잘 모르는 윗분들 세팅을 해주면서도 팀원들과 환경 세팅을 다시 하면서도 대학교 다닐 때 MVC 패턴으로 처음 개발하면서도 너무 짜증났던 스프링 mvc url/uri 를 떠올리며 나 초보자일 때의 기억을 되살려 제일 짜증나는 부분만 정리해봄 ※ 여기서 스프링 설정은 xml이 아니라 자바 설정 JAVA Confi..

반응형