개발상식 7

SOAP과 REST 연동

SOAP과 REST는 다양한 기술로 개발된 어플리케이션 간의 인터넷 데이터 교환 방식이다. 먼저 차이점을 알아보기 전에 SOAP을 알아보자. SOAP이란 SOAP은 애플리케이션 간에 통신할 수 있는 프로토콜이다. 프로토콜이기 때문에 복잡성과 오버헤드를 증가시키는 빌트인 룰을 적용하는데 이로 인해 페이지 로드 시간이 길어질 수 있다는 단점이 있다. 하지만 이러한 빌트인 룰은 빌트인 컴플라이언스를 제공하는데 컴플라이언스 표준에는 보안과 안정적인 데이터베이스 트랜잭션의 기본 속성인 원자성, 일관성, 격리성, 내구성(Atomicity, Consistency, Isolation and Durability, ACID)이 포함되어 기업에서 선호될 수 있다는 장점이 있다. 또한 SOAP은 엄격한 통신 규칙이 있어 아래..

개발상식 2024.01.30

RESTful API란

RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스 API란 애플리케이션 프로그래밍 인터페이스(API)는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의한다. 개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거나 생성한다. 웹 API는 클라이언트와 웹 리소스 사이의 게이트웨이라고 생각할 수 있다. 클라이언트 클라이언트는 웹에서 정보에 액세스하려는 사용자다. 클라이언트는 API를 사용하는 사람이거나 소프트웨어 시스템일 수 있다. 리소스 리소스는 다양한 애플리케이션이 클라이언트에게 제공하는 정보로서 리소스는 이미지, 동영상, 텍스트, 숫자 또는 모든 유형의 데이터일 수 있다. 클라이언트에 리..

개발상식 2024.01.24

Web Storage - Local Storage, Session Storage

HTML5부터 웹 데이터를 client에 저장할 수 있는 storage가 추가되었다. 영구 저장소인 Local Storage와 임시 저장소인 Session Storage로 구성되어 있으며 key-value로 저장되는 기존 웹의 Cookie와 유사한 속성을 가지고 있다. Cookie와 차이점 쿠키는 매번 서버로 전송된다. 쿠키는 매번 request 요청 시 전달되며 Web Storage는 서버로의 전송이 이루어지지 않아 웹 트래픽의 비용을 줄여준다. 용량제한이 있는 Cookie와 달리 제한이 없다. Cookie는 4kb의 용량 제한이 있다. 영구적으로 데이터 저장이 가능하다. 쿠키는 만료일자를 지정하여 언젠간 만료되지만 Web Storage는 만료기간 설정이 없으며 영구적으로 저장 가능하다. 쿠키와 다르게..

개발상식 2021.05.10

대칭키와 비대칭키(공개키)

대칭키 대칭키는 암호화와 복호화가 동일한 암호화 방식이다. 대표적 알고리즘으로 DES, 3DESC, AES 등이 있다. 속도가 빠르다는 장점이 있지만 서로 키를 교환해야 하기 때문에 중간에 탈취될 수 있는 위험성이 있고 암,복호화가 하나의 키로 이루어지기 때문에 탈취될 경우 쉽게 해독당할 수 있다는 단점이 존재한다. 비대칭키 비대칭키는 암호화와 복호화가 다른 암호화 방식으로 공개키와 비밀키가 있다. 공개키는 모두가 접근할 수 있는 키이며 비밀키는 개인이 가지고 있어야 할 키이다. 참고자료 https://velog.io/@taelee/RSA-%EC%95%94%ED%98%B8%EB%8C%80%EC%B9%AD%ED%82%A4-%EB%B9%84%EB%8C%80%EC%B9%AD%ED%82%A4#3-%EA%B2%B..

개발상식 2021.05.06

보일러플레이트(boilerplate)란

프로그래밍에서의 보일러플레이트란 여러군데에서 재사용 되는 반복적인 코드를 말한다. 프로그래밍을 하면서 보일러플레이트 코드를 작성하는 것은 비효율 적이다. 보일러플레이트를 피하는 방법이 있다. - Library 예를들면 spring framwork 에서는 DTO혹은 VO 객체에 매번 getter, setter를 작성하게 되는데 이를 Lombock library로 피할 수 있다. - annotation 마찬가지로 spring framework 에서 annotation을 통해 반복적 코드를 단순하게 표현할 수 있다. - HTML boilerplate HTML5 Boilerplate는 브라우저 간 호환성이있는 HTML5 웹 사이트를 만들기위한 HTML, CSS 및 JavaScript 템플릿 참고 : 1.char..

개발상식 2021.01.28

Hash란

해시(hash)란 단방향 암호화 기법으로 해시함수(해시 알고리즘)를 이용하여 고정된 길이의 암호화된 문자열로 바꿔버리는 것을 의미한다. 해시함수(hash function)는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 이 때 매핑 전 원래 데이터의 값을 키(key), 매핑 후 데이터의 값을 해시값(hash value), 매핑하는 과정을 해싱(hashing)이라고 한다. Collosion이 일어날 경우 해결방법 Chaining 충돌이 일어날 경우 동일한 버킷에 저장하는데 이를 포인터로 리스트 형태로 저장 최악의 경우 한 버킷에 몰리게 되며 시간 복잡도로 따지면 O(n)이다. Open Addressing 그 다음 비어잇는 주소에 저장하는 방식 비어있는 주소를 찾는 방식을 탐사 한다고 하..

개발상식 2020.12.21

Eclipse - failed to create the java virtual machine

최근 macOS를 big sur로 업데이트하면서 이클립스가 갑자기 켜지지 않는 경우가 생겼다. eclipse.ini 설정파일을 변경해줘야하는줄 알았는데 Info.plist를 수정해주어야 했다. 아래와 같이 수정해주면 된다. --추가-- -vm/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/bin/java 경로 : /Users/seongjaejeong/Download/Eclipse.app/Content //Eclipse가 저장된 경로

개발상식 2020.12.15