본문 바로가기

분류 전체보기

(104)
Cookie HTTP only 옵션과 XSS 사실상 우리는 쿠키 없이는 아무것도 못하는 수준이 되어버렸다 소셜 로그인부터 시작해서 인강 사이트 로그인까지 쿠키설정 안해놓으면 사실상 인터넷을 못한다고 보면된다. 그런 만큼 쿠키 관련해서는 기초적인 보안부터 신경쓰는것이 당연할 지경이다. 그런데 쿠키는 생각보다 굉장히 쉽게 접근이 가능하다 지금 당장 크롬 개발자도구 콘솔에서 document.cookie 를 입력하고 엔터를 쳐보라 쿠키값이 그대로 나오게 된다 이렇게 자바스크립트 코드로 타인의 웹페이지에서 장난질을 치는 행동을 Cross Site Scripting, XSS라고 부른다. 그럼 이 장난질을 못치게 막는 방법들이 있을 것인데 그 대표주자가 'Http Only' 옵션을 주는 것이다. 즉 나쁜사람들이 저렇게 콘솔 열어서 장난치게 하지 말고 http ..
res.json과 res.send 그리고 Etag 1. 조금이라도 더 효율적인 Express를 위하여! 웹개발 공부를 하면서 느끼는 것은, 사실상 경제학의 뿌리가 아닐까 싶기도 하다 한정된 자원을 어떻게 효율적으로 배분할 것인가? 라는 경제학의 근본 명제가 거의 비슷하게 적용된다. '한정된 리소스를 어떻게 효율적으로 사용할 것인가?' 그런 의미에서 res.send와 res.json을 알아보려 한다. 사실 거의 JSON으로 정보를 주고받기 때문에 거의 무지성 수준으로 res.json을 사용하지만, 왜 res.send 대신 사용하는지는 생각해볼 시간이 없었던것 같다. 다음 코드는 res.send의 소스코드이다 깃헙에 올라온 소스코드인데, switch문으로 불리언,넘버,오브젝트 검사를 하면서 마지막이 this.json으로 빠지는 부분이 있다. res.json..
Semantic Versioning 알아보기 게이머들은 패치에 울고 웃는다 특히 롤이나, 히오스(ㅠㅠ)같은게임이 으레 그렇다. 이 패치 하나에 캐릭터들 인기가 좌우된다. 해당 게임인 롤 패치노트에선 보통 버그 수정이나 캐릭터들의 능력치 향상 등이 이루어졌다 (간단한 것들은 13.16 -> 13.17 등으로 라벨링 하는듯 하다) 뭔가 새로운 게임모드가 추가되면 14로 넘어가거나, '시즌'이라는걸 도입하기도 한다. 게임도 소프트웨어의 일종이고, 이러한 패치는 보통 위의 그림처럼 xx.xx등으로 나타내는 경우가 많다. 본인의 경우에는 근 20년전 포트리스, 바람의나라 등부터 계속 봐왔던 패치인데 정작 이 숫자들이 무엇을 의미하는지는 최근에 알게 되었다. 특히 Node에서도 이 버전 관리가 매~우 중요하다 라이브러리 안쓰는 사람 없을거고, 해당 라이브러리..
자바스크립트 클로저(Closure) 알아보기 위키백과에서의 정의는 다음과 같다 컴퓨터 언어에서 클로저(Closure)는 일급 객체 함수(first-class functions)의 개념을 이용하여 스코프(scope)에 묶인 변수를 바인딩 하기 위한 일종의 기술이다 https://ko.wikipedia.org/wiki/%ED%81%B4%EB%A1%9C%EC%A0%80_(%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D) 클로저 (컴퓨터 프로그래밍) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 컴퓨터 언어에서 클로저(Closure)는 일급 객체 함수(first-class functions)의 개념을 이용하여 스코프(scope)에 묶인 변수를 바인딩..
호이스팅과 type of null 버그에 대해 알아보자 1. 호이스팅은 호이스트를 떠올리면 쉽다 저 사진에 있는게 호이스트다(Hoist) 좀 더 쉬운 말로는 크레인이라고 생각하면 되는데, 어쨋건 호이스트는 어떤 물건같은것을 끌어올리는 역할을 하는 기계이다. 자바스크립트의 호이스팅은 자바스크립트 Parser가 하는 일종의 '끌어올리기'를 의미한다 console.log(num); // 호이스팅한 var 선언으로 인해 undefined 출력 var num = 6; 자바스크립트의 웃긴 점은 선언을 하지도 않은 변수를 사용해도 에러가 안난다는 것이다. 해당 예제에서는 var num = 6 이란 선언 + 할당 부분을 끌어올린 것이다. 이때 var의 특성이 나오는데, 일단 var는 undefined로 우선 초기화가 되기 때문에 이 출력 결과가 나오는 것이다. 즉 에러를 ..
16진수와 게임의 마법의 255, 65535 일상생활에서 '스택'(Stack) 은 생각보다 많이 찾아볼수 있다 버거킹에서 '와퍼 스태커'라는걸 파는걸 본 사람이 있을텐데 우리가 아는 그 스택 맞다. 대신 자료들 대신 패티를 선입후출 구조인 스택처럼 쌓아올렸다는 소리다. 이 스택이란 용어는 게임에서도 생각보다 많이 쓰인다 '롤'에서는 보통 나서스란 캐릭이 이 스택을 통해 처음에는 보잘것없는 공격력이 이 스택을 쌓아올린 후에는 상대를 두방컷 시킬만큼 성장하고, 히오스에도 역시 '퀘스트' 제도를 통해 특정 캐릭의 능력치를 계속 향상시킬 수 있다. 이럴때 '와 스택 엄청 많이 쌓았네'라고 보통 얘기한다. 그런데 소위 '실험실'이란 유튜브 컨텐츠에서, 유저들은 이와같은 '스택'의 무한에 도전한다 물론, 보통의 '스택'을 가진 캐릭터들은 게임상에서 '스택에 ..
베트남 하노이 체류 썰 - 4 미딩(My dinh) 즉 한인타운입니다. 제가 거주했던 쭝화가 원래 한인들이 많이 거주하는 동네였는데 지금은 약간 대세가 바뀐(?)거라고 할수 있겠습니다. 물론 쭝화에도 아직 한인사회에서 터줏대감 역할을 하는 한식집 등이 남아있습니다. (고향이발관과 부뚜막을 가봤네요) 미딩 가시면 정말 옛 중국 상해 조계지(?)처럼 한국사람들이 바글바글하고, 여기저기서 한국어가 들리는 신기한 경험을 합니다. 특히 각종 한국음식점들이 입점해 있습니다 온누리약국 등의 약국은 물론이고 각종 골프 관련 용품이나 심지어는 아구찜, 돼지국밥, 붕어빵 까지 팝니다 하도 신기해서 사진을 좀 많이 찍었네요. 보통 여행자들이 챙기는 각종 상비약 베트남에선 안챙겨도 괜찮습니다(...) 저 대학다닐때는 준코 진짜 자주갔었는데.... 아마 여..
베트남 하노이 체류 썰 - 3 아보카도와 망고 혼합 과일주스, 2만 5천동(1300원)입니다. 과일주스, 실컷 드시고 오세요 당연하지만, 동남아는 과일이 굉장히 저렴합니다 그냥 우리가 동네 마트가서 사는 가격의 30%정도 되는 가격이라고 생각하면 됩니다. 심지어 그냥 동네 마트 가서 사도 품질이 평균 이상입니다. 어딜 가서 먹어도 맛있어요 위에 있는 사진은 제가 머물렀던 곳 바로 맞은편에 위치한 트럭에서 파는 과일주스입니다. 혹시나 찾아가시려면, 하노이 '참빛 타워' 뒷편 골목에 있으니 찾아가보시기 바랍니다.(한국 회사에서 세운 건물입니다) 녹즙기같은걸로 주스를 만들어 줍니다. 심지어 하노이에서 유명한 '후지 스파'에서 마사지를 받으면 후기 작성 질문지랑, 계피차와 망고가 제공되는데 여기서 주는 망고가 너무 맛있어서 '아 얼굴에 철판..