분류 전체보기 225

[2577 :JAVA] 1차원 배열 > 나머지 (hashset)

[백준알고리즘: 1차원 배열 단계 > 4. 나머지] - JAVA 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. [풀이 방법] 먼저 for문을 이용하여 배열에 10개의 입력 값을 42로 나눈 나머지 값을 삽입한다. 그 다음 다른 for문..

[2577 :JAVA] 1차원 배열 > 숫자의 개수

[백준알고리즘: 1차원 배열 단계 > 3. 숫자의 개수] - JAVA 문제 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 입력 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. 출력 첫째 줄에는 A × B × C의 결과에 0 이 몇 번 쓰였는지 출력한다. 마찬가지로 둘째 줄부터 ..

IoC, DI, AOP

# IoC(Inversion Of control) 스프링에서는 객체의 생성을 개발자가 아닌 Spring Container에 맡긴다. 개발자 > 프레임워크로 제어의 객체 관리 권한이 넘어갔으므로 '제어의 역전'이라고 한다. # DI(Dependency Injection) 장점 - 의존성을 가진 특정 객체를 분리시켜 테스트할 수 있다. - Mock과 같은 기술을 통해 안정적인 테스트가 가능하다. 실제 배포해야만 테스트할 수 있는 부분을 DI를 통해 Mock 객체를 주입하여 테스트할 수 있도록 한다. - 필요한 개체를 외부에서 주입하기 때문에 나의 코드를 최대한 변경하지 않을 수 있다.(추상화) - 필요한 개체를 외부에서 주입하기 때문에 내가 나를 참조하는 순환참조를 막을 수 있다. # AOP(Aspect O..

BACK-END/Spring 2021.12.16

[Springboot] JPA

[ORM (Object Relational Mapping)] - JPA를 통해 DB를 모델링하는 것을 말한다. - (함수를 제공하여) 반복 작업을 줄여준다. > JPA의 인터페이스를 통해 DB Table이 자동 생성될 수 있다. * 모델링: 테이블로 설계된 데이터를 실제로 구현한 것 class Team { int id; String name; String year; } * TRM - DB TABLE을 생성한 후 DB 모델링을 진행한다. [영속성 Context] - 데이터를 영구적으로 저장하는 속성 * Context: 대상에 대한 모든 것. 모든 정보를 의미한다. [DB와 OOP의 불일치성을 해결] 위와 같은 DB의 각 컬럼은 모두 기본 자료형으로 이루어져있다. (Object를 가질 수 없다.) 따라서 두..

BACK-END/Springboot 2021.12.14

npm(Node Packaged Manager)

Node.js로 만들어진 pakage(module)을 관리하는 툴 - Node.js로 만들어진 모듈을 웹에서 받아 설치하고 관리한다. - Java의 Maven과 비슷한 역할 - 모듈의 버전 관리가 가능함 설치 npm 다운로드 (npm install 모듈) npm install --g json파일 생성: json파일의 기록을 통해 모듈의 의존성을 한번에 관리할 수 있다. npm init > package.json 파일 생성 확인 [package.json]* scripts: run 명령어를 통해 실행할 명령 *dependencies: 설치할 모듈 ※ 참고 https://m.blog.naver.com/magnking/220961896609

BACK-END/Node.js 2021.09.09

[LEVEL 3] 라우터 실전 & 리팩토링

데이터 호출 시점 1. 라우터 네비게이션 가드 - 특정 URL로 접근하기 전의 동작을 정의하는 속성(함수) 2. 컴포넌트 라이프 사이클 훅 - created: (컴포넌트가 생성)되자마자 호출되는 로직 외부 라이브러리 모듈화 방법(차트) 1. 외부 라이브러리 모듈화 - 이유: Vue.Js 관련 라이브러리가 없을 때 일반 라이브러리를 결합할 수 있어야 한다. - 종류 1) 차트 2) 데이트 피커 3) 테이블 4) 스피너 1. 차트 라이브러리 NPM으로 설치 >> npm install chart.js 2. 설치된 라이브러리를 import로 App.vue에서 로딩 >> import Chart from 'chart.js'; 3. mounted() 라이프 사이클 훅에서 차트를 그림. (ref 속성) 4. 차트를 컴..

FRONT-END/Vue.js 2021.06.25

[LEVEL 3] 프로젝트 셋업

세미콜론 if(a === 10) { console.log('10이다'); } if(a === 1) console.log('1이다') b() c() 위와 같은 경우에는 어디에 세미콜론(;)을 입력할 지 알 수 없다. 이 때문에 문법을 마칠 때 정확하게 세미콜론을 입력하는 것이 좋다. 트레일링 콤마 - trailing comma components: { '컴포넌트 이름': 컴포넌트 내용 } components: { '컴포넌트 이름': 컴포넌트 내용, '컴포넌트 이름': 컴포넌트 내용 } ESLint - 설정 끄기 1) 스크립트 입력 /* eslint-disabled */ 2) vue.config.js 파일 생성 module.exports = { lintOnSave: false }

FRONT-END/Vue.js 2021.06.14