본문 바로가기
반응형

분류 전체보기248

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.
Python 으로 TextArt 그리기, asciiart, pyfiglet사용법 위와 같은 아스키 아트로 표현된 글자를 한번씩 보신적 있으실 겁니다.파이썬에서는 이런 글자를 손쉽게 생성해주는 라이브러리를 제공하는데요,바로 pyfiglet이라는 라이브러리를 사용하면 이러한 글자를 생성할 수 있습니다.사용방법은 매우매우 간단합니다.먼저, 아래와 같이 pyfiglet 모듈을 pip로 설치해줍니다.pip install pyfiglet그 다음 아래와 같이 파이썬 코드를 작성해줍니다.import pyfiglettext = "ASCII ART \n1,2,3,4,5,6,7,8,9,10"word = pyfiglet.figlet_format(text)print(word)그러면 아래와 같은 결과가 나옵니다. 아래와 같이, 폰트를 지정해줄 수 있기도 하며,renderText 함수를 이용해서도 표현할 수 .. 2024. 10. 20.
ANSI SQL vs Oracle SQL 차이 ANSI SQL과 ORACLE SQL 차이를 표로 정리해보았습니다.특징 비교---ANSI SQLOracle SQL문법ANSI SQL은 American National Standards Institute에서 정한 데이터베이스 관리 시스템의 표준 SQL로, 대부분의 데이터베이스 시스템에서 사용할 수 있습니다.Oracle SQL은 Oracle 데이터베이스 시스템에서 사용되는 SQL 언어로, Oracle의 확장된 기능과 구문을 지원합니다.함수ANSI SQL은 기본적인 SQL 함수들을 포함하고 있으며, 데이터베이스 시스템에 따라 추가적인 함수를 제공할 수 있습니다.Oracle SQL은 ANSI SQL 함수들에 더해서 Oracle의 고유한 함수들을 포함하고 있습니다. 예를 들어, TO_CHAR 함수를 사용하여 숫자.. 2024. 10. 18.
오라클 쿼리 성능향상을 위한 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.
react에서 useState로 배열 상태값 변경하기, spread syntax react에서는 배열에 대해 useState가 동작하지 않는다?react에서 아래와 같이 messages라는, 배열을 갖는 state를 변경하려고 시도하면 변경된 값이 반영안되는 것을 확인할 수 있습니다.이럴 때는, spread 문법을 사용해서 상태값을 변경해주면 됩니다.import React, { useState } from 'react';export default function Chat(props) { let [messages, setMessages] = useState(['test1', 'test2']); function change(){ messages.push("test"); setMessages(messages); } return ( { items.map((item, inde.. 2024. 10. 12.
Python CSV 파일 Open할 때 UnicodeDecodeError: utf-8 또는 cp949 codec can't decode byte 에러 해결법 Python CSV 파일을 오픈할 때 UnicodeDecodeError: utf-8 또는 cp949 codec can't decode byte 나는 경우가 있습니다.이럴 때, 어떻게 처리하는지 알아보겠습니다.해결방법1 : open시 encoding 지정우선, notepad++가 필요합니다.아래 주소에서 다운해주세요.https://notepad-plus-plus.org/downloads/ 이제 python에서 오픈하려는 파일을 notepad++로 열어보면,우측 아래에 ANSI / UTF-8 인지 나옵니다.ANSI라면, 아래와 같이 encoding='cp949'를 지정해서 파이썬에서 파일을 오픈합니다.open(file_name, 'w', encoding='cp949')UTF-8이라면, 아래와 같이 파이썬에서.. 2024. 10. 10.
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.
반응형