목록전체 글 (548)
똑같은 삽질은 2번 하지 말자
JIT (Just-In-Time) 컴파일러는 런타임시 Java 애플리케이션의 성능을 향상시키는 Java Runtime Environment의 구성 요소입니다. JVM의 어떤 것도 컴파일러보다 성능에 더 큰 영향을 미치지 않으며, 컴파일러를 선택하는 것은 Java 개발자이든 최종 사용자이든 Java 애플리케이션을 실행할 때 내린 첫 번째 결정 중 하나입니다. 자바 JIT 컴파일러 : 개요 자바 파워 "한 번 작성하면 어디에서나 실행"의 핵심은 bytecode. 바이트 코드가 애플리케이션에 대한 적절한 기본 명령어로 변환되는 방식은 애플리케이션의 속도에 큰 영향을 미칩니다. 이러한 바이트 코드는 해석되거나 원시 코드로 컴파일되거나 명령어 세트 아키텍처가 바이트 코드 사양 인 프로세서에서 직접 실행될 수 있습..
jacoco plugin추가 org.jacoco jacoco-maven-plugin 0.8.4 prepare-agent report prepare-package report Test작성 import org.junit.Assert; import org.junit.Test; import junit.framework.TestCase; /** * Unit test for simple App. */ public class AppTest extends TestCase { @Test public void testCase() { Product product = new Product(); product.num = 99; Assert.assertFalse(product.isMaxNumCheck()); } } 자신의 프로젝..
https://heropy.blog/2018/10/28/regexp/ 정규표현식, 이렇게 시작하자! 매일 쓰는 것도, 가독성이 좋은 것도 아니지만, 모르면 안되는 정규표현식. 저는 이렇게 공부하기 시작했습니다! (자바스크립트를 기준으로 설명합니다) heropy.blog 정말 잘 설명해놓은 사이트 예시 if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength); // maxlength가 안먹힐는 경우 추가 value = value.replace(/[^0-9]+/i,''); // 숫자만 입력 HTML에 적용시킬때,
JVM(Java Virtual Machine) 자바 가상머신, 자바 바이트 코드(.class 파일)을 OS에 특화된 코드로 변환하는 역할 인터프리터와 JIT 컴파일러로 변환하고 실행한다. JVM 스펙 : docs.oracle.com/javase/specs/jvms/se11/html/ The Java® Virtual Machine Specification Tim Lindholm Frank Yellin Gilad Bracha Alex Buckley Daniel Smith docs.oracle.com JRE(Java Runtime Environment) JVM + 라이브러리 자바 애플리케이션을 실행할 수 있도록 구성된 배포판 JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스 ..
1. 기본적인 동적 쿼리 SELECT * FROM KH.EMPLOYEE WHERE ${searchType} = #{keyword} SELECT * FROM KH.EMPLOYEE WHERE ${searchType} = #{keyword} map 형식으로 검색 타입과 키워드를 받아와서 처리했다. WHERE 절에서 검색 타입은 ${ } 로 전달하며 키워드는 #{ } 로 전달한다. ${ } 는 파라미터 값이 그대로 들어가며 #{ } 는 파라미터 값이 ' ' 으로 감싸진다. 달라지는 검색 조건에 대응할 수 있다. 2. if문을 이용한 동적 쿼리 SELECT * FROM EMPLOYEE WHERE 1=1 AND NAME LIKE '%' || #{keyword} || '%' AND GENDER = #{gender} ..
1. WBS 란 (Work Breakdown structure) 작업분해도 프로젝트의 범위와 최종산출물을 세부요소로 분할한 계층적 구조 2. WBS 작성방법 1) 전체를 큰 단위로 분할 2) 각각의 부분에 대해 좀 더 작은 단위로 분해하여, 계층적으로 구성 3) 워크 패키지 작업 (부분을 구성하는 일련의 작업 단위) 4) 담당인원을 배치 구성도 완성 3. WBS 의 역할 WBS는 전체 업무를 분류하여 구성 요소로 만든 후 각 요소를 평가하고 일정 별로 계획하며 그것을 완수할 수 있는 사람에게 할당해 주는 역할을 합니다. 1) 프로젝트에서 수행할 업무를 식별 프로젝트의 시작은 프로젝트 관리자의 임명에서 시작되며, 프로젝트의 주 관리자인 PM이 프로젝트의 모든 예산을 수립하는데, 이러한 예산은 요구사항에 근..
disabled 이용 何かしら処理する mixins/index.js export default { data() { return { processing: false } }, methods: { startProcessing: function () { this.processing = true }, endProcessing: function () { this.processing = false }, isProcessing: function () { return this.processing } } } 컴포넌트(적용하고 싶은).vue 何かしら処理する ※押すと2秒間ロックされます
vue/cli 로 프로젝트를 생성하고 이미 생성되어있는 main.js 파일을 들여다보면 있는 render:h => h(App) ...이게 뭐고? 라는 생각이 절로 들어서 검색했다.. // 제목 : ES6 기반 Vue.js 개발 프로젝트에서 마주치는 render: h => h(App) 해석 // 설명 : render:h => h(App)은 Vue.js의 기본적인 render function의 간소화 버전 // 변환과정 : #1 -> #2 -> #3 -> #4 // #1 render: function (createElement) { return createElement(App); } // #2 render (createElement) { return createElement(App); } // #3 rend..
1. 구문 분석(Parsing) 해당 쿼리가 문법적으로 틀리지 않은지 확인. 해당 구문을 SQL 서버가 이해할 수 있는 단위들로 분해하는 과정. 만약 구문이 부정확하다면 여기서 처리를 중단. 이 문장이 일괄 처리(batch) 내에 있다면 일괄 처리 전체를 중단.(Batch abort : Batch 중 하나라도 syntax error가 있다면 전체 batch가 실행되지 않는다.) 2. 표준화(Standardization) 실제로 필요없는 부분들이 제거. 표준화된 쿼리 트리(Standard Query Tree)가 만들어 진다. 3. 최적화(Optimization) 통계나 조각 정보 등을 바탕으로 실행 계획을 만들어 낸다. 쿼리처리에서 매우 중요한 단계 ① 쿼리 분석 : 검색 제한자(SARG)인지 조인 조건인..
https://docs.spring.io/spring-restdocs/docs/2.0.2.RELEASE/reference/html5 Spring REST Docs Document RESTful services by combining hand-written documentation with auto-generated snippets produced with Spring MVC Test. docs.spring.io REST Docs -> 테스트를 하면서 문서 조각(snippets)를 만들 수 있으며, 이것들을 모아 문서화를 할 수 있다. 의존성은 프로젝트를 생성할 때 이미 추가했기 때문에 추가할 필요는 없고, REST Docs를 적용하기 위해서는 @AutoConfigureRestDocs 어노테이션을 추가하면..