반응형

개발 281

[개발관련] 공인IP로 어떻게 사설 네트워크 안의 특정 서버에 요청하는지 - 포트포워딩

공인IP의 특정 port 요청을 사설 네트워크 안의 특정 호스트(사설IP) 로 향하게 하는 것이 포트포워딩이다. 공인 IP를 사용하는 공유기 등에서 포트포워딩을 설정하면 외부에서 내부망(사설 네트워크 등) 의 특정 호스트(서버)에 접근이 가능하다. 라우터에서 포트 포워딩을 설정하는 방법 (이미지 포함) - wikiHow 이 위키하우 글을 읽고 라우터의 특정한 포트를 열어서 애플리케이션이 네트워크에 접근할 수 있도록 해보자. 특정한 포트를 열면 게임, 서버, BitTorrent 클라이언트, 다른 애플리케이션이 포트 ko.wikihow.com

개발/개발관련 2023.08.10

[개발관련] 정렬 프로그램

https://github.com/mbk1991/Algorithm_DataStructure/tree/master/Algorithm_DataStructure%2Fsrc%2Fmain%2Fjava%2FAlgorithm%2Fsort 정렬 알고리즘을 공부 중 알고리즘과 배열 생성 방법을 선택하여 정렬하는 프로그램을 만들어보았다. 여러가지 정렬 알고리즘을 공부하는 김에 객체 지향적으로 만들어보고자 하였다. 개선할 점이 아주 많은 코드이다. 정렬 알고리즘들이 잘 동작하지만 우선 속도가 끔찍하게 느리다. 많은 이유가 있겠지만 불필요한 비교 및 오토박싱 등으로 과도한 객체 생성을 하고 있는 것으로 보인다. 성능 개선을 위하여 기본 타입을 사용하는 등 여러모로 개선이 많이 필요하다. 자바 기본기와 이펙티브 자바 서적을 읽..

개발/개발관련 2023.08.04

[개발관련] No Test Roots Found

JUnit 테스트 코드를 생성하고자 하는 클래스에 Alt + Enter로 Create Test를 누르자 위와 같은 팝업이 나타났다. Test 루트를 인식하지 못해 발생한 문제였다.build.gradle에 소스디렉터리에 대한 설정을 넣은 것과 관련이 있어 이를 수정해 보았다. test의 srcDirs 가 'test'인 것을 'src/test/java'로 변경하였다. (사실 sourceSets 설정을 하지 않으면 해결된다. Gradle에서는 기본적으로 인식하는 프로젝트 레이아웃이 정해져 있기 때문이다.. src/main/java, src/test/java... 등) build.gradle sourceSets { main { java { srcDirs = ['src/main/java'] } } test { j..

개발/개발관련 2023.08.03

[개발관련] Package name 'main.java.Algorithm. ... ' does not correspond to the file path 'Algorithm. ...'

Gradle 프로젝트로 전환 후 인코딩 및 소스 디렉터리 변경에 의한 Package 선언 문제가 발생하였다. Package name 'main.java.Algorithm. ... ' does not correspond to the file path 'Algorithm....' 정렬 알고리즘 공부 차원에서 코딩 중 테스트 코드나 써볼까 하고 JUnit 라이브러리를 추가하고자 하였다. 빌드 도구로 의존을 추가하는 것이 간편하다고 생각하여 build.gradle 파일을 추가하여 Gradle 프로젝트로 변경하였더니 제목과 같은 문제가 발생하였다. Gradle 프로젝트 변경 후 인코딩 관련 다른 문제도 발생하였었는데 다음과 같은 조치로 해결하였다. ------------------------------------..

개발/개발관련 2023.08.03

[개발관련] API(Application Programming Interface)에 대한 이해

다음 단어들이 잘 와닿지 않았었다. - Application - API ( Application Programming Interface) 애플리케이션을 스마트폰에서는 앱, 어플 등으로 표현한다. 보통 '앱 깔아서 쓰면 된다'라고 말을 하는데 이는 사용자가 필요로 하는 프로그램을 스마트폰에 설치한다는 의미이다. 앱(Application)은 사용자가 필요에 의해 설치하여 사용하는 프로그램이며 응용프로그램이라고 칭한다. 운영체제 위에서 사용자에게 특정 기능을 제공하는 모든 프로그램이 App이라고 이해해 보았다. Excel, 메모장, 그림판, 계산기, Tomcat, nginx, 브라우저 등등 운영체제 위에서 동작하는 운영체제가 아닌 프로그램을 모두 응용프로그램이라고 보는 것이다. 사람들은 보통 응용프로그램을 사..

개발/개발관련 2023.07.22

[개발관련]배움의 중요성_ 김영한님의 강의를 듣고...

배움의 중요성_ 김영한 님의 강의를 듣고... 국비지원 컴퓨터 학원을 다니며 열심히 코딩을 하던 시절, 세미 프로젝트와 파이널 프로젝트를 마친 후 가장 귀찮은 것이 있었다. 그것은 바로 클래스다이어그램과 시퀀스다이어그램을 한 번에 몰아서 그리는 것이었다...! 다이어그램을 한 번에 뽑아내기 위하여 인텔리제이를 설치하여 부랴부랴 문서를 완성하여 강사님께 제출하였던 기억이 난다. 지금은 IT실무 환경을 경험하고 CS지식을 조금씩 쌓아가면서 자연스럽게 이것 저것 알게 된 것들이 많지만 학원 수강 시절의 나는 IT문외한에 가까웠다. 그 시절 아무것도 모르는 30여 명의 사람들을 모아놓고 프로젝트라는 결과물을 만들어낼 수 있도록 혼자서 지도해 주신 강사님의 역량이 정말 대단한 것 같다. 그때는 클래스 다이어그램,..

개발/개발관련 2023.07.18
반응형