본문 바로가기

분류 전체보기

[Java] 자바 HashSet 사용 방법 자바의 HashSet은 Set 인터페이스를 구현한 클래스입니다. HashSet은 중복된 값을 허용하지 않으며 List 등과는 다르게 입력한 순서가 보장되지 않습니다. HashSet의 특징을 정리하면 다음과 같습니다. 중복된 값을 허용하지 않음 입력한 순서가 보장되지 않음 null을 값으로 허용 중복된 값을 허용하지 않는 특징이 있기 때문에 값의 존재 유무를 파악할 때 사용할 수 있습니다. HashSet의 내부 코드를 보면 HashMap을 사용해서 구현이 되어 있는 것을 볼 수 있습니다. 자바의 HashSet을 활용하는 방법을 알아보겠습니다. 1. HashSet 생성 자바에서 HashSet을 사용하려면 아래 구문을 추가해야 합니다. import java.util.HashSet; HashSet을 생성하는 방.. 더보기
빠른 윈도우(Windows) 파일 검색을 위한 Everything Everything은 윈도우의 기본 검색 기본 기능보다 빠르게 파일이나 폴더를 검색할 수 있는 툴입니다. 윈도우의 기본 검색 기능은 상황에 따라 상당한 시간이 걸립니다. Everything을 사용하면 기본 검색 기능보다 빠르게 파일이나 폴더를 찾을 수 있습니다. Everything을 설치하고 사용하는 방법을 알아보겠습니다. Everything은 아래 링크에서 다운로드가 가능합니다. voidtools voidtools Everything 실시간 파일/폴더 검색 작은 설치파일 깔끔하고 단순한 UI 빠른 파일 색인 빠른 검색 최저 자원 사용 쉬운 파일 공유 실시간 갱신 등등... Everything 1.4.1.1005 다운로드 32비트 설치파일 64비 voidtools.com Everything 설치 파일을 .. 더보기
[자작NAS] 우분투 서버에 Docker로 Snapdrop 설치 Snapdrop은 웹 브라우저를 통해 기기 간 파일을 공유할 수 있도록 해주는 서비스입니다. 애플의 AirDrop에 영감을 받아서 제작되었다고 합니다. 아래 링크는 Snapdrop의 공식 Git 저장소입니다. RobinLinus/snapdrop: A Progressive Web App for local file sharing (github.com) RobinLinus/snapdrop A Progressive Web App for local file sharing . Contribute to RobinLinus/snapdrop development by creating an account on GitHub. github.com Snapdrop을 도커로 설치하는 방법을 알아보겠습니다. 먼저 설정 파일이 저장.. 더보기
[Python] 파이썬 튜플(tuple) 사용 방법 파이썬은 리스트(list)와 유사한 튜플(tuple) 데이터 타입을 제공합니다. 튜플은 리스트와 유사하게 여러 데이터를 담을 수 있습니다. 다만 튜플은 한 번 생성된 데이터를 변경할 수 없다는 특징이 있습니다. 튜플은 값을 변경하지 않고 계속 참조하고 싶을 때 고려할 수 있는 데이터 타입입니다. 파이썬의 튜플에 대해서 알아보도록 하겠습니다. 1. tuple 생성 파이썬에서 튜플은 ()로 표현되며 다음과 같은 방법으로 생성 가능합니다. a = (1, 2, 3) b = ('Green', 1, (1, 2)) c = tuple((1, 2, 3)) 여러 타입을 한 튜플 안에 넣을 수 있으며 튜플 자체도 타입이기 때문에 포함될 수 있습니다. 간단하게 ()로 초기화를 할 수도 있고 tuple()을 사용할 수도 있습니.. 더보기
[Python] 파이썬 리스트(list) 사용 방법 리스트(list)는 프로그래밍에서 많이 사용되는 데이터 구조입니다. 특정 데이터를 반복적으로 처리하는데 특화되어 있습니다. 파이썬에서 제공하는 리스트는 C++의 vector나 자바의 ArrayList와 유사합니다. 파이썬의 리스트는 다양한 타입을 한 리스트에 저장하는 것이 가능합니다. 리스트를 통해 데이터를 순차적으로 접근하거나 임의의 위치의 데이터를 접근할 수 있습니다. 파이썬 리스트를 사용하는 방법을 알아보도록 하겠습니다. 1. list 생성 파이썬에서 리스트를 생성하는 방법은 다음과 같습니다. a = [] b = [1, 2, 3] c = list() 리스트는 []로 표현되기 때문에 간단하게 []를 통해 빈 리스트를 생성(a)할 수 있습니다. 혹은 리스트에 데이터를 넣으면서 생성(b)하거나 list(.. 더보기
[Java] 자바 Vector 사용 방법 Vector는 ArrayList와 LinkedList와 같이 리스트를 구체화한 클래스입니다. ArrayList와 LinkedList에 대한 내용은 아래 링크에서 확인 가능합니다. 2020.11.11 - [Programming/Java] - [Java] 자바 ArrayList 사용 방법 2020.11.28 - [Programming/Java] - [Java] 자바 LinkedList 사용 방법 Vector는 컬렉션 프레임워크(Collection Framework)가 존재하기 전에 추가된 레거시 클래스 중 하나입니다. 현재는 제너릭 등을 지원할 수 있도록 재설계되어 있습니다. 내부에 배열을 가지고 있으며 순서대로 값들이 저장됩니다. Vector와 ArrayList는 거의 유사한 형태의 클래스로 크기가 가변적.. 더보기
C++ fstream 객체를 통한 파일 입출력 C++ 프로그래밍을 하다 보면 파일을 자주 다루게 됩니다. 필요한 데이터를 바이너리에 모두 넣지 않고 별도의 파일로 분리해서 읽어올 수 있습니다. C++은 파일 입출력을 지원하기 위한 ifstream, ofstream 클래스를 제공합니다. 파일 입출력을 처리하는 방법을 알아보겠습니다. 1. 파일 생성 및 열기 C++의 ifstream이나 ofstream을 사용하려면 헤더를 추가해야 합니다. #include ofstream은 파일에 기록할 때 사용하고 ifstream은 파일에 저장된 데이터를 읽어올 때 사용합니다. 입력과 출력이 모두 가능한 fstream 클래스 역시 존재합니다. 클래스의 open() 메소드를 통해 파일을 열거나 생성할 수 있습니다. std::ofstream ofs; ofs.open("파일.. 더보기
C++ string (문자열)의 부분 문자열 추출 (substr) C++ 문자열을 다루다 보면 문자열의 일부를 추출해야 하는 상황이 있습니다. 예를 들어, 파일의 확장자 부분만 추출하고 싶을 때 부분 문자열 추출이 필요합니다. C++ string 클래스는 부분 문자열 추출을 위한 substr()이라는 메소드를 가지고 있습니다. string 클래스의 substr()을 활용하는 방법을 알아보겠습니다. string::substr()은 다음과 같은 형태의 함수입니다. string substr (size_t pos = 0, size_t len = npos) const; 시작 지점(pos)과 길이(len)를 전달받아서 부분 문자열을 리턴합니다. 기본값으로 pos는 0으로 지정되어 있으며 len은 npos가 지정되어 있습니다. len은 문자열의 마지막 문자보다 더 긴 길이가 입력되.. 더보기