본문 바로가기

전체 글

Google 면접이 준 힐링 어제 구글 최종면접을 봤다. 4번의 면접은 다소 빡세게 느껴졌지만, 면접을 준비하고 치르면서 그동안 내가 살아온 이 한국 문화의 가치관, 나의 가치관에 물음표를 던질 수 있었고 실패라는 것에 대해, 인생이란 것에 대해 진지하게 생각해보는 계기가 되었다. 이상하게도 이 면접과정을 통해 내 마음 속 깊이 자리잡고 있던 삶에 대한 회의감과 자조, 죄책감과 자신에 대한 비난이 사라지게 되었다. 합격 여부는 중요하지 않다. 결과론적이고 성공집착적인 나에게, 과정의 중요성, 순수한 목적의 중요성을 다시 일깨워준 이 시간이 감사할 따름이다. 구글은 "정답"보다는 문제를 대하는 자세, 사고방식, 풀어나가려는 의지를 보는 것 같다. 분명 1차 면접 초반에 영어를 버벅대어 망했다고 생각했는데, 감사하게도 유럽 CIO 면접.. 더보기
당신이 타입스크립뜨를 써야하는 이유유유유유 당신이 타입스크립트를 왜 써야하는지 말해주겠다. 타입스크립트는 자바스크립트 + HTML 짬뽕언어인 JSX라는 놈을 쓰는 "리액트" 프레임워크를 사용하는 웹 프론트엔드 개발자에게 굉장히굉장히굉~장히 필요한 어시스턴트이다. 자바와 자바스크립트 차이점 자, Java 또는 C ...그리도 많이 듣고 귀에 피가 흘리도록 주구장창 들었던 이 컴파일 언어와 웹 브라우저가 알아먹는 언어인 자바스크립트와의 차이점은 어느 시점에 컴퓨터가 알아먹는 언어로 바꿔주느냐 이다. 앞서 말한 자바 커피언어 씨부럴 언어들은 먼저 다~~~ 컴퓨터가 이해하기 쉬운 언어로 바꿔놓은 뒤에 모두 컴파일 다~ 해놓고 나서!!! 컴퓨터한테 던져준다. 그래서 컴파일 과정에서 미리미리 오류를 확인할 수 있다! 컴파일(해독) 언어의 좋은 점? + 문법.. 더보기
직장내 갑질, 괴롭힘 타파!를 위한 오디오 녹음, 음성인식 사이트 개발 https://iamworkking.com/ iamworkking 맘편하게 일하기 iamworkking.com 핸드폰으로는 실시간 녹음하기가 어렵다. 밧데리가 닳거나 하는 문제 때문에. 데스크톱 pc에서 웹브라우저를 띄워놓거나 최소화 시켜서 실시간 장시간 오디오를 녹음하고 음성인식 중 폭언으로 미리 등록해둔 단어가 나오면, 화면에 그런 말하면 안되요~ 라는 경고 알림창도 뜨도록 개발했다. 앞으로 AI 인공지능을 활용한 좀더 세분화된 기능을 추가할 예정. 직장내 갑질..참다 참다 언젠가 신고할 날이 올 수 있기에 미리미리 항상 녹취해놔서 증거자료로 쓰실 분들을 위해 만들어봤다. 오디오는 웹브라우저에서 제공하는 기능 그리고 파일은 로컬에 사용자가 저장하므로 오디오파일이 외부 서버에 저장되는 일은 없다. 안심.. 더보기
1. 리액트 앱 설치 오늘의 최종목표 npx create-react-app (위치) : 리액트 앱을 만들어라~ node module을 다운로드 받고 리액트 웹사이트 기본구조를 만들어준다! 1. 기본 환경 셋팅 1) Node.js 설치 (이미 설치되어 있는지 확인하는 방법 : 터미널에서 node -v 를 입력해서 버전명이 나오면 기존에 설치) 왜 설치해야 해? React 관련 모듈/라이브러리/패키지들이 모두 node에서 제공하는 모듈이기 때문이다. 가령, React 관련 라이브러리는 npm install...로 시작한다. 다운로드 페이지 : https://nodejs.org/ko 설치방법: Node.js 홈페이지에 가서 다운로드 버튼클릭. (윈도우 버젼이 x64면, 홈페이지에 x64 버전이 알아서 나옴...) Node.js N.. 더보기
1. 리액트 앱 설치 오늘의 최종목표 리액트 앱을 만들어라~ node module을 다운로드 받고 리액트 웹사이트 기본구조를 만들어라! 주요 명령어 : npx create-react-app (node모듈 저장 위치) 현재 폴더 안에 설치하려면, npx create-react-app ./ 1. 기본 환경 셋팅 1) Node.js 설치 (이미 설치되어 있는지 확인하는 방법 : 터미널에서 node -v 를 입력해서 버전명이 나오면 기존에 설치) 왜 설치해야 해? React 관련 모듈/라이브러리/패키지들이 모두 node에서 제공하는 모듈이기 때문이다. 가령, React 관련 라이브러리는 npm install...로 시작한다. 다운로드 페이지 : https://nodejs.org/ko 설치방법: Node.js 홈페이지에 가서 다운로드.. 더보기
(리액트) e.target.value e.target e.target.value 홍길동님 이상, input의 이벤트에 대한 설명이다. 웹브라우저 상에 버튼 클릭, 값 입력 등의 거의 대부분의 일들은 이벤트 이다. OnClick 을 어트리뷰트로 갖고있다면, 클릭 행위의 이벤트를 포함한다고 볼 수 있다. 대표적인 것으로 Input이 있다. React에서는 을 제공하는데, input의 어트리뷰트로 onClick을 제공한다. 클릭 이벤트 발생시, 실행하고 싶은 일을 함수로 정의해준다.(사용자가 할일) handleChange= (e ) =>{ //e는 이벤트 객체를 의미한다. this.setState({ [e.target.phone] : e.target.value // e.target은 을 의미한다. console.log를 찍어보면 더욱 명확하다. .. 더보기
[React] 인풋 상태관리/e.target.value 인풋을 이야기하지만, 사실상 이벤트에 대한 이야기다. 이벤트는 사용자가 하는 어떤 행위이다. 버튼을 클릭하거나, 입력창에 텍스트를 입력한다던가 하는 그런 이벤트 이벤트가 발생하는 태그는 input, button 등이 있다. 그 중 input에 대해 배우면, button도 자연스레 알기 쉬워진다. 1. input 태그 - - name : input 태그의 명칭 - placeholder : input 최초값 (상수) - onChange : input의 값이 변경됨을 감지했을 때 실행할 함수 매칭 - value : input의 값 2. state 정의 - name : "홍길동", - myphone : "0000" 사실상, placeholder가 없으면, state 첫 선언 시 초기설정 가능, 하지만 place.. 더보기
보안의 구멍1. 자료 암호화의 한계 문서암호화의 한계, 그리고 매체제어 솔루션의 한계, 자료이동의 한계. 보안에는 언제나 구멍이 존재한다. 파일 편집권한은 전사 임/직원에게 부여되어있다. 암호화해제 는 생각보다 많이 발생한다. 별로 없을 것 같지만 암호화해제는 너무 많이 발생해서 실질적으로는 사후승인으로 운영하고 있다. 그렇게 하지 않으면 운영 자체를 할 수가 없다. 왜그렇게 암호화해제가 많을까. 외부로 보내야할 문서가 많다. 특히, 대기업이나 공기업의 경우는 외주나 하도급 사업이 많기 때문에 외부로 문서를 보내야할 일이 많은것이다. 본인이 작성한 파일은 기본적으로 본인에게 암호화해제 권한이 있다고 해도 무방하다. 사후승인이란게 그런거다. 자료유출방지 솔루션이란게 거의 사후약방 같은 존재이다. 암호화해제 이력이나 로그를 통해 추적할 있도록.. 더보기