본문 바로가기

전체 글

(64)
[JavaScript] 유저의 Local Time 과 UTC Time 구하기 서버 - 클라이언트 환경에서의 타임존 유저의 채팅 환경을 구현하는 개발을 진행하던 중, 유저가 메시지를 입력한 시간을 저장하고 유저의 타임존에 맞는 시간 정보를 보여주어야 했습니다. 클라이언트 환경에서 유저가 메시지를 입력한 시간을 서버의 DB에 저장하고 유저가 채팅방에 다시 들어왔을 때 메시지들을 저장된 시간에 맞게 보여주어야 했습니다. 이때 유의해야 할 점은 유저가 서로 다른 타임존을 가지고 있다는 것입니다. 그렇기 때문에 서버는 다양한 타임존의 클라이언트 환경을 지원하기 위해서 타임존에 영향을 받지 않는 절대값을 가지고 있어야 합니다. UTC (Universal Time Coordinated) 소프트웨어에서 사용하는 세계 표준 시간으로 GMT 또는 UTC 를 사용하는데 원래는 GMT(Greenwic..
TIL no.63 - Object 객체 : JavaScript ` YOU DON'T KNOW JS ` 의 Chapter 3 객체 를 읽으며 배운 내용들을 이해하기 위해 정리한 글입니다. 이전 챕터에서 this 가 원하는 객체를 가리키게 하기 위해서 헷갈리는 개념임에도 불구하고 이해하기 위해 노력해보았습니다. 그래서 객체는 정확히 무엇일까요 ? 자바스크립트를 처음 배울 때도 그렇고 지금도 그렇고 인지하게 되는 사실 하나는 자바스크립트에서 객체를 빼면 시체라는 것입니다. 그만큼 중요하고 어렵기도 한 개념이고 알면 알수록 더 깊어지는 기분이 드는 것 같습니다. 자바스크립트는 객체 지향 프로그래밍 언어입니다. 대표적으로 JAVA 에서는 이러한 객체지향 언어를 구현하기 위해서 클래스 기반으로 객체의 자료구조와 기능을 정의하고 생성자를 통해 인스턴스를 생성합니다. 클래스가 없..
TIL no.62 - 실행 컨텍스트 : JavaScript 실행 컨텍스트에 대해 정리하기 전에 함수의 범위, 스코프에 대해 간략하게 정리하겠습니다. 자바스크립트에서는 전역 변수와 지역 변수를 사용합니다. 전역 변수는 코드의 혼란을 야기하기 때문에 최대한 지양하지만 스코프를 설명하기 위해 두 개념이 필요합니다. 스코프 함수 스코프 때문에 지역변수는 전역변수에 영향을 끼칠 수 없습니다. 지역 변수는 오직 스코프 라는 단어 그 자체의 의미로 보아 해당 범위 안에서만 사용할 수 있습니다. 자바스크립트는 변수의 범위를 호출한 함수의 지역 스코프부터 전역 변수들이 있는 전역 스코프까지 점차 넓혀가며 찾게 됩니다. 이렇게 지역 스코프에서 찾지 못한 변수를 바깥 스코프, 그리고 전역 스코프까지 옮겨가며 찾는 것을 스코프 체인이라고 부릅니다. 을 실행 컨텍스트로 알아보도록 하겠..
TIL no.61 - 03 전송계층 제 3장 전송 계층에서의 키워드는 TCP, UDP, 신뢰성 있는 데이터 구조의 원리, 혼잡제어의 원리 를 다룬다. 강의와 책 참고 자료를 통해 공부 후 이 키워드에 대해 잘 이해하게 되기를 바란다. (하위로 흐름) APP 메시지 TCP 데이터의 세그먼트로 들어온다 Network 패킷안에 세그먼트가 데이터로 들어간다. Link 전송 단위인 Frame 의 데이터로 들어간다. 트랜스포트 계층 프로토콜 서로 다른 호스트에서 동작하는 애플리케이션 프로세스 간의 논리적 통신을 제공한다. 애플리케이션 계층 프로토콜은 호스트 간의 논리적 통신을 제공한다는 점에서 차이가 있다. 트랜스포트 계층은 하위 네트워크 프로토콜이 비신뢰적일 때, 즉 네트워크 프로토콜이 패킷을 분실하거나 손상하거나 복사본을 만들 때에도..
TIL no.60 - 02 애플리케이션 계층 애플리케이션의 구조 선택에 있어서 애플리케이션의 개발자는 현대 네트워크 애플리케이션에 사용되는 두 가지 우수한 구조의 클라이언트 - 서버 구조 혹은 P2P 구조 중의 하나로 작성할 것이다. 클라이언트 - 서버 구조 항상 켜져 있는 서버는 클라이언트라고 불리는 많은 호스트의 요청을 받는다. 서버가 고정 IP 주소라는 잘 알려진 주소를 갖고 있다. 때때로 클라이언트 - 서버 애플리케이션에서 하나의 서버 호스트가 자신의 클라이언트로부터의 모든 요청에 응답하는 것은 불가능하다. 만약 인기 있는 새로운 웹 사이트가 하나의 서버로만 요청을 처리한다면 급속히 서버가 제대로 작동하지 못할 수 있다. 이러한 이유로 많은 수의 호스트를 갖춘 데이터 센터가 강력한 가상의 서버를 연결하는 데 흔히 사용된다. P2P 구조 항상..
TIL no.59 - 01 컴퓨터 네트워크와 인터넷 비전공자로서 컴퓨터 공학에 대한 기초적인 지식 없이 코딩을 배우게 되었고 프론트엔드 개발자로서 취업을 했지만, 기본기가 탄탄한, 잘 아는 개발자가 되기 위해서는 컴퓨터에 대한 이해가 꼭 필요할 것 같았습니다. 컴퓨터로 인터넷과 연결된 사물들로 소통을 연결하는 일을 하면서 컴퓨터 네트워크에 대한 이해와 인터넷의 원리에 대해 이해가 꼭 필요하다고 생각하여 공부를 시작하게 되었습니다. 이 책을 배우는 최종 목표는 컴퓨터 네트워크에 대해서 '어떻게, 무엇을, 왜' 를 깊이 이해하는 것입니다. 정리하는 내용들은 강의와 전공 서적을 공부한 내용을 바탕으로 작성했습니다. 참고 자료는 아래에 적어두었습니다. 라우터 : 메시지를 전달받아서 목적지로 전달해주는 아이 무선 링크 : lte, wifi ... 인터넷 , 전 세..
TIL no.58 - this 왜 헷갈릴까? : JavaScript javascript 에 대한 이해를 높이기 위해 `You don't know JS` 책을 참고하여 이해를 돕기 위해 공부한 내용을 정리했습니다. 이전에 `코어 자바스크립트` 책을 읽으며 this 에 대해서 이해하고 구글링을 더해 헷갈리는 부분을 확실히 하려고 했었습니다. 다시 이 책을 통해 this 에 대한 개념을 공부하는데 이전에 공부했던 부분을 복습하는 차원에서 더 확실하고 명료하게 정리할 수 있을 것 같습니다. this 는 자바스크립트에서 가장 헷갈리는 키워드 중 하나입니다. 항상 같은 곳을 가리킨다면 헷갈릴 이유도 없겠지만 this 는 여러 방법에 따라 다른 곳을 가리킵니다. 이전에 this 에 대해 블로그를 작성했었는데 그 글에서도 다루었듯이 많은 사람들이 this 를 단어 자체의 의미로 해석해..
내가 짜고 싶은 코드 나는 어떠한 분야에 대해 알고 싶을 때, 그에 대한 정보가 전혀 없더라도 그 분야에서 유명한? 한 번쯤 읽어보았어야 할 법한 책을 먼저 산다. 그 책을 가지고 있는 것만으로도 그 분야에 발을 들인 것과 같은 기분과 더 잘 해내고 싶은 의지가 생기기 때문이다. 처음 프로그래밍에 대해서 알아보면서 산 책이 바로 이 클린 코드였는데 , 프로그래밍 코드가 어떻게 생긴지도 모르는 상태로 책을 펼쳤고 당연하게도 몇 분만에 바로 덮었다. 그렇게 책꽂이에 계속 꽂혀있다가 이제야 제대로 펼쳐보았는데 그냥 쓰여져있었던 글씨들이 이제 나에게 와닿는 조언과 격언들로 다가왔다. 당연한 말들이 쓰여져 있기도 했지만 그 당연한 것들을 생각에서 그치지 않고 행동으로 끌어내질 수 있도록 하는 것이 책을 읽는 이유 중 하나가 아닐까 싶..