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 ProjectSpring Starter Project로 새로운 Spring Boot 프로젝트를 생성한다.의존성 라이브러리로는 Spring Boot DevTolls, Lombok, WebSocket, MyBatis Framework, Oracle Driver, Thymeleaf, Spring Web을 추가하였다.또는 Spring Initializr를 사용하여 새로운 Spring Boot 프로젝트를 생성하여 Import해도 된다. Application.javapac..
AWS와 Mobaxterm을 사용하여 Spring Boot 프로젝트를 JAR 파일로 배포하는 과정을 처음부터 차근차근 기록해 보려고 한다. Spring Boot 프로젝트를 AWS에서 배포하는 방법이 처음에는 복잡해 보일 수 있지만, 익숙해지면 꽤나 간단한 작업이다. Gradle을 사용해 보기도 하고, WAR 파일로 내보내 보기도 하고, pom.xml 파일과 application.properties 파일을 계속 수정해 가면서 파일을 배포하기도 하면서 시행착오가 있었다. 만약 서버에 Spring Boot 프로젝트를 배포하는데 어려움을 겪고 있다면 이 글이 도움이 되길 바란다. 프로젝트 배포 단계 AWS EC2 인스턴스 설정 Spring Boot 프로젝트 빌드 MobaXterm을 사용한 웹 애플리케이션 배포 ..
💡프로젝트 구조React 프로젝트를 구성할 때 효율적이고 유지보수가 용이한 폴더 구조를 만드는 것은 매우 중요하다.이를 위해서는 기능적으로 연관된 파일들을 그룹화하고, 각 파일이 어디에 속하는지 명확하게 파악할 수 있도록 구조를 설계해야 한다.프로젝트 구조를 적용할 때는 팀원들과의 커뮤니케이션을 통해 일관된 방식으로 파일을 구성하도록 한다. 1. src/ 디렉터리index.js 살펴보기프로젝트의 구조에서 가장 중요한 것은 src 폴더이다. src는 source의 약자로, 프로젝트의 모든 소스 코드가 포함된 최상위 디렉터리이다.src 폴더에는 입구 파일이라고 할 수 있는 index.js 파일이 있다. npm start 명령어로 create-react-app을 구동시키면 index.js를 찾아서 적혀 있는..
💡ReactReact는 사용자 인터페이스(UI) 개발에 초점을 맞춘 JavaScript 프론트엔드 라이브러리로, 복잡하고 동적인 웹 페이지를 개발하는 데에 용이하다.간단하게 말하면 React는 사용자 정의 태그를 만드는 기술이라고 할 수 있다.실시간 대시보드, 소셜 미디어 애플리케이션, 전자상거래 플랫폼 등 다양한 분야에서 널리 사용된다. React의 특징 및 장점React는 Facebook(현 Meta)에서 개발한 JavaScript UI 라이브러리이다.Facebook은 매우 다양한 컴포넌트와 복잡한 사용자 인터페이스를 가지고 있는데, 이러한 복잡성에 대응하기 위해 개발된 것이 React이다.가상 DOM(Virtual DOM): React는 가상 DOM을 사용하여 UI 업데이트를 처리한다. 이를 통해..
Spring MVC Framework는 웹 개발에서 널리 사용되는 아키텍처 중 하나로, MVC(Model-View-Controller) 패턴을 기반으로 한다. 💡MVC 패턴의 구조Model정의: 애플리케이션의 데이터를 책임지며, 비즈니스 로직을 처리한다.역할: 사용자에게 표시되는 데이터를 가공하고 저장하며, 데이터의 변경이 일어날 경우 적절한 처리 방법을 구현한다.구현: Java 객체로 표현되며, 특정 도메인의 데이터를 담는 역할을 한다. View정의: 시각적인 UI를 담당하며, 사용자에게 정보를 표현한다.역할: Model에서 받은 데이터를 화면에 표시하고, 사용자의 입력을 Controller에 전달한다.구현: 주로 HTML, JSP, Thymeleaf 등의 템플릿 엔진을 사용하여 구현한다. Contr..