[Java]String은 왜 불변인가?

1. 불변 객체(Immutable Object) 자바 면접 단골 질문 중 하나인 String은 불변객체인가? 라는 질문이 있습니다. 저 역시 면접 보기전 많이 본 질문 중 하나이고 검색을 해봤지만, 대충 암기만 하고 넘겼던 기억이 나는군요.. 실제로 자바, 스프링을 쓸때도 String이 많이 나오기때문에 이번 기회에 공부해보려고 이 글을 작성했습니다! 불변객체 불변 객체(Immutable Object)는 객체의 상태가 한 번 설정되면 변경할 […]

[AWS] RDS PostgreSQL와 스프링 부트 3 게시판 연동

지난 포스팅에서 배포한 스프링 부트 3 게시판의 경우 DB를 H2 DB로 구축한 후 그것을 .jar 파일로 빌드해서 배포했다. 그러나 H2 데이터베이스는 웹 프로그램이나 서비스 개발 단계에서는 유용하지만 실제 운영 환경에서 사용하기에는 많이 부족한 DBMS다. 따라서 웹 프로그램, 서비스를 본격적으로 운영하기로 마음먹었다면 H2보다 성능이 좋은 DBMS를 고려해야한다. 오라클과 같은 상용 DBMS도 있지만 규모가 작은 웹 서비스는 […]

[AWS] 배포한 스프링 부트 3 게시판 HTTPS 전환

https://www.nuschool.co.kr/study/aws%ec%97%90-%ec%8a%a4%ed%94%84%eb%a7%81-%eb%b6%80%ed%8a%b8-3-%ea%b2%8c%ec%8b%9c%ed%8c%90-%eb%b0%b0%ed%8f%ac%ed%95%98%ea%b8%b0/ 지난 포스팅에서 AWS에 스프링 부트 3 게시판을 배포해보았다. 그런데 지금 이 상태에서는, EC2 인스턴스의 IP를 입력하고 거기에 :8080을 입력해야 접속할 수 있는 불완전한 형태다. 일반적인 웹 사이트는 HTTP/HTTPS로 접속한다. 보통 정상적인 웹 사이트는 HTTPS로 접속을 한다. HTTP/HTTPS에 대한 개념은 아래를 참고하자 https://www.cloudflare.com/ko-kr/learning/ssl/why-is-http-not-secure HTTPS(80 포트)로 웹 서비스 운영하기 80번 포트로 엔진엑스(Nginx)나 아파치(Apache)와 같은 웹 서버를 […]

[AWS] 스프링 부트 3 게시판 배포하기

클라우드 서비스인 AWS 스프링 부트로 코딩된 게시판을 배포해볼 것이다. DB는 H2 DB를 사용하였다. AWS 프리티어로 사용할 계정은 이미 존재한다고 가정한다. 스프링 부트 : 3.3.4 version DB : H2 VM : AWS EC2 OS : Ubuntu 22.04 AWS EC2 인스턴스 생성 AWS의 EC2 가상머신 인스턴스를 생성해주자. EC2는 프리티어에서 사용할 수 있는 OS버전과 가상머신 사양으로 진행할 것이다. […]

MSSQL 서버

개요 MSSQL은 Microsoft SQL Server의 약어로, 마이크로소프트에서 개발한 관계형 데이터베이스 관리 시스템(RDBMS)이다. 기업 환경에서 많이 사용되는 데이터베이스 시스템으로, 데이터의 저장, 검색, 관리 및 분석을 위한 기능을 제공한다. 다양한 애플리케이션과 웹 서비스에서 데이터를 처리하는 데 사용될 수 있다. MSSQL은 데이터를 테이블 형태로 구성하여 저장한다. 각 테이블은 열(column)과 행(row)으로 구성되며, 각 열은 특정한 데이터 유형을 가지고 있다. […]

Window Server AD, DNS 설치

1. 개요 1. Active Directory (AD) Active Directory는 마이크로소프트의 디렉터리 서비스로, 네트워크 리소스를 관리하고 인증하는 데 사용된다. AD서버를 구축하면 서버에서 사용자와 그룹을 관리하고 사용자가 네트워크에 로그인할 때 인증하는 것, 리소스에 대한 접근 권한을 관리한다. 2. DNS (Domain Name System) DNS는 도메인 이름을 IP 주소로 변환하는 서비스다. 윈도우에서는 DNS를 구축할 때 서버 관리자에서 패키지를 설치한 후 […]

Windows서버 IIS, FTP

1. 개요 IIS (Internet Information Services) IIS는 마이크로소프트 서버 패키지에 포함되어 있는 웹 서버를 운영하기 위한 관리 툴이다. FTP는 파일 전송을 위한 프로토콜로, 클라이언트와 서버 간에 파일을 전송하는 데 사용된다. IIS에서도 FTP 서버 기능을 제공하여 파일을 업로드하거나 다운로드하는 기능을 지원한다. 본 매뉴얼에서는 IIS를 설치하고IIS에 FTP서버를 설정해 외부 클라이언트와 연결하여 클라이언트 -> 서버로 파일을 전송하는 과정을 […]

Linux APM 소스설치 + WordPress 설치

목차 1. APM 개요 APM이란  Apache 웹 서버 + PHP + MySQL 데이터베이스의 조합으로 이루어진 웹 서버 시스템을 가리키는 약어다. 전부 오픈 소스라는 것이 특징이며, Linux에서 사용할 경우 LAMP라고 불리기도 한다. Apache : PHP : 대표적인 서버 사이드 스크립트 언어 MySQL : 오라클 사에서 배포하는 데이터베이스 오픈 소스 소프트웨어로 구성되므로 안정적이고 확장성이 뛰어나며 커뮤니티 지원이 풍부하다.이런 […]

메일서버 구축 매뉴얼

목차 1. 메일 서버 개요 메일 서버는 이메일을 송수신하고 저장하는 시스템이다. 사용자가 이메일을 보내면, 메일 서버는 그 이메일을 수신자의 메일 서버로 전달하고, 수신자는 자신의 메일 서버에서 이메일을 다운로드하거나 확인할 수 있다. 이번 매뉴얼에서는 POSTFIX 패키지를 설치해 Ubuntu 서버에 메일서버를 구축한다. 대부분의 상용 이메일 서비스는 발신자의 도메인에 대한 인증(예: SPF, DKIM, DMARC)을 요구한다. 도메인이 없으면 이러한 인증을 […]