📌 단축키 설정 alias ll='ls -al' 📌 * 파일 앞에.(점)이 있는건 숨긴 파일임.. .bashrc : bash가 실행될 때 설정 파일 📌 환경변수 등록 export config='/home/playdata/config' 📌 출력 echo $config >> /home/playdata/config 📌 .bashrc에서 변경했던 설정을 바로 적용 source .bashrc 📌 파일 실행 > 결과값 파일 2> err 저장파일 node app.js >app.out 2>app.err app.js의 결과값 저장 : app.out app.js의 에러 저장 : app.err 📌 권한 파일 종류 / 디렉토리소유자(사용자) / 디렉토리 그룹 / 다른 사용자 -/rw-/r--/r-- chmod 666 test..
분류 전체보기
문제 풀이 SELECT NAME, COUNT(NAME) AS 'COUNT' FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) >1 ORDER BY NAME 세부 풀이 SELECT NAME, COUNT(NAME) AS 'COUNT' 이름과 이름이 나타나는 횟수를 보겠다. COUNT(NAME)의 이름은 COUNT다. FROM ANIMAL_INS ' ANIMAL_INS' 테이블에서 GROUP BY NAME 이름별로 그룹화 HAVING COUNT(NAME) >1 GROUP을 사용했때는 조건절이 WHERE이 아닌 HAVING.. 문제에서 이름이 없는 동물을 제외하라고 했기 때문에 조건절 개수가 1 이상으로 설정.. ORDER BY NAME 이름별로 결과값 정렬 보완점 mysq..
IoC, DI, 컨테이너 제어의 역전 IoC(Inversion of Control) 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성, 연결, 실행했다. 즉, 구현 객체(예를들어, Service에서 생성, 연결, 실행 다 함..)가 프로그램의 제어 흐름을 스스로 조종했다. 하지만! AppConfig를 생성한 이후에는 구현 객체는 자신의 로직을 실행하는 역할만 담당한다. 즉, 프로그램의 제어의 흐름은 AppConfig가 가져간다. 프로그램에 대한 제어 흐름에 대한 권한은 모두 AppConfig가 가지고 있다. 심지어 OrderServiceImpl 도 AppConfig가 생성한다. 그리고 AppConfig는 OrderServiceImpl 이 아닌 OrderService 인터페이스의 다른 구현 객체..
좋은 객체 지향 설계의 5가지 원칙(SOLID 원칙) 1.SRP : 단일 책임 원칙(Single Responsibility Principle) 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다 → 기준은 변경이다. 변경이 있을 때 파급효과가 적으면 단일 책임 원칙을 잘 따른 것이다. 2. OCP : 개방-폐쇄 원칙(Open/Closed Principle) 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 다형성 활용 → 인터페이스를 구현한 새로운 클래스를 하나 만ㄷ르어서 새로운 기능을 구현 역할과 구현의 분리하면 된다. 3. LSP : 리스코프 치환 원칙(Liskov Substitytion Principle) 프로그램의 객체는 프로그램의 확장성을 깨뜨리지 않으면서..
내용프로젝트명 : 직무별 채용 사이트 추천 서비스기간 : 23.08.04-23.08.25 취업에 관심이 많은 취준생으로서, IT, 기획, 엔지니어 등 분야별 채용 사이트를 추천해주는 서비스가 있으면 좋을 것 같아 채용 사이트 추천 서비스로 주제로 정했다.구직 및 이직자를 위한 직무별 구직 사이트 추천과 멘토링 서비스 등 다양한 구직 지원 서비스 사이트이다.부트텐트 잇다 웹페이지 참고 사이트와 취업후기 연결필요(사이트별 취업후기) Stackspring bootjpajwtmysql 테이블 설계users : 회원정보review : 취업후기interest : 유저관심회사리스트company : 채용 사이트job : 직종jobRecommend : 직종추천(mbti-직종 중간테이블)mentors : 멘토mentor..
요약 Spring MVC의 @RestController은 @Controller와 @ResponseBody의 조합 (@Controller + @ResponseBody = @RestController) @Controller의 역할은 Model 객체를 만들어 데이터를 담고 View를 찾는 것. @RestController는 단순히 객체만을 반환하고 객체 데이터는 JSON 또는 XML 형식으로 HTTP 응답에 담아서 전송. 차이 1. @Controller는 클래스를 Spring MVC 컨트롤러로 표시하는데 사용 @RestController는 RESTful 웹 서비스에서 사용되는 특수 컨트롤러이며 @Controller + @ResponseBody와 동일 // 아래 두 코드는 동일한 동작 // @Controller..
MSA란? MSA는 소프트웨어 개발 기법 중 하나로, 어플리케이션 단위를 '목적'으로 나누는 것 MSA 배경(Monolithic vs MSA) 모노리틱 아키텍쳐(Monolithic Architecture) 모노리틱 아키텍쳐 스타일은 기존의 전통적인 웹 시스템 개발 스타일로, 하나의 애플리케이션 내에 모든 로직들이 모두 들어 가 있는 “통짜 구조” 이다. 예를 들어, 온라인 쇼핑몰 애플리케이션이 있을때, 톰캣 서버에서 도는 WAR 파일(웹 애플리케이션 패키징 파일)내에, 사용자 관리,상품,주문 관리 모든 컴포넌트들이 들어 있고 이를 처리하는 UX 로직까지 하나로 포장되서 들어가 있는 구조이다. 장점 각 컴포넌트들은 상호 호출을 함수를 이용한 call-by-reference 구조를 취한다. 전체 애플리케이션..
ResponseEntity ?Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스를 상속받아 구현한 클래스가 RequestEntity, ResponseEntity 클래스이다.이것은 HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpStatus, HttpHeaders, HttpBody를 포함한다.참고 https://devlog-wjdrbs96.tistory.com/182 프로젝트에서 활용장바구니가 추가 기능에서 활용하였다.값이 NULL일 경우, 장바구니 추가 가능 / 값이 NULL이 아닐 경우, 예외처리 에러 클래스 package com.example.shopping.common;public class RestError { private S..
CORS(Cross-origin resource sharing)웹 페이지의 제한된 자원을 외부 도메인에서 접근을 허용해주는 매커니즘 * : 모든 도메인 허용할 경우@RestController@RequiredArgsConstructor@RequestMapping("/api/v1/products")@CrossOrigin("*") // * : 모두 접근 허용public class ProductController {} 특정 도메인 허용할 경우콤마로 구분@CrossOrigin(origins = "http://domain1.com, http://domain2.com")@RequestController@RequestMapping("/account")public class AccountController{ @..
page도큐먼트 링크https://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/domain/Page.html#method.summary Page (Spring Data Core 3.1.2 API)getTotalPages int getTotalPages() Returns the number of total pages. Returns: the number of total pagesdocs.spring.io page사용 방법 1. 쿼리 사용// public interface MemberRepository extends JpaRepository 클래스 내부Page findAll(Pageable pageable);// ..