전체 글
-
Spring - 어노테이션 (수정 중...)BE dev/Spring 2022. 2. 11. 10:27
@ComponentScan 어노테이션 - @Component, @Service, @Repository, @Controller, @Configuration 어노테이션이 붙은 클래스 Bean 들을 찾아서 Context bean 등록을 해주는 어노테이션입니다. - @ComponentScan 어노테이션은 직접적으로 사용한 적이 없는데, 그 이유는 @SpringBootApplication 어노테이션에 있습니다. @Component 어노테이션 - 개발자가 직접 작성한 Class를 Bean으로 등록하기 위한 어노테이션입니다. - 스프링의 컴포넌트 스캔 기능에 의해 스캔될 때, 주어진 패키지 내에서 @Component 어노테이션이 적용된 클래스를 식별 후, 클래스의 빈을 생성하여 ApplicationContext에 등..
-
Svelte Guide - LogicFE dev/Svelte Guide 2022. 1. 21. 17:44
if blocks Else blocks Else-if blocks Each blocks keyed each blocks Await blocks if blocks - HTML은 조건문과 반복문과 같은 논리적인 표현식을 가지지 않습니다. Svelte 도 그렇습니다. - 몇몇 마크업을 조건에따라 렌더링 하기 위해서 if 블록 안에서 감싸줍니다. - 버튼 클릭을 통해서 컴포넌트의 상태를 업데이트 할 수 있습니다. {#if user.loggedIn} Log out {/if} {#if !user.loggedIn} Log in {/if} Else blocks - 토글형식으로 true/false 형식으로 상호 배타적인 경우 다른 블록을 사용하여 구성요소를 단순화 할 수 있습니다. - Else blocks 을 사용시 코..
-
생물정보 파일구조 - FASTA, FASTQ, BAM, SAMEtc/생물정보 파일구조 2022. 1. 20. 15:03
FASTA 특정 분자의 서열을 나타내는데 사용합니다 주로 Genome의 각 chromosome 마다의 서열을 저장하는데 쓰입니다. 두 형태가 반복되는 형식의 구조입니다. 첫 부분은 아래에 나올 서열의 이름/ID 입니다. ' > ' (꺽쇠) 글자로 시작합니다. 다음에 이름에 해당하는 서열이 나오게 됩니다. 보통 서열은 굉장히 길며, 특정 유전자나 단백질, 염색체 등이 몇백~몇만 글자로 표현해야합니다. 그렇기 때문에 한줄로 나타내지 않고, 보통 60 글자로 나눠서 여러 줄에 걸쳐 표현합니다. FASTQ NGS(Next Generation Sequencing data)의 결과를 저장하는 데 주로 사용됩니다. NGS 실험을 진행하면 결과로 cDNA library 서열을 읽어서 데이터로 얻을 수 있습니다. 즉, ..
-
Svelte Guide - PropsFE dev/Svelte Guide 2022. 1. 14. 11:50
Declaring props Default values Spread props Declaring props - svelte에서도 하나의 컴포넌트의 children 으로 보낼 필요가 있습니다. - 그렇기 때문에 "Props" 라고 불리는 properties 를 선언할 필요가 있습니다. - svelte에서는 export 키워드를 사용합니다. - $: , export 같은 것은 현재는 어색할 수 있지만 JS 모듈이기에 작동이 가능하며 시간이 지나면 자연스럽게 사용이 가능할 것 같습니다. // App.svelte // Props.svelte The answer is {answer} Default values - 기본값을 사용하는 방법은 간단합니다. - 기본값을 설정하고자하는 default values를 해당파일..
-
조건문 성능 비교해보기(if~else, switch-case, 삼항연산자)Etc/Performence 2022. 1. 13. 17:47
조건문 종류 성능비교 테스트 if~else switch-case 삼항연산자 if~else console.time("TEST time"); function condition(value){ let number = "zero"; if(value === 1){ number = "one"; } else if(value === 2){ number = "two" } else if(value === 3){ number = "three" } else if(value === 4){ number = "four" } else if(value === 5){ number = "five" } else if(value === 6){ number = "six" } else if(value === 7){ number = "seven" ..
-
객체 생성, 초기화 성능을 높이는 코드 스타일Etc/Performence 2022. 1. 13. 17:16
배열 형식의 객체 사례 - 배열은 생성자와 리터럴 형식을 사용해서 객체를 생성할 수 있습니다. - 생성방법에는 큰 차이가 없지만, 리터럴 형식을 사용한 경우 다양한 브라우저에서 조금 더 좋은 성능을 보여줍니다. // 배열 생성자를 사용하여 배열 생성 방법 let arr = new Array(); // 리터럴 형식으로 배열 생성 let arr = []; 접근자 [ ], push() 메서드 사용방법 - 접근자 사용의 경우 // 접근자를 사용해서 데이터를 할당했을 경우 경과시간입니다. let arr = []; console.time("TEST Time"); for(let i = 0; i
-
효율적인 for 반복문 사용방법Etc/Performence 2022. 1. 13. 14:39
기존에 자주 사용하는 for 문 사용방식 - 배열의 길이만큼 length property에 반복하여 접근해야합니다. let obj = { user: ["사용자1","사용자2","사용자3","사용자4"] }; for(let i = 0; i < user.length; i++){ console.log(obj.user[i]); // 사용자1~4 차례대로 콘솔에 나옵니다. } 개선방법-1 - length property의 접근 횟수를 최소화하기 위해서 변수를 선언하여서 길이를 대입하는 방법을 사용합니다. let userLength = obj.user.length; for(let i = 0; i < userLength; i++) { console.log(obj.user[i]); // 결과는 동일하게 나옵니다. } ..