분류 전체보기

· 😄생각
어떤 선생님이든 질문하는 학생을 좋아할 수밖에 없다. 질문한다는 건 학생이 수업을 열심히 들었다는 증거고, 동시에 수업에 참여한다는 반증이니까. 그래서 많은 선생님들은 학생들에게 늘 질문하라 말한다. 그럼 어떻게 질문을 이끌어낼 수 있을까. 답은 맨 처음 질문의 포문을 여는 단 한 명에게 걸려있다. 왜 질문하지 않는 분위기가 만들어지나 질문하지 않는 분위기는 크게 두 가지 요소가 중첩될 때 형성된다. 꽉 찬 오디오와 충분한 정보제공. 꽉 찬 오디오는 청자 입장에서 생각할 틈을 주지 않는다. 생각은 별다른 외부로부터의 자극이 들어오지 않을 때 뉴런 간 연결이 활성화되어 정보에 대한 심층적인 처리로 이루어진다. 만일 우리가 자극을 지속적으로 받는다면 그 자극을 처리하느라 자극에 대한 분석을 의식적으로 처리할..
프로그래밍 언어, Javascript. 특정한 소프트웨어를 만드는 데 있어 언어의 제약은 없지만, 개발 목적에 따라 특화된 언어는 존재한다. C#은 윈도우즈 개발, Java는 쉬운 코드와 안정성 범용성, Python은 ML. JavaScript는 웹이다. 현대의 산업은 웹에서 시작해, 웹으로 끝난다. 그만큼 인터넷과 웹의 범위는 상당하고 또 중요하다. 대부분의 전자상거래가 인터넷으로 이루어진 만큼, 개발자는 사용자에게 필요한 기능을 빠르고 안정적으로 제공해야 한다. 개발자가 선택할 수 있는 플랫폼은 두 가지다. 웹이냐 앱이냐. 앱 개발은 개발 비용이나 복잡성만큼이나, 빠르게 개발하기는 어렵다. 배포도 웹만큼 간편하지 않다. 심지어 플랫폼 업자에게 심사까지 받아야 한다. 반면 웹 개발에는 제한요소가 없다...
2022년의 기술회고는 여기로 https://devent.tistory.com/192 2022년을 마무리하며. (기술편) 2022년을 돌아보면 할 말이 많다. 그래서 기술 관련 회고와 개인 회고로 카테고리를 나누기로 했다. 아직 눈도 내리지 않은 따뜻한(?) 11월이지만 연말에 올릴 예정인 개인 회고보다 일찍 작성해본 devent.tistory.com 여러 번의 퇴고 끝에 무려 한 달이라는 시간을 끌었다. 조금 늦은 감이 없지 않아 있지만, 퇴고의 결과라는 점에서 후회스럽지는 않다. (다음 회고는 10월부터 준비해 놓아야겠다.) 이번 한 해는 기술적 도전을 제외하곤 단조롭게 살아왔던 터라 쓸 말이 그렇게 많지 않았다. 그저 22년은 작년에 비해 진로에 대한 걱정을 덜었다는 점에서 만족스럽게 지냈다고 생각..
· 😄생각
세상에는 하기 싫은 것도 해야 한다는 식의 논리가 만연하다. 다수가 하고 있는 일을 반드시 따라가야 편하고, 네가 하고 싶은걸 하며 살 수 있다는 맥락에서다. 만일 그러지 않는다면 네가 이루고자 하는 목표를 이루지 못하고 꿈에 사로잡혀 현실을 직시하지 못하게 된다고 불안 아닌 불안감을 증폭시키려 든다. 하지만 이런 식의 논리로는 세상이 말하는 필연적인 행위에 당위성을 부여하기 어렵다. 하기 싫은걸 해야, 하고 싶은걸 할 수 있다는 논리는 동일 시간대에서 적용하면 모순이기 때문이다. 왜 하기 싫은 일을 해야 한다고 주장하는가 논리를 반박하기 전에 왜 사람들은 하기 싫은 일을 해야 한다고 말할까. 그 답은 질서에 있다. 사람이란 동물은 질서를 좋아한다. 본래 무질서한 세상에서 나름의 질서를 확립하고 인류의 ..
2022년을 돌아보면 할 말이 많다. 그래서 기술 관련 회고와 개인 회고로 카테고리를 나누기로 했다. 아직 눈도 내리지 않은 따뜻한(?) 11월이지만 연말에 올릴 예정인 개인 회고보다 일찍 작성해본다. 보통 회고의 경우 과거형으로만 쓰는 경우가 많은데, 이번엔 그렇게 쓰지 않았다. 과거에 있었던 이야기를 한 번 더 엮어보며 생생하게 전달하고자 했다. 경험했던 일을 과거 회상형으로 풀어써도 좋지만 이미 지나간 경험에 현재 생각을 첨가하는 방식으로 작성했다. 보다 객관적으로 분석하기 위함이었다. 참고로 경험은 과거형으로, 개인적인 생각은 블록으로 묶은 현재형으로 썼다. 기술 회고 카테고리 1. 나 2. 도전 (BoB 면접 썰) 3. 오픈소스 4. 기술 블로그 5. 다른 분야로의 확장 (AI, 게임 엔진) 6..
개인정보 동의 현대 사회에서의 거래는 대부분 인터넷에서 이루어진다. 단적인 예로 배달음식이 있다. 맛있는 음식을 먹기 위해 굳이 음적점에 가지 않아도 배달의 민족에서 시켜먹으면 된다. 이러한 거래는 배달 수령을 제외하고 모두 온라인상에서 이루어진다. 그렇기 때문에 배달 서비스 제공자는 내가 누구이지 상세하게 알아야 한다. 그래야 올바른 장소로 안전한 배달이 가능할 테니 말이다. 동시에 배달의 민족 같은 서비스 제공자는 추천 알고리즘 개선을 위해 추가 정보도 수집한다. 배달 서비스를 예시로 들자면 소비자의 성별, 나이, 최근 주문했던 음식 정보가 수집하는 정보에 해당한다. 소비자를 알면 알수록 추천 알고리즘의 정확도는 높아진다. 알고리즘 정확도가 높다면 맛있는 음식을 먹기 위한 주문 소요시간이 줄어들고 전..
NodeJS는 가장 널리 쓰이는 백엔드 환경이다. 그만큼 보안 이슈도 많고 보안 관련 프레임워크도 다양하다. 이 포스트에서는 NodeJS의 보안을 향상할 수 있는 기초적인 방법을 소개할 예정이다. 1. NPM audit npm 모듈의 보안 취약점을 자동으로 진단해주고 모듈을 최신 버전으로 업데이트해주는 기능이다. 프로젝트 디렉터리에서 요청하면 된다. npm audit 2. ngnix 사용 nodejs를 80, 443포트로 바로 노출시키면 여러 보안 이슈에 직면할 수 있다. 포트는 3000으로 해놓고 ngnix proxy 기능을 사용해서 뒤에 숨겨주자. 또한 letsencrypt를 사용해서 인증서를 발급받기에도 수월해진다. 3. Helmet 보안 모듈 적용 express 프레임워크 사용시 헤더 설정으로 알..
클린 아키텍처 클린 아키텍처는 프로젝트가 확장될 때 그 위력을 발휘한다. 프로젝트가 확장됨에 따라 로직이 여러 차례 바뀌게 되고 데이터 의존성은 뒤죽박죽 되기 십상이다. 이를 사전에 방지하기 위해서는 처음부터 견고하게 프로젝트 구조를 잡아야 한다. 클린 아키텍처는 객체 지향 설계를 원칙으로 한다. 이 원칙은 SOLID 원칙이라고도 불리는데 의존성 분리가 핵심이다. 예를 들어 로그인을 위해 아이디와 패스워드를 입력하는 유저가 있다고 해보자. 로그인 시 해당 정보는 사전에 정의된 api경로로 요청을 보낸다. 이후 API 서버에서는 해당 경로의 컨트롤러로 정보를 보내주고 컨트롤러는 해당하는 정보가 있는지 모델에서 알맞은 정보를 가져온다. 알맞은 정보가 있다면 로그인 성공이라는 메시지를 사용자에게 반환해준다. ..
DipokalHHJ
'분류 전체보기' 카테고리의 글 목록 (3 Page)