본문 바로가기

컴퓨터 이론

[협업] git에 커밋했습니다? 개발자들은 어떻게 일을 같이 할까? - 우선 파일이 많고 - 파일 안에 내 코드, 남의 코드가 섞여있음 git이라는 프로그램! 부분을 나눠서 작업하고 다시 합치는 방법 GitHub은 git들을 관리해주는 회사 용어정리 commit - 세이브 포인트 : 데이터가 안날라가게 중간에 저장하는 것 push - 업로드 : 남들과 공유할수 있게 업로드 pull - 다운로드 : 남의 코드를 받아오는 것 ( 자동으로 충돌을 해결해주지만, 모를때는 수동으로 사용자에게 물어봄) 브랜치따기 머지하기(합치기) 더보기
[아키텍쳐/DB] DB 뭐 쓰세요? 서버 안에 엄청나게 많은 역할들이 존재 서버의 여러가지 모습 클라이언트 - (웹서버/DB) 클라이언트 - (웹서버 - DB) 클라이언트 - (라우터 - 웹서버 여러개 - DB) 클라이언트 - (라우터 - 웹서버 여러개 - 이미지용 DB/텍스트용 DB) 요즘은 클라우드 서비스를 이용 ex) AWS (이미 제공해주는 기능을 잘 구성하는 것도 매우 중요해짐) SQL : 정형화 ex) MySQL, ORACLE, SQLite NoSQL(Not-onlr SQL) : 비정형화 ex) mongoDB 더보기
[개발언어/프레임워크] 프로그래밍 언어 : 인간과 가장 가까운 언어로, OS에 명령을 내리는 것 이 프로그래밍 언어로 서버를 처음부터 끝까지 다 만드는 것은 너무 어려운 일이기 때문에 프레임워크(미리 만들어 놓은 블록세트와 같은 것)를 이용! Java로 만든 프레임워크 Spring Node.js로 만든 프레임워크 Express Python으로 만든 프레임워크 Django. Flask 웹 프론트엔드 HTML, CSS, JS를 더 잘 쓸 수 있게 하는 프레임워크가 있음 - 용량을 절약할수 있다던지, - 페이지의 깜빡거림이 좀 줄어든다던지 등의 장점이 있음 - JS로 만든 프레임워크 ex) 앵귤러, 뷰, 리액트 서버 (HTML, CS, Javascript 가지고 있다가 브라우저에서 요청이 들어오면 정보를 보내줌) Java : 어렵고.. 더보기
[웹서비스 동작 방식] 서버가 죽었다? 서버의 역할 : 가운데서 데이터를 저장하고, 주는 것 -사람들이 짧은 시간에 많이 몰리면 힘들어 한다 -서버가 터지면 카톡이 안되는 이유: 서버가 그 카톡 내용들을 중간에서 전달하는 역할을 하니까 서버 : '컴퓨터'라는 사람의 직업과 같은 것 (DB, 웹서핑 등등의 역할을 한다 - 투잡, 쓰리잡 가능) 브라우저 역할 서버에 요청을 보내고, 정보를 받아와서 그대로 그려주는 역할 HTML : 뼈대 CSS : 예쁘게 꾸미기 Javascript : 움직이게 하기 JSON 방식 : 데이터를 내려줄때 규칙 (key-value 방식) - 앱에서 많이 쓰임 - 뼈대(HTML), 꾸미기(CSS)는 다 되어 있는 상태에서 데이터만 갈아끼우고 싶을 때 따라서, 사용자가 본인 브라우저에서 이것저것 수정해도 새로고침하면 서버에.. 더보기
[컴퓨터와 인터넷] https 보안설정 됐어요? 컴퓨터 : 기계들을 모아둔것 하드디스크: 적어두기 RAM: 기억하기 CPU: 계산하기 메인보드: 꽂아두기 OS : 운연체제 - 인간이 기계와 소통할 수 있게 만드는 기반이 되는 프로그램 안드로이드, Windows10, iOS, Linux(리눅스는 오픈소스!) 코딩 : OS에 명령을 내리는 것 프로그래밍 언어: 어떤 말로 명령을 내릴 것이냐 프로그램 : 미리 짜둬서 매번 똑같이 움직이게 해놓은 것 컴퓨터들끼리 대화를 하고 싶을때 사용하는 것이 인터넷 대화를 주고받기 위해서는 규칙이 필요하고, 이 규칙 중 하나가 웹(=http)이라고 한다. https는 보안을 강화한 것 ( 양쪽에서 암구호 표를 서로 가져거 가운데서 못듣게 하는것) 웹 서버 만들기 =잘 듣고 있다가 누가 http 요청하면 ~해줘 라고 명령 .. 더보기
[데이터 엔지니어링] 빅데이터 (Big Data) 란? _ 빅데이터3요소, 하둡, NoSQL 빅데이터란? 데이터 규모: 기존 데이터베이스 관리도구의 데이터 수집, 저장, 관리, 분석 역량을 넘어서는 데이터 업무수행 방식: 대규모 데이터로부터 저렴한 비용으로 가치를 추출하고, 빠른 수집과 분석을 지원하도록 고안된 차세대 기술 및 아키텍처 빅데이터의 3대요소 (3V) 크기 Volume - 일반적으로 수십 테라바이트, 페타바이트 이상 - 기존 저장 방식 및 분석 방식으로는 처리가 힘듦 - 확장 가능한 방식으로 데이터를 저장하고 분석하는 분산 컴퓨팅 방식으로 접근 해야함 (GFS, 하둡) 속도 Velocity - 실시간 처리 : 데이터의 수집, 저장, 분석이 실시간으로 처리 - 장기적인 접근 : 데이터마이닝, 기계학습, 자연어처리, 패턴 인식 등 다양성 Variety - 정형 : 고정된 필드에 저장되는.. 더보기
[머신러닝/딥러닝] 기술면접 질문목록 머신러닝과 딥러닝의 차이점은? 머신러닝을 3가지로 분류한다면? Cross validation이란? gradient descent에 대해서 가능한 자세하게 설명한다면? 모델의 성능 평가 지표에는 무엇이 있는가? 하이퍼파라미터 튜닝은 어떻게 할 수 있을까? normalization과 regularization의 차이는? batch normalization이란? 어떻게 동작하는가? Activation Function에서 RELU함수를 많이 사용하는 이유는? Max Pooling을 하는 이유는? Global Average pooling이란? SVM이란? overfitting이란? CNN의 장점은? 로지스틱 회귀란? 언제 로지스틱 회귀를 사용할 수 있을까? Local Minima를 해결하는 방법은? gradien.. 더보기
[데이터 엔지니어링] 기술면접 질문목록 ◾ 빅데이터의 3요소는? ...더보기 ◾ 하둡이란? ...더보기 데이터 엔지니어링이란? ETL이란? 맵리듀스란? 스파크란? RDD란? HDFS란? HDFS에서 파일을 읽고 쓰는 과정을 말해주세요 HDFS에서 블록을 크게 설정하는 것이 좋을까 작게 설정하는 것이 좋을까? 그 이유는? 네임 노드란? 도커란? 쿠버네티스란? 둘의 차이는? 더보기