본문 바로가기
반응형

개발팁38

open cover & report generator로 C# line coverage확인하기 (.net, .net framework) opencover 란?오픈커버(OpenCover)는 .NET / .NET Framework 애플리케이션의 코드 커버리지를 측정하는 도구입니다.코드 커버리지란, 프로그램이 실행될 때 실행된 코드의 비율을 의미합니다.이를 통해 개발자는 자신이 작성한 코드가 실제로 실행되는지 확인할 수 있으며, 테스트되지 않은 코드를 찾아내어 수정할 수 있습니다.report generator란?ReportGenerator는 coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov, lcov과 같이다양한 커버리지 결과파일을 사람이 읽을 수 있는 보고서로 변환합니다.이 보고서는 커버리지 비율을 보여주며, 소스 코드의 어떤 라인이 커버.. 2024. 10. 30.
.NET Framework C# NUnit 사용하기, NUnit 사용법, NUnit이란? NUnit 이란?NUnit은 .Net에 대한 단위 테스트 (유닛테스트) 프레임 워크입니다.사전세팅 : 테스트 대상 프로젝트 생성Visual Studio에서 File > New > Projet를 선택후, console app (.NET Framework) 을 선택해줍니다.프로젝트 명, 설치하려는 위치, 솔루션 명, framework 버전을 입력한 뒤, Create를 눌러줍니다. solution explorer에서 프로젝트를 우클릭 한 후, Add > New Item 을 누른 후,Caculator.cs 파일을 생성해줍니다.Calculator.cs파일 내용은 아래와 같이 작성해줍니다.단순히 더하는 기능만 수행하는 클래스입니다.public class Calculator { public int add(in.. 2024. 10. 26.
윈도우10 가상 데스크톱 사용법 윈도우 10 이 나온지 꽤 시간이 지났는데요,윈도우10 이후부터 생긴 가상 데스크톱 기능의 존재를 잘 모르시는 분들이 의외로 많아 이 기능을 소개하게 되었습니다.가상 데스크톱이란?가상 데스크톱을 한마디로 표현하면 "바탕화면의 확장"이라고 생각하면 쉽습니다.우리가 흔히 창(윈도우) 전환을 Alt + Tab만으로 이동하는데요,가상 데스크톱은 바탕화면 및 실행중인 프로그램 전체를 가상으로 분리시키는 기능을 갖고 있습니다.중요한 프로그램, 링크, 데이터를 모두 한 화면에 몰아넣지 않고 두 개 이상의 화면으로 분산할 수 있으며,마우스를 클릭하거나 키보드 단축키를 눌러 빠르게 화면 전환이 가능합니다.가상 데스크톱 사용법아래 단축키들을 모두 숙지하시고 한번 실행해보세요~Windows Key + Tab : 모든 가상 .. 2024. 10. 24.
oracle dbms_random 오라클 랜덤 값 생성하기 오라클에서는 랜덤한 값을 생성하기 위해 DBMS_RANDOM이란 패키지를 제공합니다.이 패키지 안에 있는 함수와 프로시저들을 알아보겠습니다.요약프로시저/함수설명NORAMAL 함수정규분포(가우스 분포)에서 특정한 숫자를 리턴합니다RANDOM 함수임의의 숫자를 리턴합니다SEED 프로시저seed값을 리셋합니다STRING 함수임의의 문자열을 리턴합니다VALUE 함수두 개의 숫자 파라미터 범위 내의 임의의 정수를 가져옵니다.NORAML 함수표준 정규 분포(가우스 분포)에서의 임의값을 추출하는 함수입니다.-- 프로토 타입DBMS_RANDOM.NORMALRETURN NUMBER;-- 쿼리 예SELECT DBMS_RANDOM.NORMAL FROM DUAL;-- 출력 예-- 1.0286383016781971869365.. 2024. 10. 22.
오라클 쿼리 성능향상을 위한 sql 구문 작성 가이드 컬럼 select시 * 를 사용하지 않고, 불필요한 열을 참조하지 않는다.을 사용할 경우, 모든 컬럼을 fetch 하는데 불필요한 메모리가 소요될 수 있습니다.또한, count() 의 경우에도 count(1) 이나 count(col1) 처럼 작성하도록 합니다.--수정 전 SELECT * FROM tbl1; --수정 후SELECT col1, col2 FROM tbl1;Bind 변수 사용bind변수를 사용하지 않고 SQL을 작성하면,각각 다른 SQL로 인식되어 수행 시마다 매번 각 SQL을 파싱/옵티마이징등을 통해 실행계획을 생성해내는 등DB 부하를 추가적으로 줄 수 있습니다.-- 수정 전 SELECT col1, col2 FROM tbl1 WHERE col1 = 'A';-- 수정 후SELECT col1, c.. 2024. 10. 16.
윈도 스크린샷 꿀팁, 캡처 및 스케치, 클립보드 히스토리 캡처 및 스케치보통 캡처를 할때 캡처 도구를 많이 사용합니다.스크린샷 관련되어서 쉽고 다양한 기능을 제공하기 위해 윈도우10부터는 다른 도구도 제공하는데요."캡처 및 스케치" 라는 도구입니다.이 도구는 윈도우 단축키로 아주 간단하게 사용이 가능한데요윈도우키 + 쉬프트키 + S를 누르시면 상단에 아래와 같은 아이콘이 뜨는걸 확인할 수 있을겁니다.1번 부분에서, 왼쪽부터 다음과 같은 기능을합니다.사각 영역 캡처자유 영역 캡처윈도우 창 선택 캡처전체화면 캡처 (듀얼 모니터면 두 모니터 내용 전체가 캡처)선택을 한 후, 2번처럼 캡처하려는 영역을 선택하여 캡처할 수 있습니다.클립보드 히스토리윈도에서는 클립보드에 내용을 복사해놨던 히스토리를 저장하는 기능을 제공합니다.아래와 같은 단축키를 눌러보시면 무슨 기능인지.. 2024. 10. 14.
nmap이란? nmap 사용방법, 윈도 포트스캔, nmap 사용법 nmap이란?nmap이란, 보안스캐너 툴의 일종으로,컴퓨터와 서비스를 찾거나, 원격 컴퓨터들의 자세한 정보를 알아낼 수 있습니다.자세한 정보에는 운영 체제, 장치 종류, 운영 시간, 서비스에 쓰이는 소프트웨어 제품, 그 제품의 정확한 버전, 방화벽 등을 확인할 수 있습니다.nmap으로는 아래와 같은 기능을 수행할 수 있습니다.1) 호스트 탐지 - 네트워크상의 컴퓨터들을 확인한다. 예를 들어 ping 응답이나 특정 포트가 열린 컴퓨터들을 나열한다.2) 포트 스캔 - 하나 혹은 그 이상의 대상 컴퓨터들에 열린 포트들을 나열한다.3) 버전 탐지 - 응용 프로그램의 이름과 버전 번호를 확인하기 위해 원격 컴퓨터의 네트워크 서비스에 주의를 기울인다.4) 운영 체제 탐지 - 원격으로 운영 체제와 네트워크 장치의 하.. 2024. 10. 8.
JavaScript말고 TypeScript를 써야 하는이유 : Null 과 Undefined Javascript에서의 변수는 처음에 초기화 되기 전 undefined 형식입니다.어떤 변수는 개발자가 null 로 지정한 후뒤에서 if (someObject === null) { someObject = a; } 이렇게 초기화를 하기도 합니다.하지만 늘 생각대로 코딩이 되지는 않습니다.초기화 될 줄 알았던 코드는 초기화가 안될 수 있고객체가 반환되리라 예상했던 부분에서는 제대로 반환이 안될 수 있습니다.예를 들어 아래와 같은 javascript 코드를 살펴보겠습니다.async function getPerson() { const [row] = await conn.execute("SELECT ... ") // 여기서 문제가 발생했다면? return { name: row[0].name, age: r.. 2024. 10. 6.
JavaScript말고 TypeScript를 써야 하는이유 : 더 생산적이고 안정적인 코드 JavaScript말고 TypeScript써야 하는이유를 한 줄 요약 하면 아래와 같이 표현할 수 있습니다.TypeScript == JavaScript + 생산성 + 안정성!TypeScript는 변수의 형식을 다른 정적 컴파일 언어처럼 작성하도록 되어 있습니다.이는 어쩌면 불필요하게 타이핑을 더 해야만 한다는 것일텐데요, 예를 들어 아래코드를 봅시다.const a = 100const b = "I am Ironman."function add(c, d) { return c + d}위코드를 typescript로 작성하면 아래와 같이 type지정을 위해 키보드를 더 눌러줘야 합니다.const a: number = 100const b: string = "I am Ironman."function add(c: nu.. 2024. 10. 4.
oracle 쿼리 플랜 보기, 오라클 쿼리 실행 계획 보는법, 오라클 실행계획 해석, oracle plan 해석 oracle 쿼리 플랜 확인하는 법oracle 쿼리 플랜 확인하는 법은set autotrace on traceonly 를 실행한 후,쿼리를 실행하면 됩니다.아래와 같이 실행 예시를 보여드립니다.SQL> set autotrace onSQL> select * from scott.emp where empno=7900; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 7900 JAMES CLERK 7698 03-DEC-81 .. 2024. 9. 28.
오라클 프로시저 생성 방법 , 오라클 프로시저 수정, 오라클 프로시저 문법 오라클 프로시저 생성 문법, 오라클 프로시저 생성 방법오라클 프로시저 생성 문법은 아래와 같습니다.CREATE [OR REPLACE] PROCEDURE 프로시저명[(매개변수 IN 데이터타입, 매개변수 OUT 데이터타입, 매개변수 INOUT 데이터타입)]IS [주요 변수 선언;]BEGIN -- 실행구문; ... [EXCEPTION -- 예외 처리 구문;]END;아래는 PROC_TEST라는 프로시저를 생성하는 예제입니다.이 프로시저를 호출하면, TEST_TABLE이라는 테이블에서 col1, col2를 select합니다.CREATE OR REPLACE PROCEDURE PROC_TEST( pResult out SYS_REFCURSOR)ISBEGIN OPEN pResult FO.. 2024. 9. 22.
주요 DB별 문자열자르기 mysql /mariadb / oracle / sqlite 문자열자르기, substrSUBSTR(str,pos,len)str : 원본문자열pos : 시작 위치len : 가져올 길이사용예제SELECT SUBSTR('123456TEST', 1, 4) FROM DUAL-- 결과 : 1234postgresql / mssql 문자열자르기, substringSUBSTR(str,pos,len)str : 원본문자열pos : 시작 위치len : 가져올 길이사용예제SELECT SUBSTRING('123456TEST' , 1, 3); -- 결과 : 123  #substr,#mysql,#oracle,#procedure 2024. 9. 18.
반응형