Programming


    728x90
    반응형

    [Java] Enum 클래스 (열거체) 알아보기

    열거체 열거체 비교시 실제 값뿐만 아니라 타입까지 체크 열거체의 상숫값이 재정의되어도 다시 컴파일할 필요가 없음 enum 키워드 열거체 정의 enum 열거체 이름 {상수1 이름, 상수2 이름 ...} 열거체 사용 '.'을 통해 사용 열거체 이름.상수 이름 상숫값 정의 첫 번째 상수값은 0부터 설정, 그 다음은 1씩 증가 직접 설정하고 싶으면 상수 이름 옆에 괄호로 상숫값 명시 가능 (변수와 생성자를 별도로 추가해야 함) enum 열거체 이름 { 상수1 이름(10), 상수2 이름(40) ...; private int value; 열거체 이름(int value) { this.value = value; } }

    [TDD] Mock 객체 알아보기

    Mock이란? 실제 객체를 만들어 사용하기에 비용과 시간이 많이 들거나 의존성이 길게 걸쳐져 있어 제대로 구현하기 어려울 경우, 이를 대신하기 위해 만들어진 가짜 객체 Mock 분류 1. 테스트 더블 테스트를 진행하기 어려운 경우 이를 대신해 테스트를 진행할 수 있도록 만들어주는 객체 2. 더미 객체 단순히 인스턴스화될 수 있는 수준으로만 객체 구현 3. 테스트 스텁 더미 객체가 실제 동작하는 것처럼 보이게 만들어 놓은 객체 특정 값을 리턴해주거나 특정 메시지 출력 (특정 상태 가정) 상태 검증에 사용 4. 페이크 객체 여러 상태를 대표할 수 있도록 구현 실제 DB에 접속해 비교할 때와 동일한 모양이 보이도록 객체 내부에 구현 5. 테스트 스파이 테스트에 사용되는 객체 메소드 사용 여부 및 정상 호출 여..

    자바 프레임워크(Java Framework) 깨알 지식

    라이브러리 컴퓨터 프로그램에서 빈번히 사용되는 사전 컴파일된 루틴 또는 리소스를 모아둔 것 프레임워크 라이브러리의 컬렉션 작업을 호출할 수 있는 제어권 존재 정해진 규칙 존재 Struts Framework (스트럿츠) 자바 기반의 JSP를 위한 프레임워크 MVC 기반 프레임워크 Spring Framework (스프링) 경량형 프레임워크 (Java 개발의 대표적) 전자정부 표준 프레임워크 기반 DI 지원, AOP 지원, POJO 방식, API 연동 지원 등 (결합도를 낮춰 유연한 개발 가능) Spring Boot 스프링의 버전 관리를 스프링 부트에 의해 관리(자동화)하기 때문에 종속성이나 호환 버전에 대해 신경쓸 필요가 없음 (간편환 환경설정) 내장형 톰캣을 가지고 있어 별도의 톰캣을 설정할 필요가 없어 ..

    [Node.js] MySQL 8.0 연동 에러: ER_NOT_SUPPORTED_AUTH_MODE

    ❌ Node.js 실행 중에 발생한 에러 Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client at Handshake.Sequence._packetToError MySQL 버전이 8.0일 때 발생한다.외부에서 사용할 수 있게 비밀번호를 설정하는 과정이 필요하다고 한다. ⭕ 해결 방법 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234' 'root': MySQL 아이디 입력하기 'localhost': MySQL 주소 입력하기 (또는 %..

    [Node.js] DB 연결 에러: database.collection is not a function

    do it node.js 교재로 공부를 하던 중 발견한 에러. (220p) 내가 가지고 있는 교재가 2017년 판이라 최신 버전에 맞지 않는 부분이 간혹 존재한다. 몽고DB 연결 도중 발견한 문제! DB 연결 소스코드 // DB 연결 var MongoClient = require('mongodb').MongoClient; var database; function connectDB() { var databaseUrl = 'mongodb://localhost:27017/local'; MongoClient.connect(databaseUrl, function(err, db) { if(err) throw err; console.log('database connect', databaseUrl); database ..

    [Node.js] 노드에서 모듈 사용하기 (exports / module.exports / 외장 모듈)

    🍳 모듈 별도의 파일로 분리된 독립 기능의 모음 exports 전역 객체를 통해 모듈을 불러와 사용 (require() 메서드 이용) 기존 코드 let calc = {}; calc.add = function(a, b) { return a + b; } console.log(calc.add(10, 10)); // 결과 20 exports 속성을 추가할 수 있어 여러 개의 변수나 함수를 각각의 속성으로 추가할 수 있음 (파일이 없다면 해당 이름의 폴더를 찾은 후 index.js 파일을 불러옴) // calc.js (모듈 파일 분리) // exports 객체에 add 속성 추가 exports.add = function(a, b) { return a + b; } // main.js // require() 함수를 ..

    [Node.js] 노드에 대해 알아보고 윈도우 10에 node.js 설치하기

    Node.js 란? 자바스크립트를 이용해 서버를 만들 수 있는 개발 도구 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임 비동기 입출력 방식, 모듈과 패키지 제공, 이벤트 기반 입출력, 자바스크립트 사용 Node.js 설치하기 1. 텍스트 에디터 설치 VSCode 다운로드: https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free a..

    [JavaScript] 정규 표현식(Regular Expression) 정리: 패턴 / 메서드 / 플래그 / 정규식 예제

    정규 표현식이란? 문자열에 나타나는 특정 문자 조합과 대응시키기 위해 사용되는 패턴 정규식 생성 방법 1. 정규식 리터럴 슬래시(/)로 감싸는 패턴 스크립트가 불러와질 때 컴파일 (정규식이 상수일 때 사용) var re = /ab+c/; var re = /ab+c/g; 2. RegExp 객체 RegExp 객체의 생성자 함수 호출 정규식 실행 시점에 컴파일 (정규식 패턴이 변경될 수 있는 경우 사용) var re = new RegExp("ab+c"); var re = new RegExp("ab+c", "g"); 정규식 패턴 \ (역슬래시) 1. 특수문자가 아닌 문자 앞에 사용 해당 문자는 특별하고, 문자 그대로 해석되면 안됨 b: 소문자 b 패턴과 대응 \b: 어떤 문자와도 대응되지 않음 2. 특수문자 앞..

    [CSS] 애니메이션 이미지(animation), steps를 사용해 돌아가는 공 만들기

    아래와 같이 동그라미 6개가 이어진 형태인 이미지를 차례로 출력하는 실습을 해보았다. 나는 단순히 동그라미 색상만 다르게 설정했지만, 이를 응용해서 그림을 넣거나 하면 간단하지만 재미있는 애니메이션 효과를 볼 수 있다. 이미지를 불러올 rainbow 클래스를 생성하였다. 이미지를 표출할 크기를 설정하고, 이미지 경로를 연결하였다. .rainbow { width: 150px; height: 150px; background: url('images/rainbow_ball.png') no-repeat 0 0 / auto 150px; animation: rainbow-ani 5s infinite steps(6); } background 슬래시(/)는 background-size 속성을 위해 다른 속성과 구분하는 ..

    [CSS] 움직이는 요소, 애니메이션 만들기: animation, @keyframes

    CSS3에서 지원하는 애니메이션 효과! animation 애니메이션 효과를 적용하기 위해 애니메이션에 대한 키프레임(@keyframes)을 정의해야 한다. 키 프레임의 from에 처음 스타일을 정의하고, to에 마지막 스타일을 정의한다. 또는 %를 이용해 세부적으로 스타일을 정의할 수 있다. (시작인 0% ~ 종료인 100%) 예시 0의 위치에서 100px로 움직이는 모션 실행 @keyframes box-ani { from { transform: translate(0, 0); } to { transform: translate(100px, 100px); } } .box { display: flex; align-items: center; justify-content: center; width: 200px; ..

728x90
반응형