Linux를 검색하면 SUSE Linux, Oracle Linux 등을 설치할 수도 있다. Linux는 수십 종류가 있으며, 약간씩 커스터마이징이 되어 있다. 그중에 CentOS와 Obuntu가 제일 대중화되어 있다. Java를 한다면 Linux 환경에서 일을 하게 될 확률이 매우 높다. 윈도우(맥)은 개발 환경이고, 리눅스는 운영/테스트를 하는 환경이다. 우리가 만든 프로그램과 시스템을 윈도우에서 테스트할 일은 거의 없으며, 대부분 리눅스 서버에서 가동을 하게 된다. WSL (Windows Subsystem for Linux) 개인 PC면 듀얼 부팅을 하는 방법도 있긴 하지만 불안정하다는 단점이 있다. 그리고 VMWare, VirtualBox 가상머신으로 컴퓨터 안에 또 다른 컴퓨터를 만드는 방식도 있..
💡static 키워드란? Java에서 static 키워드는 클래스에서 공유되는 변수나 메서드를 정의할 때 사용하며, 메모리에 한번 할당되고 나면 프로그램이 종료될 때 해제된다. static 변수를 남발하면 메모리 관리에 문제를 일으킬 수 있으므로 신중하게 사용해야 한다. 과도한 static 멤버의 사용은 프로그램의 성능을 저하시키고, 메모리 누수의 원인이 될 수 있다. static 변수는 메모리에 고정적으로 할당되어 프로그램이 종료될 때 해제되는 변수이며, static 메서드는 객체 생성 없이 호출이 가능한 메서드라고 할 수 있다. 그리고 상태를 가지고 있지 않은 단순히 메서드만 가지고 있는 구조라고 볼 수 있는데, 이러한 이유로 인해 객체지향에 벗어난 개념이 되어 일부 좋지 않은 시선도 있는 편이다. ..
프로그래밍을 할 때 디버깅은 굉장히 중요하다. 자바 프로그래밍을 하다 보면 오류를 해결해야 할 때가 있는데, 이때 디버깅이라는 기술을 사용하면 오류를 쉽게 찾고 해결할 수 있다. 디버그와 디버깅에 대한 개념을 이해하고 VS Code를 사용하여 자바 프로그램을 디버깅하는 방법에 대해 알아보도록 하자. 💡디버깅 관련 개념 디버그와 디버깅 디버깅(debugging)은 프로그램이 예상대로 작동하지 않거나 오류가 발생했을 때 이를 해결하는 과정을 의미한다. 여기서 디버그(debug)는 버그(bug)를 찾아 잡는 것을 의미하며, 버그란 프로그램이 개발자의 의도와 다르게 동작하거나 예상치 못한 오류로 인해 실행이 중단되는 상황을 가리킨다. 디버깅을 이용하여 이러한 오류를 잡아낼 수 있다. 디버거 디버깅 도구 중 하나..
Spring Boot와 React 프로젝트 간 Rest API를 연동하는 방법에 대해 알아보도록 하자. 이를 통해 백엔드와 프론트엔드 간의 통신을 설정하여 데이터를 주고받을 수 있다. 💡Spring Boot 프로젝트 생성 Spring Starter Project Spring Starter Project로 새로운 Spring Boot 프로젝트를 생성한다. 의존성 라이브러리로는 Spring Boot DevTolls, Lombok, WebSocket, MyBatis Framework, Oracle Driver, Thymeleaf, Spring Web을 추가하였다. 또는 Spring Initializr를 사용하여 새로운 Spring Boot 프로젝트를 생성하여 Import해도 된다. Application.jav..
AWS와 Mobaxterm을 사용하여 Spring Boot 프로젝트를 JAR 파일로 배포하는 과정을 처음부터 차근차근 기록해 보려고 한다. Spring Boot 프로젝트를 AWS에서 배포하는 방법이 처음에는 복잡해 보일 수 있지만, 익숙해지면 꽤나 간단한 작업이다. Gradle을 사용해 보기도 하고, WAR 파일로 내보내 보기도 하고, pom.xml 파일과 application.properties 파일을 계속 수정해 가면서 파일을 배포하기도 하면서 시행착오가 있었다. 만약 서버에 Spring Boot 프로젝트를 배포하는데 어려움을 겪고 있다면 이 글이 도움이 되길 바란다. 프로젝트 배포 단계 AWS EC2 인스턴스 설정 Spring Boot 프로젝트 빌드 MobaXterm을 사용한 웹 애플리케이션 배포 ..
💡대전광역시 버스 관련 데이터 시각화 및 분석 이번에 사용할 데이터는 대전광역시의 버스와 관련한 정보이다. 이 데이터를 활용하여 대전광역시의 버스 정류장 현황을 지도에 표시하고, 버스 이용이 많이 발생하는 자치구를 확인하려고 한다. 그리고 도로 안전을 위해 버스전용차로 단속카메라의 보완이 필요한 위치를 분석해보고자 한다. 활용한 데이터 대전광역시_버스정류장 현황 https://www.data.go.kr/data/15110461/fileData.do 대전광역시_시내버스 기반정보 https://www.data.go.kr/data/15081730/fileData.do 대전광역시_자치구별 인구이동 현황 https://www.data.go.kr/data/15062511/fileData.do 한국교통안전공단_대전광..
💡대전광역시 서구 일반음식점 현황 분석 공공 데이터 포털에서 위도, 경도 지도 데이터를 포함하는 csv 파일을 Streamlit에서 folium 라이브러리를 활용하여 시각화하고, 분석해 보도록 하자. Folium 라이브러리 Folium은 지리 공간 데이터를 시각화하는 데 사용되는 Python 라이브러리이다. leaflet.js 기반으로 이루어졌으며, 시각화에 활용할 수 있는 OpenStreetMap, Mapbox, Stamen과 같은 지도 이미지를 제공한다. 자세한 내용은 아래 공식 도큐먼트에서 확인할 수 있다. https://python-visualization.github.io/folium/latest/ Folium — Folium 0.1.dev1+gd6f04cb documentation Folium..
💡웹 애플리케이션 구축 Streamlit에서 Python 파일을 생성하고, Elements를 활용하여 웹 애플리케이션을 만들어 보도록 하자. Python 파일 생성하기 VS Code에서 py 확장자로 'streamlit_app.py' 파일을 생성한다. 파일이 생성되었으므로 기본 스크립트를 입력하고, run 명령어를 통해 프로젝트를 배포할 수 있다. 웹 페이지 실행하기 streamlit run streamlit_app.py 터미널에 streamlit run과 실행할 Python 파일명을 명령어로 입력하면 웹 페이지가 실행된다. 현재 소스 코드를 작성하지 않은 상태이기 때문에 빈 화면이 표시된다. Scripts\activate.bat 만약 실행되지 않는다면 가상 환경에 접속되지 않은 상태이므로 Scripts..