본문 바로가기

반응형

DEV/etc...

(4)
[DEV] 데이터 직렬화, 역직렬화 언젠가 데이터 직렬화가 뭔지 알고 있냐는 질문을 받았던 일이 있었는데 그때 대답을 하지 못했던 기억이 나서 이번엔 이 부분을 이야기 해보려고 합니다! 데이터 직렬화(Serialization)와 역직렬화(Deserialization)의 의미 위키 백과에 따르면 직렬화는 객체를 저장 가능한 상태(예를 들어 디스크에 파일 형태 등) 혹은 전송 가능한 상태(네트워크 상의 데이터 스트림 형태)로 변환하는 것을 뜻한다 라고 합니다! 쉽게 말해서 직렬화는 객체를 저장, 전송 할 수 있는 특정한 포맷으로 상태를 바꾸는 과정이라고 볼수 있습니다. 그렇다면 역직렬화는 반대의 개념을 가지고 특정 포맷의 데이터를 객체화 하는것을 말할수 있겠습니다. JavaScript JSON Front-End에서 가장 많이 다루는 자바스크립..
[DEV] 암호화 - 단방향 그리고 양방향 블로그를 운영하면서 가장 조회수가 높은 글이 하나 있는데... React 환경에서 sha256 해시 생성에 대한 내용을 적은 아티클 입니다. 그래서 좀더 알아보고자 하는 생각으로 암호화에 대해 알아보려고 합니다! 암호화? 암호화는 특정 키(key)를 이용해 해독이 불가능한 상태로 변환하는 것을 뜻합니다. 방식에 따라 양방향, 단방향 암호화로 분류가 가능한데 이는 복호화 여부에 따라 나눌수 있습니다. 단방향 암호화 단방향 암호화는 입력된 데이터를 암호화 하여 출력값을 만들지만 해당 데이터를 원래의 값으로 복호화가 불가능한 방식입니다. 예를 들자면 제 블로그 아티클에도 올렸던 sha-256해시를 예시로 볼 수 있는데요 sha-256은 어떠한 데이터든 256비트로 길이의 해시값을 생성하는데 이는 역으로 복호화..
[DEV] 라이브러리와 프레임워크의 차이점 개발을 하다보면 라이브러리, 프레임워크라는 말을 되게 많이 듣기도 하고 또 쓰기도 하는데 정확히 알고 쓰면 좋을것같아서 블로그에 올리기로 했습니다! 라이브러리 라이브러리는 개발자가 개발하는 어플리케이션에서 사용할 수 있는 도구들의 모음이라고 생각하면 좋습니다. 라이브러리는 애플리케이션의 다른 부분과 결합되어 작동하며, 개발자는 라이브러리 사용에 있어 자유로운 선택을 할 수 있으며 개발자는 이것들을 특정 개발 프로세스에 적용해서 쓸수도 있습니다. 대표적인 라이브러리 : React, redux, recoil, Three.js, jQuery 프레임워크 프레임워크는 애플리케이션의 설계도를 제공하는 프로그램의 골격입니다. 프레임워크는 애플리케이션의 기본 바탕을 제공해 주고, 개발자들에게 어느 부분을 수정해서 사용..
[DEV] 절차지향과 객체지향 프로그래밍 1. 절차지향 컴퓨터의 작업 처리방식과 유사한 방식으로 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되면서 프로그램 전체가 유기적인 연결이 될수있도록 하는 프로그래밍 기법이다. 장점 컴퓨터의 작업처리 방식과 비슷하다 실행속도가 빠르다 단점 유지보수가 어렵다. 같은 로직을 이용하더라도 순서가 달라졌을때 같은값을 리턴하지 않을 수 있다. 디버깅이 어렵다 시간이 지나면서 컴퓨터의 하드웨어적 성능이 좋아지고 그럼에 따라 새롭게 제시된 방법이 있는데 이것은 객체지향 프로그래밍이다. 2. 객체지향 캡슐화, 상속, 다형성을 가지고 실제 세계를 모델링 하는 방법이라고 하는데, 쉽게 말해서 객체라는 유닛을 가지고 조립해서 하나의 프로그램을 만드는것이다. 레고를 조립하는거라고 생각하면 쉬울것같다. 캡슐화 캡슐..

반응형