전체 글 44

한 끝 차이 - 마치 자전거타기

며칠 전, 재미난 장면을 보게 되어 사진을 한 장 찍었다. 이 안내판은 '금연권장지역'일까? '흡연권장지역'일까? 하필 구멍도 저기에 뚫려서 배로 더 헷갈린다. 교회에서 세운 안내판이니 당연히 '금연권장지역'이다. vs 교회에 담배연기가 들어오니 여기서 필 수 있도록 지정해둔 '흡연권장지역'이다. 사진으로 이 답을 알 수 있을까? - 우리는 가끔 상황에 맞춰 스스로 결론을 내리곤 한다. 허나 본인의 판단이 틀릴 경우 "아님 말고"를 시전하는 경우가 종종 보인다. 아니면 목소리를 키우던가. 사람들이 그러는 이유는 사람이기 때문이 아니겠나. 남들 앞에서 창피 당하고 싶지 않고, 틀렸다고 지적 당하고 싶지 않은 방어기제가 발생하는 거겠지. 나는 그래서 빠르게 '인정'하는 습관을 들였다. "그래, 내가 틀렸구나..

일상 2024.03.26

구름 - 나는 어디로 흘러가고 있을까?

매일 아침 눈을 뜨면, 자기 전 눈앞을 가득 채웠던 어둠은 온데간데없다. 밤새 뒤척이며 그리던 나만의 세상의 그림들은, 새들이 지저귀는 소리에 나와 가장 먼 곳으로 숨어버린 듯하다. 몸을 일으켜 자리에 앉을 때면 오롯이 감정들만 남아 심장 한쪽에서 미지근한 온도로 시큰거리고 있다. 해가 중천에 떠있는 시간이 되어서야 노트북과 책 한 권을 들고 신발을 신었다. 어디로 가야 할지 정하지 않은 채 버스정류장 앞에 섰다. 의자에 앉아 하늘을 보니 밝기도 하고 어둡기도 한 파란 도화지가 펼쳐져 있는 듯하다. 어디로 향하는지 모르는 구름들은 하나같이 줄지어서 흘러가고 있었다. 나는 지금 어디로 흘러가고 있을까? 도망치고 싶어도 어디로 도망쳐야 할지 몰라서 방황하고 있다. 도피하고 싶어도, 뭐로부터 도피하는지 모르겠..

일상 2024.03.21

긍정적으로 믿기

내 삶에 있어 굉장히 큰 선택을 했다. 이게 새로운 출발점, 내 인생의 터닝 포인트 혹은 낭떠러지가 될지 모르지만 변화를 만들어 낸 건 확실하다. 아득한 두려움과 두근거림이 한데 뭉쳐, 어느새 코 앞으로 다가와 있는 듯 하다. 내가 한 마리의 새라면, 알을 깨기 전 이런 기분이지 않을까. 그러나 그 세상은 알을 깨지 않으면 절대 알 수 없다. 이미 떨리는 두 손을 주체할 수 없지만, 나는 내 알을 깨기 위해 망치를 집어 들어야만 한다. 그냥 긍정적으로 생각하는 수 밖에 없다. 그냥 긍정적으로 바라는 수 밖에 없다. 내일은 더 좋을 수 밖에 없을거야.

일상 2024.03.11

2024년, 새해

오랜만에 들어와서 적은 글을 확인해보았다. 2022년 8월. 딱 입사하기 전까지 글을 적고 한 글자도 적지 않은 초라한 블로그를 보니, 과연 잘하고 있는가 하는 생각이 든다. (취업용 블로그였다.- 인정) 2023년 8월, 광복절 즈음 링크드인에 "잘 하고 있는가?" 라는 글을 적었다. https://www.linkedin.com/posts/%EC%83%81%ED%98%B8-%EB%B0%95-443656243_%ED%9A%8C%EA%B3%A0-%EC%9E%98-%ED%95%98%EA%B3%A0-%EC%9E%88%EB%8A%94%EA%B0%80-%EB%8A%98-%EB%A8%B8%EB%A6%AC-%EC%86%8D%EC%97%90%EC%84%9C-%EC%A7%80%EC%9B%8C%EC%A7%80%EC%A7%..

일상 2024.01.08

this가 뭐야?

this this는 JavaScript 예약어로, 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수(self-reference variable)이다. 대부분 this의 값은 함수를 호출한 방법에 의해 결정된다. 실행중에는 할당으로 설정할 수 없고 함수를 호출할 때 마다 다를 수 있다. ES5는 함수를 어떻게 호출했는지 상관하지 않고 this 값을 설정할 수 있는 bind 메서드를 도입했고, 스스로의 this 바인딩을 제공하지 않는 화살표 함수를 추가했다. Binding 프로그램의 어떤 기본 단위가 가질 수 있는 구성요소의 구체적인 값, 성격을 확정하는 것이다. 쉽게 식별자와 값을 연결하는 과정을 의미하며, this바인딩은 this와 this가 가리킬 객체를 바인딩하는 것이다. 전역..

null, undefined, undeclaered, NaN 이 뭐야?

자바스크립트에서 헷갈릴 수 있는 정의들을 정리해보자. null 빈 값 null 이라는 빈 값을 할당했을 때, 생기는 타입이다. var test; test = null; // 선언한 변수 test에 null값을 할당 console.log(test); // null console.log(typeof test); // object undefined 정의되지 않음 var 선언문의 경우, 호이스팅이 되었을 때 변수 선언과 초기화가 동시에 일어나기 때문에, 변수가 undefined 된다. (타입 결정 안됨) console.log(test); // undefined console.log(typeof test); // undefined var test; undeclared 선언되지 않음 let, const 선언문의 경..

브라우저 저장소가 뭐야? (feat. 쿠키, 세션, jwt)

브라우저 저장소 (Web Storage) Web Storage란 HTML5에서 추가된 해당 도메인과 관련된 특정 데이터를 서버가 아니라 클라이언트 웹브라우저에 저장할 수 있도록 제공하는 기능을 의미한다. 이는 쿠키(Cookie)와 비슷한 기능이다. 브라우저 저장소는 키/값 쌍으로 데이터를 저장하고, 키를 기반으로 데이터를 조회하는 패턴이다. 영구저장소(LocalStorage)와 임시저장소(SessionStorage)를 따로 두어 데이터의 지속성을 구분할 수 있어 응용 환경에 맞는 선택이 가능하다. 또, 쿠키와 마찬가지로 사이트의 도메인 단위로 접근이 제한된다. A 도메인에서 저장한 데이터는 B 도메인에서 조회할 수 없다. 이는 데이터의 보안 측면에서 당연하다. LocalStorage 로컬 스토리지는 저장..

절차 지향 프로그래밍 & 객체 지향 프로그래밍이 뭐야?

Java, Javascript 등 언어들의 개념을 찾아보면 객체 지향 언어라는 단어를 볼 수 있다. 객체 지향 이란 무엇이며, 이 전에는 어떤 언어의 형태였는지를 알아보자. 절차 지향 프로그래밍 (Procedural Programming) 절차 지향 프로그래밍이란 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되면 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법이다. 대표적인 절차지향 언어에는 C언어가 있다. 자동차 제조를 예를 들면, 자동차는 엔진, 차체, 핸들, 의자, 바퀴 순으로 차례대로 만들어져야 한다. 서로 분리되서도 안 되고, 순서가 틀려도 안된다. 하지만 핸들이 고장났다고해서 엔진부터 바퀴까지 전부 수리해야한다면 얼마나 비효율적인가? 예전에는 하드웨어와 소프트웨어의 개..

JavaScript가 뭐야? (feat. 프로토타입, 싱글 스레드, 비동기적 코딩)

웹 페이지는 3가지 언어를 이용해 작성된다. HTML : 웹 페이지의 구조와 내용 CSS : 웹 페이지의 모양, 디자인 JavaScript : 웹 페이지의 동적 변경과 응용프로그램 작성 JavaScript 사용을 함에 있어 그 본질을 조금 더 이해하고자 이 글을 작성한다. 자바스크립트는 프로토타입 기반 언어이며, 싱글 스레드이다. 프로토타입 기반 언어란 무엇일까? 싱글 스레드란 뭘 의미하는 걸까? 자바스크립트란 프로토타입 기반 언어와 싱글 스레드 라는 단어를 알기 전에 자바스크립트의 기본적인 개념부터 알고 넘어가려한다. 자바스크립트 코드 위치 HTML 태그의 이벤트 리스너 속성 자바스크립트 파일 URL 부분 자바스크립트의 용도 자바스크립트의 일반적인 용도는 웹페이지에 기능을 더해 HTML 웹 페이지를 동..

프로그래밍 언어가 뭐야?

다양한 프로그래밍 언어가 존재함에 따라 각기 다른 분야에서 다른 언어들이 사용되고 있다. 어떤 언어들이 존재하고, 그 언어들이 가진 장단점에 따라 어디서 사용되는지 알고 있어야 한다고 생각이 들어 정리해보았다. 프로그래밍 언어 (Programming Language) 컴퓨터 시스템을 구동시키는 소프트웨어를 작동시키기 위한 형식 언어를 의미한다. 쉽게 말하면, 컴퓨터를 이용하기 위한 언어이다. 이는 저급 언어와 고급 언어로 나뉘는데, 우리가 흔히 볼 수 있는 자바스크립트나 파이썬 등은 고급 언어에 해당한다. 고급 언어일수록 사람이 사용하는 언어와 가깝다. 저급 프로그래밍 언어 & 로우 레벨 프로그래밍 언어 (low-lever programming language) 컴퓨터가 이해하기 쉽게 작성된 프로그래밍 ..