TIL 35

리눅스 파티션 추가 및 디스크 포맷 & 마운트 설정하는 방법(예시포함)

개요안녕하세요 빈코입니다. 오늘은 서버 세팅 요소 중 하나인 리눅스 파티션 설정과 디스크 마운트 하는 방법에 대해 알아보려고 합니다. 리눅스 시스템에서 디스크는 하나 이상의 파티션으로 나뉘고 각 파티션은 논리적으로 독립된 공간으로 분할된 디스크 영역을 나타냅니다. 이것은 파일 시스템을 구성하고 데이터를 저장하기 위한 공간을 제공합니다. 그럼 설정하는 방법을 바로 알아볼까요?  파티션 설정📙첫 번째로는 fdisk를 활용하여 마운트 할 디스크명을 확인합니다.fdisk -l  두 번째로 파티션을 추가해줍니다.fdisk /dev/vdb  위 명령어를 치면 아래와 같은 질문이 나오는데, 새로운 파티션을 추가하기 위해 n을 입력해 주고 기본값으로 설정하기 위해 질문이 끝날때까지 엔터를 치시면 됩니다. 마지막에 똑..

TIL 2024.04.30

HTTP와 HTTPS의 차이점

개요안녕하세요 빈코입니다. 오늘은 저번 포스팅인 HTTP Method 사용법에 이어서 HTTP와 HTTPS의 차이에 대해 포스팅하려고 합니다. HTTP와 HTTPS는 모두 클라이언트와 서버 간 통신을 위한 통신 프로토콜입니다. 하지만 개인정보가 중요해짐에 따라 프로토콜의 보안도 강화되면서 HTTP보다 더 안전한 버전 HTTPS가 탄생하였습니다. 그럼 하단에서 자세히 살펴볼까요?  HTTP📙HTTP(Hypertext Transfer Protocol)는 데이터를 평문으로 전송합니다. 따라서 데이터가 네트워크를 통해 전송되는 동안에는 제3자가 가로채어 볼 수 있습니다. 민감한 정보가 포함된 경우에는 보안상 문제가 될 수 있겠죠? 예를 들어, 로그인 정보나 카드 정보 등 민감한 개인정보를 전송할 경우 HTTP..

TIL 2024.04.25

HTTP Method 종류 및 사용 방법(GET, POST, PUT, DELETE)

개요 안녕하세요 빈코입니다! 오늘은 웹 개발자라면 누구나 접해봤을 HTTP에 대해 포스팅하려 합니다. HTTP는 하이퍼텍스트 전송 프로토콜로 웹 브라우저와 웹 서버 간에 데이터를 주고받을 때 사용되는 프로토콜입니다. 이 프로토콜은 클라이언트(웹 브라우저)가 서버로 요청을 보내고, 서버가 클라이언트에게 응답을 보내는 방식으로 동작하는데, 주요 메서드로는 GET, POST, PUT, DELETE가 있습니다. 하단에서 좀 더 자세히 다뤄볼게요😄 HTTP Method📙 HTTP Method는 위에서 언급한 바와 같이 GET,POST,PUT,DELETE가 대표적입니다. GET은 조회, POST는 등록, PUT은 수정, DELETE는 삭제에 사용하죠. 더 다양한 메서드로는 아래와 같습니다. Method Conten..

TIL 2024.04.19

E2E(End-to-End) 테스트 요약 정리

개요 안녕하세요 빈코입니다. 오늘은 저번 포스팅인 Unit 테스트와 Integration 테스트 정리에 이어서 테스트의 마지막 종착지인 E2E테스트에 대해 포스팅하려고 합니다. E2E 테스트는 End-to-End 테스트로 애플리케이션의 흐름을 처음부터 끝까지 테스트하는 것을 말합니다. 그럼 하단에서 자세히 살펴볼까요? E2E 테스트?📙 E2E(End-to-End) 테스트는 개요에서 설명했듯이, 소프트웨어 시스템의 전체적인 기능과 성능을 검증하는 테스트 방법론입니다. 사용자가 실제로 시스템을 사용할 때와 유사한 환경에서 시스템이 예상대로 작동하는지 확인하기 위해 사용되며, 소프트웨어의 모든 구성 요소를 포함하여 전체적인 시나리오를 실행하고 결과를 검증합니다. 쉽게 말해서, A개발자가 개발한 소프트웨어를 각..

TIL 2024.04.11

Unit(단위 테스트)와 Integration(통합 테스트) 정리 및 예시

개요 개발 테스트 방법은 크게 Unit(단위) 테스트와 Integration(통합) 테스트, E2E(End-to-End) 테스트로 나뉩니다. 오늘의 포스팅은 단위 테스트와 통합테스를 다뤄보고 E2E테스트는 다음 포스팅에서 진행할 예정입니다. 개발 테스트는 소프트웨어의 각 구성 요소와 각각의 상호작용을 테스트하는 것이기 때문에, 개발 과정에서 무척 중요합니다. 3가지의 테스트 방법 모두 장단점이 있으니 알아두시면 좋을 것 같습니다😁 개발 테스트 종류📙 개발 테스트는 위의 그림과 같이 Unit(단위 테스트), Integration(통합 테스트), E2E(End to End 테스트)로 나뉩니다. 서론에서 언급했듯이 오늘의 포스팅은 통합테스트까지만 포스팅해볼게요 :) Unit(단위 테스트)📘 단위 테스트 Uni..

TIL 2024.04.03

Java 날짜 함수 DateUtil 모음집

개요 안녕하세요 빈코입니다! 오늘은 Java 프로젝트를 진행하면서 제가 실무에서 자주 사용한 날짜 함수 몇 가지를 소개하려고 합니다. 실무에서는 대부분 자주 사용하는 함수들을 Util 클래스로 따로 만들어서 Controller나 Service단에서 호출하여 사용을 하는데, 특정 커스텀을 제외하고 대중적으로 사용되는 Data 관련 함수들을 살펴볼게요😊 DateUtil 생성📙 public class DateUtil { private Calendar c; private String dateSep = "-"; private String timeSep = ":"; private final String[] day = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; pub..

TIL 2024.03.27

jstree 핸들링 방법(대용량 데이터 다루기 - 행걸리는 현상)

개요 안녕하세요 빈코입니다! 오늘은 저번 포스팅인 jstree 상하위 입맛대로 선택하기에 이어서 jstree의 마지막 포스팅 대용량 데이터 다루기를 포스팅하려 합니다. 여기서 대용량 데이터가 의미하는 것은 tree의 node들이 적어도 1만 개 이상 일 경우를 뜻합니다. jstree로 1만개의 node를 불러오는 데는 속도적인 측면에서 크게 문제 되지 않지만, 만약 특정한 노드들을 선택된 상태로 tree를 그려야 할 경우에는 어떻게 해야 할까요? 예를 들어서, 한 기업의 조직도를 tree로 그리고 기업의 부서들이 node라고 가정했을 때 어떠한 정책에 의해서 특정 부서들은 체크박스에 체크가 되어 있는 상태로 tree를 그려야 하는 경우입니다. 사실 예시가 글로 보면 이해가 어려울 수 있지만, 실무에서는 ..

TIL 2024.03.07

jstree 핸들링 방법(상˙하위 노드 입맛대로 선택하기)

개요 안녕하세요 빈코입니다! 오늘은 지난번에 포스팅한 jstree 핸들링 방법 중 이전 선택 값이 남아있던 오류 해결에 이어서 상­­,하위 노드를 입맛대로 선택하는 방법에 대해 포스팅하려고 합니다😃 제가 해결해야 했던 과제중에, jstree를 사용하는 조직도 안에서 상위 노드를 선택했을 경우에는 하위 노드가 자동으로 선택되게 하고, 하위노드를 모두 선택했을 때는 jstree 내부적으로 상위 노드까지 선택되어지는 기능은 꺼야하는 상황이였습니다. 이론상으로는 막막했지만 해결과정은 생각보다 간단합니다 :) 그럼 jstree의 내부 동작에 대해 알아볼까요? jstree 기본 기능📙 jstree에서 제공하는 기본 기능중에 'three-state' 옵션은 상, 하위 노드간의 연결 관계를 의미하는데, 기본적으로 tr..

TIL 2024.02.23

Java 대용량 데이터 HashSet 기본개념 및 사용법(예시)

개요 안녕하세요. 빈코입니다! 오늘은 이전 포스팅에서 다룬 HashMap의 기본개념 및 시간복잡도에 이어서 HashSet을 사용하는 방법과 HashSet이 가지는 특징들에 대해 포스팅하려 합니다. 그럼 HashSet의 기본개념부터 알아볼까요? 기본 개념📙 HashSet을 알아보기 앞서 Set의 기본개념은 객체를 중복해서 저장할 수 없는 특징을 가지고 있습니다. 그래서 대부분 중복되는 값이 여러 번 추가될 수 있는 로직에서 많이 쓰이곤 합니다. Set은 저장 순서가 유지되지 않는 특징이 있는데, 만약 저장 순서도 유지하고 싶을 때는 LinkedHashSet 클래스를 사용하면 됩니다. Set을 이용한 대표적인 클래스는 HashSet과 TreeSet이 있는데 HashSet은 앞서 말한것처럼 저장 순서가 유지되..

TIL 2024.02.08

Java 대용량 데이터 HashMap 기본개념 및 시간복잡도(예시)

개요 안녕하세요! 빈코입니다. 오늘은 이전 포스팅에 다룬 자료구조 반복문과 배열의 시간복잡도 차이에 이어서 HashMap의 시간복잡도와 기본개념에 대해 포스팅하려 합니다. 많은 분들이 착각하시는 것 중에 하나가 '대용량 데이터는 무조건 Hash 알고리즘을 써야 한다!'인데, 사실 자료구조 선택은 각각의 개발 상황에 맞게 해야 하기 때문에, 어쩔 때는 반복문이 또 어쩔 때는 배열이 더 성능이 좋을 수도 있습니다. 그럼 한번 알아볼까요? HashMap 기본 개념📙 HashMap이란 키에 대한 해시 값을 사용하여 값을 저장하고 조회하며, 키-값 쌍의 개수에 따라 동적으로 크기가 증가하는 associat array(Map, Dictionary, Symbol Table)라고 할 수 있습니다. map은 대응 관계를..

TIL 2024.02.02