본문 바로가기

40대가 30대에게 하는 조언 부끄러움을 무릅쓰고 하는 말, 그리고 삼십대에게 하는 당부는 재미가 없습니다.조언이라는 것은 지극히 개인적인 의견이지, 왕도가 될 수 없죠.각자의 소신껏 사는것이 가장 옳습니다.제가 들려드리는 이야기는 들을만한 부분만 수용하시면 좋겠습니다.1. 어떤 회사를 다닌다고 말하지 말고, 어떤 일을 하는 사람이라고 말할 수 있어야 한다. 그것이 당신의 이름표이다. 2. 버는 돈의 금액으로 커리어를 쌓으려 말고, 존재감에 집중하라. 일하는 분야에 없어서는 안되는 사람을 목표로 해야 한다. 3. 자기 주관과 가치관을 정립하라. 휩쓸려 판단하고 맹목적으로 따라가면, 훗날 원하는 일을 할 수 없다. 4. 사회와 경제 상황, 정치를 모든 결과의 이유로 탓하는 습관을 갖지 마라. 부조리를 비판하고 저항할 수는 있으나, 그것..
URI / URL / URN 1. URI (Uniform Resource Identifier)통합 자원 식별자로, 네트워크에 있는 자원을 나타내는 유일한 주소이다. 네트워크에서 요구되는 기본 조건으로써 프로토콜에 항상 붙어 다닌다.2. URL (Uniform Resource Locator)통합 자원 지시자로, 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약이다. 리소스가 정확히 어디에 있고 어떻게 접근할 수 있는지 분명하게 알려준다.3. URN (Uniform Resource Name)통합 자원 이름으로 URN은 콘텐츠를 이루는 한 리소스에 대해, 그 리소스의 위치에 영향 받지 않는 유일무이한 이름 역할을 한다. 리소스의 이름을 변하지 않게 유지하는 한, 여러 종류의 프로토콜로 접근해도 문제없다.
SOLID 원칙 객체지향 디자인 원리들을 사용하면 좀 더 유지보수하기 쉽고, 유연하고, 확장이 쉬운 소프트웨어를 만들 수 있다. 이 원리들은 그 크기를 대비해 보면 패턴보다 훨씬 작지만, 표준화 작업에서부터 아키텍처 설계에 이르기까지 다양하게 적용되는 원칙이다.① Single Responsibility Principle : 단일 책임의 원칙(SRP)한 클래스에 하나의 책임만 가진다.여기서 책임이란 '기능' 정도로 생각하면 된다. 설계를 잘한 프로그램은 기본적으로 새로운 요구사항과 프로그램 변경에 영향을 적게 받는다. 즉, 응집도는 높지만 결합도는 낮은 프로그램이다. 만약 한 클래스가 갖는 책임이 많아지면 클래스 내부의 함수끼리 결합도가 높아져서 유지보수가 어려워질 수 있다. 그래서 책임을 분산시킬 필요가 있다. ② Op..
[번역] 사이드 프로젝트는 왜 중요한가? 트렐로, 크레이그 리스트, 언스플래쉬, 트위터, 구글 등등. 세계적으로 성공한 회사들은 무슨 공통점을 가지고 있을까? 바로 대부분 의미없다고 생각하는 '사이드 프로젝트'에서 그들의 아이디어가 시작되었다는 것이다.사이드 프로젝트는 다양한 목적과 형태로 제공된다. 어떤 사람들은 좋은 제품을 만들고 성공적인 회사를 세우기 위해 사이드 프로젝트를 시작한다. 하지만 그것 외에도 사이드 프로젝트를 하는 중요한 근거가 있다.배움에 고삐를 당길 수 있다.새로운 기술을 익히고 숙달하는데 힘들 수 있지만, 끈기와 동기부여로 성취할 수 있는 것은 많다. 코딩을 배우는 것처럼 어렵고 좌절하거나 시간이 오래 걸릴 수도 있다. 결국, 포기하지 않고 꾸준히 경험을 쌓는 것이 중요하다.물론 수학이나 논리적인 사고, 컴퓨터 공학 같은..
OOP(Object-Oriented Programming)이란? 1. OOP?객체지향 프로그래밍(Object-Oriented Programming)의 줄임말로, 프로그램을 어떻게 설계해야 하는지에 대한 일종의 개념이자 방법론이다. 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라 수많은 '객체'라는 기본 단위로 나누고 이 객체들의 상호작용으로 서술하는 방식이다.2. OOP의 특성① 추상화(Abstraction)공통의 속성이나 기능을 묶어 이름을 붙이는 것으로, 사물들의 공통된 특징을 파악해 인식의 대상으로 삼는 행위를 말한다. 각 개체의 구체적인 개념보다 추상적인 개념에 의존해야 설계를 유연하게 변경할 수 있다.강아지, 고양이의 공통된 특징은 '동물'이라는 집합으로 다룬다. '강아지나 고양이 고유의 울음소리(구체적인 개념)'이 아니라 '울음소리(추상적인 개..
[대화의 신] 래리 킹에게 배우는 말하기의 모든 것 스스로 말을 잘하지 못한다고 생각해도, 당신은 잘할 수 있다.스스로 말을 잘한다고 생각해도, 지금보다 말을 더 잘할 수 있다.어떤 기술이 개발되든지, '말하지 않고는 살 수 없다'는 것이 변함없는 진리다. -p226인생을 살아가면서 조심해야 하는 것이 있는데, 대표적인 것이 '말'이다. 말 한마디에 천냥 빚도 갚는다는 말이 있듯이 말의 힘은 엄청나다.상대방에게 내가 하고 싶은 말을 듣기 쉽게 전달하는 것. 정말 쉽지 않다. 개발자라는 직업 특성상 타 직군이나 클라이언트와 소통해야 하기 때문에 커뮤니케이션 능력은 정말 중요하다.SNS의 발달로 유행어와 신조어가 넘쳐나는 시대다. 그것들을 모르면 대화를 하기 어려울 정도다! 그래서 유행어나 신조어를 찾아볼 때가 가끔 있는데, 이 책에서는 오히려 유행어나 과장..
Cookie vs Session vs Local Storage 간략 비교 1. Cookie후속 요청으로 서버로 다시 보내야하는 데이터를 저장한다. 만료는 유형에 따라 다르며 만료 기간은 서버 측 또는 클라이언트 측 (일반적으로 서버 측)에서 설정할 수 있다.쿠키는 주로 서버 측에서 읽기(클라이언트 측에서 읽을 수도 있음) 위한 것이며, Local Storage 및 Session Storage는 클라이언트 측에서만 읽을 수 있다.크기는 4KB보다 작아야 한다.해당 쿠키에 대해 httpOnly 플래그를 true로 설정하여 쿠키를 안전하게 만들 수 있다. 이렇게하면 쿠키에 대한 클라이언트 측 액세스가 차단된다.2. Local Storage만료일이 없는 데이터를 저장하고 JavaScript를 통해서만 지워진다.저장 용량 한도는 3가지 중에서 가장 높다.3. Session Storag..
REST와 RESTful API 1. REST (REpresentational Safe Transfer)?웹에 존재하는 모든 리소스(이미지, 동영상, DB)에 고유한 URI를 부여해 활용하는 것으로, 리소스를 정의하고 리소스에 대한 주소를 지정하는 방법론을 의미한다.2. REST의 탄생REST는 웹의 창시자(HTTP) 중의 한 사람인 Roy Fielding의 2000년 논문에 의해서 소개되었다. 현재의 아키텍쳐가 웹의 본래 설계의 우수성을 많이 사용하지 못하고 있다고 판단하면서 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐를 소개하면서 REST가 대두되었다.REST가 대두되기 시작한 큰 이유는 '애플리케이션 분리 및 통합', '다양한 클라이언트의 등장'이다. 애플리케이션의 복잡도가 증가하면서 애플리케이션을 어떻게 분리하고..