본문 바로가기
반응형

DEV61

[자바스크립트]백틱을 이용한 템플릿 문자열 템플릿 문자열은 문자열 안에서 변수를 전개하기 위한 새로운 표기법이다. 문자열을 결합할 때마다 +를 입력해야 하기 때문에 읽기 힘들고 작성하는 것도 귀찮다는 문제가 있었다. ES6 이후부터는 백틱(역따옴표 또는 백쿼트라고도 한다)을 이용하여 편리하게 입력할 수 있게 되었다. 조상님LOTTO - Google Play 앱 무료로 로또 당첨 확률을 높일 수 있습니다. play.google.com 뽀모도로 타이머(Pomodoro Timer) - Google Play 앱 뽀모도로(Pomodoro)공부법은 단시간 집중력 향상을 위한 자기주도 학습법입니다. play.google.com 2023. 6. 6.
[자바스크립트]const, let을 이용한 변수 선언 기존의 자바스크립트에서는 var를 이용하여 변수를 선언했었다. 그러나 var로 변수를 선언하는 것은 몇 가지 문제점이 있다. 1. 변수를 덮어 쓸 수 있다. 2. 다시 선언(재선언)할 수 있다. 위 테스트를 보면 알 수 있듯이 한 번 정의한 변수에 다른 값을 대입할 수 있다. 물론 덮어써야 되는 경우도 있지만, 덮어 쓰고 싶지 않을 때도 있을 수 있으므로 무조건 덮어 쓰는 것은 좋지 않다. 또한 완전히 같은 변수명을 여러 위치에서 변수로 정의할 수 있다. 프로그램 실행 순서에 따라 어느 변수가 사용되는지 해석하기 어려우므로 재선언은 기본적으로 안 되는 편이 좋다. 그래서 ES2015(ES6)에서 새로운 변수 선언 방법으로 const와 let이 추가되었다. let을 이용한 변수 선언 1. let은 재선언을.. 2023. 6. 6.
CAFE24 인증서(SSL) + SPRINGBOOT + docker 배포하기 1. cafe24 로그인 > 인증서 관리 > 인증서 받기에서 개인키와 인증서를 다운로드 받는다.2. 다운로드 받은 ssl.crt와 ssl.key를 resources 아래 넣어준 뒤, 터미널에서 resources 폴더로 이동 후 아래 명령어를 실행한다. 명령어를 실행하면 패스워드를 입력하라고 나온다. 그리고 패스워드를 입력한 뒤 몇 초 뒤에 ssl.p12 파일이 생성된다.(생성되기까지 조금 걸린다.)openssl pkcs12 -export -in ssl.crt -inkey ssl.key -out ssl.p12 -name myapp3. application.properties 파일에 아래 내용을 입력해준다.server.port=443 server.ssl.key-store-type=PKCS12 server.s.. 2023. 5. 5.
SpringBoot에서 ES6 사용할 수 있게 세팅하기 1. 스프링 부트 프로젝트 생성 - IntelliJ 기준 1. IDE를 이용하여 직접 생성하기 1) 인텔리제이에서 [새 프로젝트] 버튼을 클릭한다. 2) Spring Initializr 를 선택한 후 위와 같이 입력 및 선택한다. (자바 11 기준) * 참고 : 일반적으로 그룹은 회사 사 devmango.tistory.com 2. Spring Boot localhost:8080 웹 페이지 띄우기 1) preferences에서 들어간다. 2. gradle을 검색해서 선택 > 빌드 및 실행, 테스트 실행을 IntelliJ IDEA로 변경 - 위에 노란줄 설명을 보면 알겠지만 자바 프로젝트에서는 IDE를 사용하여 빌드하고 실행하는 devmango.tistory.com 1. 터미널에서 아래 명령어를 입력한다. .. 2023. 5. 3.
[Spring] IoC/DI 란? IoC(Inversion Of Control, 제어의 역전)는 간단히 프로그램의 제어 흐름 구조가 뒤바뀌는 것이라고 할 수 있다. 즉, 모든 종류의 작업을 사용하는 쪽에서 제어하는 구조를 거꾸로 뒤집는 것이다. 오브젝트가 자신이 사용 할 오브젝트를 스스로 선택하지도 생성하지도 않으며, 자신도 어떻게 만들어지고 어디서 사용되는지를 알 수 없다. 모든 제어 권한을 자신이 아닌 다른 대상에게 위임하기 때문이다. 제어권을 상위 템플릿 메소드에 넘기고 자신은 필요할 때 호출되어 사용되도록 한다는 개념이다. IoC가 적용된 대표적인 기술은 프레임워크이다. 참고로, 프레임워크는 내가 작성한 코드를 제어하고 대신 실행한다. 만약 내가 작성한 코드가 직접 제어의 흐름을 담당한다면 그건 라이브러리이다. 스프링 프레임워크를.. 2023. 3. 7.
[객체지향설계] SOLID 원칙 SRP : 단일 책임 원칙(Single responsibility principle) 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이란 말은 모호하다. 판단의 기준은 변경이다. 즉, 변경이 있을 때 파급 효과가 적을수록 단일 책임 원칙을 잘 따른 것이다. 범위를 너무 작게하면 단위가 너무 쪼개져서 문제고, 너무 크게 하면 책임이 커져서 문제다. OCP : 개방-폐쇄 원칙(Open/closed principle) 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 확장을 하려면 당연히 코드 변경이 필요한데, 이해하기 힘들수 있다. 자주 변하는 기능을 추상화함으로써 기존 코드를 수정하지 않고도 기능을 확장할 수 있어야 한다. public class MemberService { //pr.. 2023. 3. 3.
[자바] java.util.function 패키지 일반적으로 자주 쓰이는 형식의 메서드를 함수형 인터페이스로 미리 정의해 놓은게 java.util.function 패키지이다. 인터페이스에 정의된 메서드 이름도 통일되고, 재사용성이나 유지보수 측면에서 매번 새로운 함수형 인터페이스를 정의하지 말고, 가능하면 이 패키지의 인터페이스를 활용하는 것이 좋다. 기본 함수형 인터페이스 java.lang.Runnable void run() 매개변수도 없고, 반환값도 없음. Supplier T get() -> T 매개변수는 없고, 반환값만 있음. Spplier : 공급자 - 받는거 없이 주기만 한다. Consumer T -> void accept(T t) Supplier와 반대로 매개변수만 있고, 반환값이 없다. Consumer : 소비자 - 받기만 하고 주는게 없다.. 2023. 3. 3.
Spring - AOP 개념 AOP - Aspect Oriented Programming Aspect : [명사]측면, [명사][격식]양상 Oriented : [형용사] ~을 지향하는 AOP의 사전적 의미로 찾아보면 측면/양상 지향적인 프로그래밍이라는 의미이다. 양상(樣相) : 사물이나 현상의 모양이나 상태. 측면(側面) : 사물이나 현상의 한 부분. 또는 한쪽 면. AOP는 공통 관심 사항(cross-cutting concern) 와 핵심 관심 사항(core concern) 분리하자는 개념으로 보면 된다. 예를 들면, 각 메서드가 작업하는 시간을 체크하는 로직을 메서드마다 넣어야 된다고 가정하자. class A { method a() { 시간 체크 로직(시작) 추가 ... a 로직 ... 시간 체크 로직(종료) 추가 } metho.. 2023. 3. 2.
[자바] 제네릭 Parameter Type - Naming Conventions 자바 제네릭을 공부할 때 T, V, U, N, K, V, E 등의 알파벳을 볼 수 있는데 의미는 아래와 같다. 파라미터 네이밍 규칙은 아래와 같다. E Element K Key N Number T Type V Value S, U, V etc. 2nd, 3rd, 4th types 꼭 위 알파벳을 써야되는건 아니지만 이런건 이렇게 표현하겠다라는 약속과 같다고 보면 될 것 같다. 2023. 2. 24.
반응형