소프트웨어나 라이브러리, 프로젝트를 개발하다 보면, 버전을 어떻게 입력하고 업데이트를 해야 하나 고민한 경험이 있을 거에요.저 또한, 그런 고민을 하고 있기에 버전에 관한 규칙을 알 수 있는 소프트웨어 버전 규칙에 대해 알아봅시다! 1. 소프트웨어 버전 규칙소프트웨어 버전 규칙은 SemVer를 따릅니다. 이 때, SemVer는 Semantic Versioning의 줄임말로, SW의 호환성 및 변경 사항을 쉽게 파악할 수 있게 해주는 체계에요. 2. 버전 표기버전 표기는 보통 주버전(Major), 부버전(Minor), 수정버전(Patch)의 세 사지 숫자로 구성되며, 특정 조건에 따라 숫자가 증가해요.(ex: 1.5.9) 2-1. 주버전 (Major Version)주버전은 이전 버전과 호환되지 않는 큰 변..
저는 처음 DBMS를 공부할 때, SQLyog로 MySQL을 공부했었어요. 하지만, 지금은 회사에서 DBeaver로 PostgreSQL을 공부하고 있습니다.문득, 그런 생각이 들더군요? MySQL과 PostgreSQL은 거의 비슷한 것 같은데, 둘 중 뭐가 더 좋은 것일까?그 궁금증을 해결하기 위해 둘의 차이점을 알아보았습니다. 1. ACID 준수PostgreSQL은 완전한 ACID 준수를 목표로 설계되었어요. 트랜잭션 처리와 데이터 무결성, 일관성 보장에 중점을 둡니다.또한, MVCC(다중 버전 동시성 제어)를 통해 높은 동시성을 제공해요.※ ACID : DB 트랜잭션의 신뢰성을 보장하는 네 가지 특성(Atomicity(원자성), Consistency(일관성), Isolation(고립성), Durabi..
Vue에서 부모 자식 관계가 아닌 아예 동떨어져 있는 컴포넌트 끼리 통신을 하기 위해선 어떻게 해야 할까요?그럴 때 사용하는 것이 Event Bus입니다! 이것이 무엇인지 바로 알아봅시다. 1. Event BusEvent Bus란? 컴포넌트 간의 통신을 쉽게 하기 위해 사용되는 패턴이에요.이는 중앙 집중식의 이벤트 관리 시스템으로, 다양한 컴포넌트가 서로 데이터를 주고받거나 이벤트를 전송할 수 있도록 해요.그렇기에 부모-자식 관계가 없는 컴포넌트 사이에서 데이터를 전달 or 상호작용을 할 때 유용합니다. 2. Event Bus 생성Event Bus를 구현하기 위해 새 Vue 인스턴스를 생성합니다.src/event-bus.jsimport Vue from 'vue';export const EventBus =..
JavaScript로 URL 파라미터를 가져온 후, 화면에 띄워 봅시다! 1. 화면 구성하기우선 먼저, html파일을 생성한 후, body태그 안에 다음과 같이 작성해 줍시다.getUrlParameter.html 2. 변수 지정그 다음 현재 URL을 불러오기 위해, 다음과 같이 입력해 줍시다.또한, obj라는 배열도 생성해 주세요!const obj = {}; // 파라미터 내용이 들어갈 변수const url = location.href; // 현재 URL 3. URL 파라미터 불러오기다음과 같이 입력하여, URL 파라미터를 불러오는 함수를 만들어 줍시다.paramObject(url)function paramObject(url) { const param = url.split('?')[1]; // ur..
데이터베이스를 관리할 때, 여러분들은 어떤 프로그램을 사용하고 계신가요?저는 원래 MySQL을 자주 사용했었는데, 회사에서는 PostgreSQL을 자주 사용하더군요..그래서 PostgreSQL이 무엇이고, 어떤 특징을 가지고 있는 지 알아봅시다! 1. PostgreSQLPostgreSQL이란? 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)를 뜻해요.데이터베이스를 관리하고 쿼리할 수 있도록 해줍니다.높은 안전성과 확장성을 제공하며, 다양한 기능을 지원하여, 기업용 애플리케이션에서도 많이 사용됩니다. 2. PostgreSQL의 특징그러면 주요 특징은 무엇이 있는 지 알아봅시다. 2-1. 오픈 소스PostgreSQL은 오픈 소스로, 누구나 무료로 다운로드하고 사용할 수 있습니다.또한, 소스 코드가 공..
JavaScript에서 함수 선언문과 함수 표현식이 무엇이고 어떻게 사용하는 것인지 알아봅시다! 1. 함수 선언문(Function Declaration)함수 선언문이란? function 키워드를 사용해 함수를 정의하고, 이를 코드 어디에서나 호출할 수 있도록 하는 방법입니다. 함수 선언문의 구조는 다음과 같아요.function 함수이름(매개변수1, 매개변수2, ...) { // 실행할 코드 return 반환값; // 생략 가능} 주요 특징은 다음과 같습니다. 1-1. 호이스팅(Hoisting)함수 선언문은 코드가 실행되기 전에 함수 선언이 자동으로 상단으로 끌어올려집니다. 따라서 함수 선언문으로 정의된 함수는 코드의 어느 위치에서든 호출할 수 있어요.즉, 다음과 같이 작성해도 function이 먼저 ..
홈페이지에서 페이지 이동 간에 스크롤을 특정 위치에 놓고 싶을 경우, 사용할 수 있는 방법이 있습니다.그것은 바로 scrollBehavior인데요. 이것이 무엇이고, 어떻게 사용하는 지 알아봅시다! 1. scrollBehaivorscrollBehaivor은 페이지 간 스크롤 위치를 제어하는 데 사용되는 옵션입니다. 이를 통해 사용자가 페이지를 이동할 때, 스크롤 동작을 커스터마이즈 할 수 있어요. 2. 기본 사용법사용 방법은 다음과 같아요. (저는 Vue를 사용했습니다.)import Vue from 'vue';import Router from 'vue-router';import Home from './components/Home.vue';import About from './components/About..
오픈 소스 코드를 분석하던 도중, 신기한 코드를 발견했습니다.const { id, name, password, age, address } = state.info 보통 변수 = 값으로 변수를 선언하는 데, 이 코드는 변수명이 여러 개가 존재하고, 값은 하나로 되어 있더군요.이러한 문법을 구조 분해 할당이라고 합니다. 이 문법이 무엇인지 알아보아요! 1. 구조 분해 할당 (Destructuring assignment)구조 분해 할당이란? 배열 or 객체의 속성을 쉽게 수출하여 변수에 할당하는 JavaScript 문법입니다.이를 통해 코드를 간결하고 직관적으로 작성할 수 있어요. 2. 배열에서의 구조 분해 할당배열에서 구조 분해 할당을 사용하면 배열의 요소들을 각각 변수로 쉽게 할당할 수 있어요. exampl..
Vue.js의 생명주기에 대해 자세히 알아봅시다! 1. Vue.js의 생명주기(Lifecycle)Vue.js의 생명주기는 컴포넌트가 생성되고 소멸될 때까지 발생하는 일련의 단계를 의미해요.Vue 컴포넌트는 각 단계마다 특정한 생명주기 훅(Lifecycle hook)을 호출할 수 있으며, 이를 통해 특정 단계에서 로직을 실행하거나 상태를 관리할 수 있어요. 2. Vue.js 생명주기 단계생명주기 단계는 다음 그림과 같이 순서대로 나뉘어 있습니다. 그러면 한 단계씩 알아봅시다. 2-1. beforeCreate (생성 전)beforeCreate는 Vue 인스턴스가 초기화되기 전 상태입니다.아직 데이터 or 메서드 등이 정의되지 않았기 때문에, 이 단계에서 Vue 인스턴스에 접근할 수 없어요.즉, 컴포넌트의..
LDAP이 무엇인지, 어떤 구조를 가졌으며, 어떻게 사용하는 것인지 알아봅시다! 1. LDAP(Lightweight Directory Access Protocol)LDAP이란? 네트워크에서 사용자, 그룹, 장치 등의 디렉토리 데이터를 관리하고 접근하기 위한 표준 프로토콜이에요.주로 중앙 집중화된 인증 시스템에서 사용되며, 기업 환경에서 사용자 정보 or 권한을 관리하는 데 중요한 역할을 합니다.LDAP은 TCP/IP 기반의 프로토콜로, 다양한 플랫폼에서 널리 사용되고 있어요.TCP/IP : 인터넷과 네트워크 통신에서 데이터를 전송하기 위한 프로토콜의 집합(TCP : 신뢰성 있는 데이터 전송, IP : 데이터를 목적지로 전달) 2. 특징LDAP의 주요 특징은 다음과 같아요. 2-1. 디렉터리 구조LDAP은..