반응형 *:;전체보기;:*696 CI /CD 의 개념, 등장한 이유, 대표 플랫폼 CI / CD 의 개념, 등장한 이유, 대표 플랫폼 이번 포스팅에서는 CI / CD의 개념과 등장이유, 대표 툴에 대해서 알아보겠습니다. CI / CD의 개념 CI 는 Continuous Integration 의 약자로 지속적 통합을 의미합니다. 프로젝트를 진행하면서 새로운 기능을 개발하거나 코드가 변경되는 경우 SVN과 같은 형상관리 서버로 Commit을 할 것입니다. 그럼 CI 서버는 일정주기로 형상관리 서버를 Polling하여 빌드와 테스트를 진행합니다. 그리고 결과를 레포팅 해주죠. 개발자는 레포트를 확인하여 미처 발경하지 못한 코드의 문제를 파악하고 수정할 수 있습니다. 이전에 개발자들이 해야했던 일을 자동으로 처리함으로써 소프트웨어의 품질이 높아지게 됩니다. CD는 Continuous Depl.. 알짜정보/IT정보 2022. 4. 29. Google V8 엔진, Javascript의 동작원리 알짜만 빼먹기 Google V8 엔진, Javascript의 동작원리 알짜만 빼먹기 이번 포스팅에서는 Chrome 등의 브라우저에서 사용되는 V8 엔진과 Javascript의 동작원리에 대해서 알아보려고 합니다. Javascript 개발자로서 꼭 알아야되는 것은 아니지만, 알면 좋은... 여기까지 알아야 하나 하면서도 알면 좋은(?!) 내용이니 가볍게 훑어 보도록 합시다. V8 이 뭔데? V8은 웹 브라우저를 만드는 데 기반을 제공하는 오픈 소스 자바스크립트 엔진입니다. C++로 작성되어 있으며, 자바스크립트코드를 바이트코드(bytecode)로 컴파일 하고 실행하는 방식을 사용합니다. 2016년 이전에는 FullCode generator, Crankshaft, TurboFan 이라는 컴파일링 기법이 사용되었고, 이 후.. Programing/JavaScript 2022. 4. 6. Javascript 효율적인 DOM 접근, 추가, 수정 코드 작성법 Javascript 효율적인 DOM 접근, 추가, 수정 코드 작성법 페이지 내 DOM을 컨트롤 하는 것은 Javascirpt 에서 처리하는 가장 흔한 일 중 하나입니다. 효율적인 DOM 접근, 조작, 이벤트 처리방법을 알아두고, 가독성, 성능이 좋은 코딩을 하도록 합시다. 반복문 내 DOM 접근은 피한다 /* 안티패턴 */ for(let i=0, n=10; i Programing/JavaScript 2022. 4. 4. WebServerException: Unable to create tempDir 해결방법 WebServerException: Unable to create tempDir 해결방법 가상화 서버 재부팅 후 발생한 에러입니다. 잘 부팅되던 Springboot API 서버가 OS 재부팅 후 아래와 같은 에러 메시지를 출력했습니다. org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to create tempDir. java.io.tmpdir is set to C:\Users\ADMINI~1\AppData\Local\Temp\2\ Caused by: org.. Programing/Springboot 2022. 3. 31. Javascript 퍼사드(façade) 패턴 / 자주 같이 사용되는 메서드를 묶자 Javascript 퍼사드(façade) 패턴 / 자주 같이 사용되는 메서드를 묶자 퍼사드 패턴(façade pattern) 은 주로 같이 자주 사용되는 메서드의 호출들을 묶어 새로운 메소드를 만들어 주는 패턴입니다. 개발을 하다보면 많은 기능을 가지고 있는 메소드를 개별 기능으로 나누어 작성을 하곤 합니다. 기능의 세분화는 좋은 방법이지만 메소드의 수를 증가시키고 메서드간 매개변수가 증가하게 될 수도 있습니다. 퍼사드 패턴을 사용하게 되면 여러 인터페이스를 활용하는 로직을 하나의 통합된 인터페이스를 제공하므로서 쉽게 여러 인터페이스를 활용할 수 있습니다. 예를들어, 지도라는 객체에 마커, 폴리라인, 폴리곤 객체를 추가하는 setMap 메서드가 있습니다. setMap(){ /*지도 객체 초기화 로직*/ .. Programing/Design Patterns 2022. 3. 31. Javascript 전략 패턴(strategy pattern), 데이터 유효성 검증 Javascript 전략 패턴(strategy pattern), 데이터 유효성 검증 런타임에 알고리즘을 선택할 수 있는 전략 패턴에 대해 알아보도록 하겠습니다. 전략패턴은 인터페이스를 유지하면서 특정한 작업을 해야할 때 원하는 알고리즘을 상황에 맞게 선택할 수 있습니다. 데이터의 유효성을 검사하는 Validator Class를 전략패턴을 활용하여 구현해보도록 하겠습니다. 즉시 실행 함수 내 클래스를 작성하고 window.AVT로 접근 가능하게 구현합니다. (function(){ class Validator{ constructor(){ } } window.AVT = new Validator(); })(); 이제 클래스 변수로 유효성 검증 에러 메시지를 출력할 msg, 유효성 검증 로직이 들어갈 types,.. Programing/Design Patterns 2022. 3. 30. Javascript spread syntax 전개구문 알짜만 빼먹기! 간결한 코딩 방법 Javascript spread syntex 전개구문 알짜만 빼먹기! 간결한 코딩 방법 전개구문(Spread Syntax) 는 함수의 호출, 배열과 객체의 리터럴에서 사용됩니다. 함수호출과 배열의 리터럴에서 사용 시에는 Iteratorable Object 여야 합니다. Iteratorable Object 에는 String, Array, TypedArray, Map, Set이 있습니다. 문법 객체 앞에 '...' 을 붙여 사용합니다. func(...iteratableObject); [...iteratableObject, 1, 2]; {...object} 예시 코드를 보면서 사용법과 활용방법에 대해 알아보겠습니다. 함수의 호출 const print = function(a, b){ console.log(a, .. Programing/JavaScript 2022. 3. 24. Javascript 칭찬받는 코딩 방법 / 코드 줄이는 방법 Javascript 칭찬받는 코딩 방법 / 코드 줄이는 방법 현업에서 Javascript로 개발할 때 칭찬받는 방법과 코드 줄이는 방법을 같이 알아보겠습니다. '당연한건데?' 라고 느끼실 수도 있고 '오 이거 괜찮네?' 라고 느끼실 수도 있습니다. ■ var 사용 X / let, const 사용 O 아직도 변수를 선언할 때 var를 사용하시는 분이 있을지 모르겠습니다. var는 아주 편하고 유연하게 변수를 선언, 사용할 수 있지만, 원치 않는 결과를 불러올 수도 있습니다. let, const만을 사용하여 변수를 선언합시다. Link : https://aljjabaegi.tistory.com/352 javascript var, let, const 의 차이, 차이점 javascript var, let, co.. Programing/JavaScript 2022. 3. 23. Javascript 논리연산자 (||) 와 Nullish Coalescing (??) 차이 Javascript 논리연산자(||) 와 Nullish Coalescing (??) 차이 null, undefined 인 값을 초기화 할때 논리연산자와 Nullish Coalescing을 자주 활용합니다. 이 둘을 활용하면 코드를 간결하게 작성할 수 있죠. 그럼 예시코드를 보겠습니다. const test = function(name){ let msg = ""; if(name === null || typeof name === "undefined"){ msg = "아무개님 안녕하세요!"; }else{ msg = name +"님 안녕하세요!"; } console.log(msg); } name 파라메터를 받아 콘솔로 인사말을 출력하는 test 함수가 있습니다. 이제 이 함수 내 if문 조건을 논리연산자를 활용해.. Programing/JavaScript 2022. 3. 23. 핸드폰 스마트TV 연결 방법 미러링 방법 갤럭시 smart view 사용 방법 핸드폰 스마트 TV 연결 방법 미러링 방법 갤럭시 smart view 사용 방법 1. TV의 외부입력버튼을 눌러 '스크린셰어'를 선택합니다. 2. TV가 스크린셰어 화면으로 변경됩니다. 3. 핸드폰 화면 상단바(상태바) 를 아래로 내려 메뉴를 엽니다. 4. 메뉴에서 Smart View 를 터치해 기능을 활성화 합니다. Smart View가 안보이면 옆으로 한번 넘깁니다. 아래와 같은 팝업이 뜨면 '지금시작'을 터치합니다. 5. 연결할 TV가 검색되면 터치합니다. 6. TV와 연결이 진행됩니다. 7. 연결이 완료되면 화면 비율 변경 팝업이 출력됩니다. 설정 기억하기를 터치 후 변경을 터치합니다. 8. 연결이 완료되었습니다! 알짜정보/엄마가 맨날 물어봐 2022. 3. 22. Javascript Decorator Pattern 장식자 패턴 객체의 동적 기능 확장 패턴 Javascript Decorator Pattern 장식자 패턴 객체의 동적 기능 확장 패턴 동적으로 객체의 기능을 추가할 수 있는 장식자 패턴(Decorator Pattern) 에 대해 알아보겠습니다. Decorator Pattern 은 객체에 어떤 기능을 동적으로 확장하는데 유용한 패턴입니다. 기능의 순서가 중요하다면 어떤 순서로 기능을 추가할지도 지정할 수 있습니다. 키보드에 기능에 따른 모델명을 출력하는 예제를 만들어보겠습니다. 우선 키보드 클래스를 생성합니다. class Keyboard{ constructor(){ } } 기본 모델명 클래스 변수와 그 변수를 리턴해주는 getModel 메소드를 생성합니다. class Keyboard{ constructor(){ this.model = "PD-";.. Programing/Design Patterns 2022. 3. 22. Javascript iterator, next, hasNext 메소드를 구현해보자 Iterator 패턴 Javascript iterator, next, hasNext 메소드를 구현해보자 Iterator 패턴 Java 에서 iterator 메소드는 Collection 객체를 반복할 때 유용하게 활용되는 메소드 입니다. Javascript 에서도 이를 활용할 수 있도록 오브젝트의 prototype 에 추가하여 모든 객체에서 활용할 수 있도록 구현해봅시다. 배열에는 forEach라는 반복자가 있다는 것은 알아둡시다. Link : https://aljjabaegi.tistory.com/314 javascript forEach 함수에 대해 알아보자. 자바스크립트 forEach 함수 javascript forEach 함수에 대해 알아보자. 자바스크립트 forEach 함수 이번엔 고차함수 세번째 시간 입니다. 이전 포.. Programing/Design Patterns 2022. 3. 21. Javascript JQuery 구조 따라해보기 jQuery 처럼 라이브러리 만들기 Javascript JQuery 구조 따라해보기 jQuery 처럼 라이브러리 만들기 이번 포스팅에서는 jQuery 를 따라해보는 시간을 갖어볼까 합니다. 예를들어 $("#aa") 와 같이 Selector에 접근하고 $.ajax() 처럼 메소드를 실행하는 구조를 따라해보겠습니다. 우선 Selector 기능을 담당하는 DomControl Class를 생성합니다. class DomControl{ constructor(selector){ this.selector = document.querySelectorAll(selector); } append(element){ for(let ele of this.selector){ ele.append(element); } } } 이 클래스는 Element에 대한 기능을 담당.. Programing/JavaScript 2022. 3. 19. Javascript Factory Pattern 팩토리 패턴 반복 객체 생성 패턴 Javascript Factory Pattern 팩토리 패턴 반복 객체 생성 패턴 Factory Pattern은 비슷한 객체를 반복적으로 생성해야 할 경우 사용하는 패턴입니다. 객체를 생산하는 공장(Factory)을 구현하는 방법이라고 생각하시면 됩니다. 개발자가 컴파일 단계에서 어떤 객체를 생성해야될지 모르고, 런타임 환경에서 동적으로 객체를 생성해야 할 때도 사용합니다. 예제 코드를 보면서 자세히 설명하도록 하겠습니다. 아래와 같이 자동차 객체를 반복해서 생성해야된다고 합시다. const car1 = { name: "아반떼", price: "1,570 ~ 2,453만원", getInfo: function(){ return this.name+"의 가격은 "+this.price+" 입니다."; } } c.. Programing/Design Patterns 2022. 3. 18. Redis windows 용 다운로드 및 설치 Desktop Manager 설치 방법 패스워드 설정 Redis windows 용 다운로드 및 설치 Desktop Manager 설치 방법 패스워드 설정 간단하게 windows 용 Redis를 다운로드하고 설치하는 방법을 알아보겠습니다. 레디스에 접속테스트를 원하시는 분은 Redis Desktop Manager 설치 부분으로 내려가세요! 파일을 다운로드 하기 위해 아래의 Link로 이동합니다. Link : https://github.com/MicrosoftArchive/redis/releases Releases · microsoftarchive/redis Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of valu.. 알짜정보/IT정보 2022. 3. 17. 이전 1 ··· 4 5 6 7 8 9 10 ··· 47 다음 💲 추천 글 반응형