본문 바로가기

전체 글34

가상머신 가상머신은 무엇인가?가상머신을 알기 전에 이전에 사용하던 전통적 배포방식을 살펴보자 전통적 배포방식전통적 배포방식은 물리적인 컴퓨터 한 대에 하나의 OS를 깔고 여러 가지 프로그램을 설치하는 방식이다. 계정을 나눠 여러 명의 사용자가 이용할 수 있도록 할 수 있지만 어떤 프로그램을 설치했을 때 다른 앱에 영향을 미친다. 예를 들어 현재 우리의 컴퓨터에는 CPU, RAM, SSD가 존재하고 그 위에 OS가 올라가 있다. 그리고 그 위에 갖가지 프로그램들(lol, excel, word....)이 설치되어 사용되고 있다. 전통적인 배포방식은 이러한 컴퓨터 한대 위에서 여러 명이 사용할 수 있게 하기 위해서 계정을 나눠서 관리하게 했었다. 그러나 OS는 1개이기 때문에 무언가를 설치하면 독립적으로 나눠서 관리할.. 2024. 5. 12.
API API 란?API (Application Programming Interface)는 둘 이상의 소프트웨어가 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층을 의미한다. API는 프로토콜, 메서드, 데이터타입 등이 정의된 중계계층이다.Interface인터페이스는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우 접점이나 경계면이다. 요청과 응답을 사용하여 소프트웨어가 통신하는 방법을 정의하고, API 문서에 개발자가 정의한 요청과 응답을 구성하는 방법을 기술한다. 이를 통해 해당 컴퓨터의 내부서버가 어떻게 구현되어 있는지 상관없이 인터페이스를 통해 통신 등이 가능하다.  예를 들어 우리는 네이버웹툰에 서버, DB 등... 어떻게 구성되어 있는지 아는 게 없다 그러나 인터페이스를 .. 2024. 5. 11.
XML XML 이란?XML(Extensible Markup Language)은 마크업 형태를 쓰는 데이터 교환 형식이다. JSON과 같은 역할을 한다.마크업형태마크업(markup)은 태그 등을 이용하여 문서나 데이터의 구조를 나타내는 방법이다.(속성부여 가능) 아이유 하루끝 아이유 좋은날  XML 구조XML 데이터는 다음과 같이 데이터를 표현한다.프롤로그: 버전, 인코딩루트요소(단 하나만)하위 요소들 // 프롤로그 // 루트요소 // 하위요소들 아이유 하루끝  HTML과 XML의 차이 태그HTML에서는 미리 정의된 태그가 있다. 반면 XML은 미리 정해진 태그가 없어 사용자가 직접 고유한 태그를 만들고 정의할 수 있다.대/소문자 구분HTML은 대소문자.. 2024. 5. 10.
JSON JSON 이란?JSON(Javascript Object Notation)은 Javascript 객체 문법으로 구조화된 데이터 교환 형식이다. 데이터를 쉽게 교환하고 저장하기 위해 사용하는 대표적인 텍스트 기반의 데이터 교환 양식이라고 볼 수 있다. 여러 언어가 데이터를 교환할 때에 JSON이라는 형식을 사용하며, 객체문법 말고도 배열, 문자열도 표현할 수 있다. JSON 구조json 데이터는 key : value 형식의 데이터를 중괄호({})로 둘러쌓아 표현한다.{ key : value }  아래의 데이터 key값은 "name"이고 value값은 "JSON"이다. { "name": "JSON" }JSON 데이터는 쉼표(,)를 구분자로 사용하여 나열한다.{ "name": "JSON", "age".. 2024. 5. 9.
Spring AOP, Custom Annotation을 이용한 권한 검사 개요스프링을 이용해 개발하며 언제든지 사용할 수 있는 나만의 레거시 코드를 작성해 두어야겠다는 생각이 들어 개발하던 도중 적용했던 권한검사에 관련된 부분을 적어두고자 한다. 다른 많은 방법들이 있겠지만 AOP와 Annotation을 이용한 방법이 개발 도중 만났던 문제점과 현재 회사에서 제시했던 AOP에 대한 문제점을 커버하는 해결책이라 생각하여 적용해 보았다. AOP 사용 시 문제점현재 근무하고 있는 회사에서는 AOP를 사용하지 않는다. 한눈에 코드의 흐름이 들어오지 않기 때문이다. 또한 나만의 레거시 코드를 위해 만들던 프로젝트에서는 일부 메서드에만 권한을 적용하고 싶었으나 순수 AOP만으로는 메서드 별로 적용할 수 없었다. 정리하자면 다음과 같다.복잡성: 코드의 모듈화가 향상되지만, 여러 곳에서 적.. 2024. 5. 8.
MCMS 웹 고도화 프로젝트 후기 개요 목적: mcms 사용자 및 관리자 사이트 고도화 수행 기간: 2023년 6월 17일 ~ 2023년 12월 14일 수행 인원: 풀스택 2 기술 스택: vue.js, jsp, javascript, springframework, java, mybatis, mariaDB 협업 툴: svn CI/CD: jenkins 기존 운영 중이던 mcms 프로젝트를 고도화하는 작업을 담당하게 되었고 사수로써 참여하게 되었다. 사수로 참여하기에는 부족한 점이 많았지만 팀장님께서 맡겨주셨고, 부사수 때와는 다르게 일에 대한 책임감과 부담감을 알게 되며 인간적으로 한층 더 성장할 수 있는 감사한 시간이었다. MCMS란? mcms는 Media Contents Management System의 약자로 미디어 콘텐츠(기록물)를 관.. 2024. 1. 25.