본문 바로가기

분류 전체보기

(350)
자바스크립트의 클로저를 간단한 예제로 알아보기 클로저...자바스크립트를 공부하다보면 만나게 되는 어려운 개념들 중 하나입니다. 클로저를 잘 이해하기 위해서는 버그를 줄일 수 있는 변수 정의 방법에 대해 알아야 합니다. 변수를 사용할 때에는 변수를 정의하고, 데이터를 할당해야 합니다. var 변수; // 변수 정의 변수 = 10; // 데이터 할당 자바스크립트에서 var 키워드를 사용해서 변수를 정의하면 재정의와 재할당이 모두 가능합니다. var 변수; 변수 = 10; var 변수 = 20; // 재정의 변수 = 30; // 재할당 재정의는 이미 정의된 변수를 다시 정의하는 것이고, 재할당은 이미 데이터를 할당한 변수에 새로운 데이터를 할당하는 것을 의미합니다. 자 그럼 변수를 재정의하고 재할당 할 수 있게되면 어떤 문제가 발생할까요? var 간식; ..
빅테크에 취직하고 싶은 취준생들을 위한 인사이드 머신러닝 인터뷰 근래의 머신러닝 업계를 이끄는 양대 산맥은 중국과 미국이라고 합니다. 인사이드 머신러닝 인터뷰의 저자는 중국인으로써 아마존, 트위터 등에서 머신러닝 엔지니어로 근무했습니다. 이 책에서는 빅테크 기업들이 면접에서 자주 묻는 질문들이 저자의 해설과 함께 수록되어있습니다. 물론 면접을 주제로 집필된 도서이지만 단지 인터뷰 만을 위한 책은 아닙니다. 초심자도, 중급자도, 상급자도 이 책을 읽으며 현업에 적용할 수 있는 다양한 인사이트를 얻을 수 있을 것입니다. 이 책은 면접, 기본지식, 코딩, 시스템 설계, 인프라 설계, 예제 등으로 구성되어있습니다. 다양한 카테고리로 책을 구성하여 독자들이 폭넓은 정보를 얻어갈 수 있도록 하였습니다. 대부분의 취업 준비생들은 면접에서 어떤 질문이 나올지, 내가 그 질문에 답할..
c언어로 isalpha, isdigit, isalnum, isascii, isprint 함수 구현하는 방법 is 시리즈 함수는 매개변수로 받은 int 자료형 데이터가 ascii 코드 상에서 어떤 의미를 가지는 데이터인지 판별하는 함수다. 그래서 ascii 코드표를 잘 참고하면 어렵지 않게 함수를 정의할 수 있다. 1. isalpha 구현 개요 isalpha 함수는 매개변수로 받은 int 자료형 데이터가 알파벳인지 확인하는 함수다. 함수는 대문자 알파벳이거나 소문자 알파벳일 경우 1을 반환하고, 그 외에는 0을 반환한다. 구현 매개변수로 받은 데이터가 알파벳인지 확인할 때에는 ascii코드를 체크하는 방법이 가장 쉽다. 터미널에서 아래 명령어를 입력하면 ascii 코드표를 확인할 수 있다. man ascii 위 표를 보면 10진수 아스키 코드가 65일때 대문자 알파벳 A와 대응된다. 우리가 함수에서 매개변수로 ..
우분투 터미널 켤 때 마다 뜨는 이상한 메시지 해결 방법 42서울은 맥을 쓴다는데 우리 42경산에서는 우분투를 사용한다. 우분투랑 별로 안 친해서 처음에는 조금 어색했지만, 라피신과 피신 리로드 과정을 거치면서 익숙해질 수 있었다. 그런데 본과정에 들어오니 기존에 잘 사용하던 터미널을 켤 때 마다 이런 화면이 뜨기 시작했다. 처음엔 그냥 아무 키나 누르고 사용했지만, 자꾸 거슬려서 해결책을 찾아보기로 함. 터미널에 뜬 메시지를 살펴보면 Z Shell을 사용하는 뉴-유저를 위한 설정을 해야 한다고 한다. zshrc같은 설정 파일을 생성하라는데 좀 더 쉽게 해결할 수 있는 해결책을 제시해준다고 한다. 터미널에서 제시한 선택지는 총 4가지인데, 문제의 근본적인 해결을 위해서는 (2)를 골라야 한다. 터미널에다가 숫자 2를 입력하자. 그럼 자동으로 기본적인 설정이 포..
파이썬으로 데이터 분석을 해보고 싶다면? 실무로 통하는 인과추론 with 파이썬 머신러닝, 데이터 분석, 사무자동화, 모두 파이썬과 연관된 키워드입니다. "요즘 머신러닝이 인기라던데??" 같은 마음으로 유튜브에서 파이썬 문법 영상을 몇개 보다 보면 어느순간 이런 생각이 듭니다. 이렇게 배운 파이썬 문법으로 데이터 분석은 어떻게 하는거고 머신러닝은 어떻게 하는건데??? 프로그래밍 언어를 공부하다가 흥미를 잃게 되는 순간이 바로 이런 순간이죠. 이 책은 데이터 분석은 어떻게 하는건데??에 대한 해답을 알려주는 책입니다. "실무로 통하는 인과추론 with 파이썬"은 실무적 경험이 풍부한 저자가 이론에 입각한 실습 과제를 제시하고, 다양한 팁을 수록하여 '인과추론'이라는 카테고리에서 파이썬을 활용한 데이터 분석을 경험할 수 있도록 저술하였습니다. 파이썬 문법을 어느정도 익혔다면, 데이터 분..
PC 컴퓨터에서 유튜브 버벅거릴 때 해결하는 방법(feat. 크롬 브라우저) 안녕하세요. 요 며칠 유튜브가 버벅거려서 일시적인 오류인가? 에서부터 컴퓨터가 고장났나? 까지 온갖 생각을 하던 중 해결 방법을 찾게 되어서 포스팅을 작성하게 되었습니다. 우선 저는 크롬 브라우저에서 유튜브 영상을 시청하고, 컴퓨터는 AMD 3600에 지포스 2060을 사용중입니다. 최신 하드웨어는 아니지만 그래도 유튜브 따위가 버벅거릴 사양이 아닙니다. 그래서 더 의문이었어요. 일시적인 버그라고 생각하기에는 한달 넘게 버벅임이 이어지고 있으니 이해할 수는 없지만 하드웨어 문제인가 싶었거든요. 근데 해결책은 아주 간단했습니다. 크롬 우측 상단에 있는 점 3개짜리 버튼을 눌러주세요. 설정으로 들어갑니다. 시스템으로 들어갑니다. 여기서 "가능한 경우 하드웨어 가속 사용" 을 변경해주세요. 만약 "켜짐"상태라..
짧지만 굵었던 42경산 피신 리로드 후기 42 경산 라피신 1기 1차 교육생이었습니다만 본과정에 합격하게 되었습니다. 합격 후 첫 번째 과정이 바로 피신 리로드 과정이었습니다. 피신 리로드는 본과정에 들어가기 전 라피신 과정을 되새기며 예열 하기 위한 과정입니다. 라피신 이후 본과정 시작 전까지 2달 정도의 시간이 비었기 때문에 Norminette라던가 로우레벨로 코드를 구현하는 접근방식이라던가 가물가물해진 내용들이 있었기 때문에 라피신 리로드 과정이 조금은 부담스러우면서도 한편으로는 반가웠습니다. 피신 리로드 기간에는 27개의 과제를 해결해야 합니다. 과제들은 모두 라피신 기간에 만나보았던 문제들로 이루어져 있습니다만 제가 라피신 기간에 도달하지 못했던 레벨의 과제도 풀어야 했기 때문에 조금은 긴장감이 느껴졌습니다. 라피신 리로드 기간은 딱 ..
VSCode - 들여쓰기를 space에서 tab으로 변경하고 저장하기 에꼴 42에서는 norminette라는 프로그램을 이용해 코드 포맷을 강제합니다. 42 경산에서도 마찬가지로 norminette를 이용해서 작성한 코드의 포맷을 지정하고 있습니다. 이게 왜 중요하냐면, 42 교육과정에서는 과제를 제출할 때 기계평가라는 것을 거칩니다. 기계평가는 42 서버에서 제출된 과제의 코드를 검사하여 코드가 정상적으로 동작 하는지, 지정된 코드 포맷을 만족하는지 등을 검사하는 과정을 의미합니다. 아무튼 이 norminette를 만족시키기 위해서는 들여쓰기를 4칸짜리 tab으로 지정해야 합니다. 그런데 vscode를 최초 설치 시 들여쓰기 설정이 4칸짜리 space로 설정되어있습니다. 저기 가운데에 Spaces: 4라고 표시되어있는 부분이 들여쓰기를 space로 처리했다는 의미입니다...