본문 바로가기

전체 글

(74)
final - 마지막의, 변경될수 없는 * 참고 : 자바의정석 유튜브 final 클래스 : 변경될 수 없는 클래스, 확장 될 수 없는 클래스가 된다. final로 지정된 class는 다른 클래스의 조상이 될수 없다. 메서드 : 변경될 수 없는 메서드, final로 지정된 메서드는 오버라이딩을 통해 재정의 될 수 없다. 멤버변수, 지역변수 : 변수 앞에 final이 붙으면, 값을 변경할 수 없는 상수가 된다. final class Fin{ final int MAX = 10; final void getMax(){ final int LV = MAX; } }
[JAVA] equals() 와 == 일단 ==는 주소를 비교한다. Object Class의 equals()도 주소를 비교한다. 예시1) String a1 = "b"; String a2 = "b"; String a3 = new String("b"); String a4 = new String("b"); a1 == a2 는 true이다.(객체의 주소 값이 같기 때문) a1.equals(a2)는 true이다. a3 == a4 는 false이다. (객체의 주소 값이 다르기 때문) a3.equals(a4)는 true이다. ????????????? a3.equals(a4)가 true인 이유는 String 클래스는 Object 클래스의 equals를 오버라이딩 하고있다. 예시2) Car라는 클래스를 만들었고 멤버변수로 String 참조타입의 color라..
TCP/IP란? TCP/IP는 프로토콜의 집합이다. 컴퓨터와 네트워크 기기가 상호간에 통신하기 위해서는 서로 같은 방법으로 통신하지 않으면 안됌. 서로 다른 하드웨어와 운영체제 등을 가지고 서로 통신하기 위해서는 모든 요소에 규칙이 필요함. 이러한 규칙을 프로토콜 이라고 부름. ex) 어떻게 상대를 찾고, 어떻게 상대에게 이야기를 시작하고, 어떠한 언어로 이야기하고, 어떻게 이야기를 종료할지와 같은 규칙이 필요하다. 케이블 규격, IP 주소 지정 방법, 떨어진 상대를 찾기 위한 방법, 떨어진 상대에게 도달하는 순서, 웹을 표시하는 순서 등이 프로토콜 중 하나임. 인터넷과 관련된 프로토콜을 모은 것을 TCP/IP라고 부름. TCP/IP에서의 계층 애플리케이션 계층, 트랜스포트 계층, 데이터링크 계층, 링크 계층 4계층으로..
마이크로서비스 아키텍처(MSA) - 개념, 장단점 마이크로서비스 아키텍처 관리성, 테스트성, 배포성이 높은 애플리케이션을 구축하는 아키텍처 스타일이다. 마이크로서비스 아키텍처의 장점 크고 복잡한 애플리케이션을 지속적으로 전달/배포 할 수 있습니다. 서비스 규모가 작아 관리하기 쉽습니다. 서비스를 독립적으로 배포/확장할 수 있습니다. 마이크로서비스 아키텍처 덕분에 팀이 자율적으로 움직입니다. 결함 격리가 잘됩니다. 새로운 기술을 실험하고 도입하기 쉽습니다. 마이크로서비스 아키텍처의 단점 딱 맞는 서비스를 찾기가 쉽지 않습니다. 분산 시스템은 너무 복잡해서 개발, 테스트, 배포가 어렵습니다. 여러 서비스에 걸친 기능을 배포할 때에는 잘 조정해야 합니다. 마이크로서비스 아키텍처 도입 시점을 결정하기가 어렵습니다. *참고 : 마이크로서비스패턴 - 크리스 리처드..
[10분 테코톡] DTO 와 VO 결론 : DTO는 데이터 전달용, VO는 값 표현용 DTO Data Transfer Object 데이터를 전달하기 위해 사용하는 객체 데이터를 담아서 전달하는 바구니 더 정확하게는 계층간 데이터를 전달하기 위한 객체이다. Controller와 Service가 둘 사이의 데이터를 주고 받기 위해서 DTO에 데이터를 담아서 전달한다. DTO의 특징 오직 getter/setter 메서드 만을 갖는다. 다른 로직을 갖지 않는다. DTO Class 와 Entity Class를 분리하자 EntityClass는 절대로 요청이나 응답값을 전달하는 Class로 사용하면 안된다. EntityClass는 데이터 베이스와 Mapping되어 있는 핵심 Class이기 때문이다. EntityClass를 기준으로 테이블이 생성되고 ..
[10분 테코톡] Spring AOP 서비스에서 필요한 내용은 비즈니스 로직이라고 불리는 핵심기능만 수행하면 된다. 그이외에 시간을 재거나 권한을 체크한다거나 transaction을 거는 것은 모두 인프라 로직이라 불린다. 인프라 로직 인프라 로직 : 성능검사, 로깅, 성능검사, 권한체크 인프라 로직은 애플리케이션 전 영역에서 나타날 수 있다. 그러다보니 중복코드를 만들어낼 가능성 때문에 유지 보수가 힘들어진다. 비지니스 로직과 함께 있으면 비지니스 로직을 이해하기 어려워진다. 횡단으로 나타나기에 횡단 관심사라고도 부른다. AOP Aspect-Oriented Programming 관점지향 프로그래밍 횡단 관심에 따라 프로그래밍한다. AOP는 OOP와 같은 패러다임이다. AOP는 OOP를 프로그램구조에 대한 다른 생각의 방식을 제공함으로써 보..
[10분 테코톡] MVC 패턴 1. MVC가 생겨난 이유? 한 파일에 여러가지를 코드하게 될 경우 코드를 파악하기 어려워진다. 하나의 파일을 여러명이 같이 수정해야 하기때문에 효율이 떨어진다. 하나를 수정할 경우 연결되어 있는 대부분의 코드를 모두 바꿔주어야했다. -> 유지보수가 편한 규칙성과 패턴이 구체화 되기 시작되며 MVC 패턴이 유행이 되었다. 2. MVC란? Model : 데이터와 관련된 부분 View : 사용자한테 보여지는 부분 Controller : Model과 View를 이어주는 부분 3. MVC를 지키며 코딩하는 법 1. Model은 Controller와 View에 의존하지 않아야 한다. View와 Controller가 바뀐다고 해서 Model이 바뀌어서는 안된다. Model에 Controller와 View와 관련된 ..
[10분 테코톡] WebServer 와 Was 1. Web Server란? - 웹브라우저(클라이언트)로부터 HTTP 요청을 받아 HTML 문서와 같은 정적 컨텐츠를 제공하는 프로그램 2. Web Server의 기능 - 클라이언트가 정적 컨텐츠 요청시, 정적 컨텐츠를 제공 - 클라이언트가 동적 컨텐츠 요청시, Web Application Server(WAS)로 전달, WAS가 처리한 결과를 클라이언트에 전달 3. Web Application Server(WAS)란? - DB조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 프로그램 4. WAS의 기능 - 클라이언트로 부터 HTTP요청을 받을 수 있다. (대부분의 WAS는 Web Server를 내장하고 있다.) - 요청에 맞는 정적 컨텐츠(html,jpeg,css...)를 제공 ..
[AWS RDS] 외부에서 AWS RDS 연결하기(STS, Eclipse,MariaDB) * 참 고 * 가입후 1년간 무료로 사용할 수 있는 프리티어를 활용한다.* * 상 황 * 1. 조원 4명이 서로 다른 공간에서 하나의 DB를 공유해서 사용하고자 한다. 2. 테스트용 개발이기 때문에 무료로 사용하고자 한다. 1. AWS 접속, 데이터베이스생성 계정이 없다면 계정을 만들어준다. 지역을 서울로 설정해준다. 검색창에 RDS를 조회해서 클릭한다. 데이터베이스 생성을 클릭한다. MariaDB를 선택한다. 일정 한도내에서 무료로 사용할 예정이기에 프리 티어를 선택한다. 어떤 용도의 DB인스턴스인지 알아볼 수 있도록 식별자를 설정한다. 마스터 사용자이름, 마스터 암호를 설정한다. 임계값이 초과해도 스토리지가 자동으로 늘어나지 않도록 체크해제한다. 나머지 설정은 기본설정 그대로 두었다. 퍼블릭 액세스 ..
2021-05-25(화) kosta - 스프링 부트 수업 2일차 이번주 한주간 스프링부트를 배우면 수업은 끝이난다. kosta에서 수업이 끝나면 무엇을 해야할지 아직도 고민중이다. 앞으로의 내 선택이 정답이었으면 좋겠다. 먼저 시작전에 cssfile, htmlfile, jspfile을 모두 utf-8로 설정해주도록 하겠다.아래 사진처럼 preferencs가서 수정해주면된다. 이번에는 springboot에서 html파일을 사용해보도록하겠다. src/main/resources밑에 templates에서 newfile을 누르고 html을 누른다. 그러면 아래처럼 File이름과 폴더를 설정할 수 있게 된다. default로 webapp폴더가 선택되어있는데 resources 밑에 templates를 선택해주자. 그리고 com.kosta.sbproject.controller 패키..
2021-05-24(월) kosta - 스프링 부트 수업 1일차 오늘부터 스프링 부트에 대해 알아보도록하겠다. 스프링 부트를 원래 사용하던 개발 툴인 Eclipse에서도 사용가능하지만 현재 지금까지 여러 프로젝트와 파일이 설치된 Eclipse는 무겁기 때문에 새롭게 STS를 실행하여 스프링부트를 실행하고자 한다. 만약 Eclipse에서 스프링 부트를 사용하고자 한다면 아래사진처럼 Eclipse Marketplace로가서 설치를 해서 사용하면 된다. 우리는 먼저 STS를 이용해서 설치해보고 안되면 Eclipse에서 스프링부트를 사용하도록 하겠다. *스프링부트 사용하는 방법* 1.eclipse에서 plugin설치하기 2.별도의 spring tool 로 짜기(sts) 현재 실습하는 환경은 아래와 같다. SPRING-TOOL-SUITE는 JDK, Tomcat이 내장되어있다...
[백준2231 JAVA] 분해합 import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main{ static int result; public static void main(String[] args){ Scanner sc = new Scanner(System.in); int number = sc.nextInt(); List constlist = new ArrayList(); for(int i = 0 ; i