본문 바로가기
Git Stash와 Git Rebase 언제 어떻게 쓰는게 효과적일까 ? Git을 활용하여 소프트웨어를 개발하다 보면, 다양한 기능 브랜치에서 작업하던 도중 긴급한 버그가 생기거나, 원격 저장소에서 새로운 변경 사항을 받아와야 하는 상황이 자주 발생합니다. 이때 작업 중인 변경 사항이 완성되지 않았는데도 불구하고 다른 작업으로 전환해야 한다면, 단순히 바로 커밋하기도 꺼려지고, 그렇다고 현재 상태를 무시하고 새 브랜치로 이동하기도 부담스럽습니다. 이런 상황에서 “Git stash”는 작업 디렉토리의 변경 사항을 임시로 저장할 수 있는 강력한 도구입니다. 또한, 개발을 진행하다가 여러 갈래로 나뉜 커밋 기록을 깔끔하게 정리하고자 할 때는 “Git rebase”가 큰 도움이 됩니다.────────────────────────────────────────────────────1. .. 2025. 3. 24.
jar 파일 zip 과 같음JAR 파일이란?JAR(Java ARchive) 파일은 Java에서 애플리케이션을 배포할 때 사용하는 파일 포맷입니다. 여러 개의 Java 클래스 파일과 관련된 메타데이터 및 리소스(이미지, 텍스트 파일 등)를 하나의 파일로 묶어주는 역할을 합니다. 이를 통해 애플리케이션을 효율적으로 배포하고 관리할 수 있습니다.JAR(Java ARchive) 파일 형식은 Java 클래스 파일, 관련 메타데이터 및 리소스를 하나의 파일로 묶는 포맷입니다. 이 파일은 일반적으로 .jar 확장자를 가지며, Java 기반 응용 프로그램이나 라이브러리를 배포할 때 사용됩니다. JAR 파일은 내부적으로 ZIP 파일 포맷을 기반으로 하기 때문에, 압축과 해제가 가능합니다.JAR 파일의 주요 구성 요소매니페스트 파일 .. 2024. 8. 7.
JWT (JSON Web Token)란? JWT (JSON Web Token)란?*JWT (JSON Web Token)**는 인터넷 표준인 RFC 7519에 정의된, JSON 객체를 사용해서 토큰 자체에 정보들을 저장하는 Web 토큰입니다. JWT는 특히 웹사이트와 서버 간의 안전한 정보 교환을 위해 설계되었으며, 매우 간결하고 독립적입니다. 이 특성 덕분에 주로 분산된 시스템 환경에서 인증 및 정보 교환에 널리 사용됩니다.JWT의 구조JWT는 세 부분으로 나뉩니다: 헤더(Header), 페이로드(Payload), 서명(Signature). 이 세 부분은 각각 Base64로 인코딩되어 . (점)으로 구분되어 있는 문자열로 표현됩니다.1. 헤더 (Header)헤더는 토큰의 타입 (주로 "JWT")과 함께 사용하는 해시 알고리즘 (예: HMAC S.. 2024. 8. 6.
동적으로 쿼리를 생성한다는 것 / 동적할당 정적할당 동적 쿼리생성 동적으로 쿼리를 생성한다는 것은 프로그램 실행 시간에 데이터베이스 쿼리를 프로그래밍적으로 조합하고 수정하여 사용할 수 있게 만든다는 의미입니다. 이를 통해 다양한 변수나 조건에 따라 유연하게 쿼리를 변경하고 적용할 수 있습니다. 예를 들어, 사용자 입력, 설정 파일, 혹은 프로그램의 다른 부분에서 정의된 값에 따라 SQL 문을 조정할 수 있습니다. 이 방법은 특히 날짜, 사용자 ID, 설정된 데이터베이스 이름과 같이 변할 수 있는 데이터에 대해 쿼리를 실행할 때 유용합니다. 여러분이 제시한 코드의 일부를 살펴보면: kst_date = '2024-04-22' database = 'contents' query = "SELECT * FROM {{ config.database.hive.get_co.. 2024. 4. 23.
GIT 명령어 정리 깃과 깃헙의 차이점 깃(Git)은 버전 관리 시스템(VCS, Version Control System)의 일종으로, 소스 코드나 파일의 변경 사항을 추적하고 관리하는 도구입니다. 개발자는 깃을 사용하여 코드의 변경 사항을 관리하고, 다른 개발자와 협업할 수 있습니다. 반면, 깃헙(GitHub)은 깃을 기반으로한 클라우드 기반 코드 호스팅 플랫폼입니다. 개발자들은 깃헙을 사용하여 자신의 깃 저장소를 업로드하고, 다른 개발자와 협업하며, 개발 프로젝트를 관리할 수 있습니다. 깃헙은 깃을 사용하는 개발자들이 코드를 공유하고, 문제를 해결하며, 더 나은 소프트웨어를 만들기 위한 커뮤니티를 형성하는 플랫폼으로, 오픈 소스 소프트웨어의 개발 및 관리에 매우 중요한 역할을 합니다. 따라서, 깃은 코드 관리 도구이고,.. 2023. 5. 9.
FTP / SFTP(SSH파일전송프로토콜)/ FTPS / SMTP / TCP/IP & FileZilla FTP / SFTP(SSH파일전송프로토콜)/ FTPS / SMTP / TCP/IP & FileZilla 0. 프로토콜 프로토콜은 네트워크 상에서 컴퓨터나 장치들이 서로 통신하기 위해 사용하는 규칙의 집합( 전자기기가 서로 통신하는데 필요한 절차나 규칙)입니다. 이 규칙은 컴퓨터나 장치들이 데이터를 교환하는 방법, 데이터가 전송되는 시간 및 순서, 오류 발생 시 처리 방법 등을 정의합니다. 프로토콜은 서로 다른 컴퓨터나 장치들이 효율적이고 안정적으로 통신할 수 있도록 보장합니다. 인터넷에서 사용하는 프로토콜에는 HTTP, FTP, SMTP, TCP/IP 등이 있습니다. 예를 들어, HTTP 프로토콜은 웹 브라우저와 웹 서버 간에 데이터를 교환하는 데 사용되며, FTP 프로토콜은 파일 전송을 위한 규칙을 정.. 2023. 5. 9.
Docker 도커란 ?? 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 즉 , 도커는 컨테이너를 관리하는 플랫폼입니다. 도커는 왜 필요한가 도커가 나오게 된 히스토리 하나의 서버에 여러개의 프로그램을 설치하는 것도 문제였는데 서로 사용하는 라이브러리의 버전이 다르거나 동일한 포트를 사용하는 경우는 설치가 굉장히 까다로웠습니다. 차라리 서로 다른 서버에 설치하는게 나았고 그렇게 조립PC는 늘어나고 자원은 낭비됩니다. 시간이 흐르면서 서버 환경이 계속 바뀌는데 CentOS에 익숙해지면 Ubuntu를 써야하는 일이 생기고 AWS에 익숙해지면 Azure를 써야하는 일이 생깁니다. Chef의 cookbook에 익숙해지면 Ansible의 playbook을 작성해야 하는 일이 생깁니다. 야호 DevOps의 등장으로 개발주.. 2023. 4. 21.
하드웨어와 소프트웨어의 차이점/ 컴퓨터 기기/ 운영체제 /제어장치와 연산장치 / 컴파일러와 유틸리티 하드웨어와 소프트웨어의 차이점을 설명할 수 있다. Hardware refers to the physical components of a computer system, including the computer itself, input and output devices, storage devices, and peripherals. Software, on the other hand, refers to the programs and data that run on the computer, including the operating system, applications, utilities, and other programs. 하드웨어는 컴퓨터 자체, 입력 및 출력 장치, 저장 장치, 주변 장치 등 컴퓨터 시스템의 .. 2023. 3. 8.
왜 ASCII 코드는 8비트가 아니라 7비트를 사용할까 ASCII(미국 표준 정보 교환 코드)는 1960년대에 바이너리 코드를 사용하여 문자를 표현하는 방법으로 개발되었습니다. 당시 컴퓨터는 데이터를 저장하고 처리하는 데 8비트 바이트를 사용했지만, ASCII 설계자는 각 문자를 표현하는 데 7비트만 사용하기로 결정했습니다. 이 결정에는 몇 가지 이유가 있습니다. 첫째, 8비트 대신 7비트를 사용하면 더 많은 범위의 문자를 표현할 수 있습니다. 7비트를 사용하면 128개의 서로 다른 문자를 표현할 수 있어 당시 영어에서 사용되는 모든 문자, 숫자, 기호를 포함하기에 충분했습니다. ASCII가 각 문자에 8비트를 사용했다면 256개의 문자를 표현할 수 있었겠지만, 표준의 목적상 많은 문자가 불필요했을 것입니다. 7비트를 사용하는 또 다른 이유는 6비트 문자 코.. 2023. 3. 7.
반응형