전체 글 142

리스트 - LinkedList

LinkedList 삽입, 삭제, 검색 LinkedList의 생김새 LinkedList 검색 - 연결리스트는 인덱스를 접근할 수 없기 때문에 검색하기 위해서는 next로 n번 움직여야 한다. LinkedList 추가 LinkedList 삽입 LinkedList 삭제 LinkedList의 장점 - 배열의 복사나 재할당없이 데이터 추가 가능 - 유연한 공간 LinkedList의 단점 - 데이터 접근에 대한 시간이 늘어남 읽는데 유리한 자료구조는 Array 삭제하고 변경하는데 유리한 자료구조는 LinkedList LinkedList 구현 - Head 더미 노드를 두면 연결 리스트를 구현하는데 편리하다. - 연결리스트는 노드 기반이다. - 노드는 class로 만들어준다. Linked List의 데이터 삽입 - ..

자료구조 & 알고리즘을 왜 공부해야 할까?

자료구조와 알고리즘을 해야하는 이유 - 취업 - 코딩테스트 - 면접 --arraylist와 linkedlist의 차이를 내부 구현관점에서 설명하시오 --merge sort의 시간복잡도를 증명하시오 (O(nlogn)) - 컴퓨팅적 사고 능력 현업에서 - 알고리즘과 자료구조르르 모르면 해결할 수 없는 문제들이 존재 - 자료구조의 내부 구현을 모르면 잘못 사용하기 쉽다. - 수억개의 데이터 중 내가 원하는 결과를 빠르게 찾으려면? - 한정된 자원(시간, 공간)으로 최적의 결과를 내려면? 자료와 자료 구조 - 자료를 어디에 어떻게 관리할까 --검색, 순회, 저장, 삭제, 변경, 스왑 - 자료를 담는 추상적인 틀 Data Data Structre - 컴퓨터의 자원은 한정적 - 제한된 제약조건 내에 정확한 결과를 ..

알고리즘은 뭘까?

Algorithm - 목표 달성, 결과물 생성, 수학, 논리 해결 - 얼마나 더 효율적으로 문제를 푸느냐 - 최적의 방법으로 문제를 풀어야 https://www.hackerrank.com/ HackerRank HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere! www.hackerrank.com https://leetcode.com/ https://programmers.co.kr/ 알고리즘 조건 - 외부 인풋 - 1개 이상 결과 - 명백함 - 무한 루프가 아니며 - 단순 명로 Cl..

API

API - 어플리케이션에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능 제어를 위한 인터페이스 - WIN32:windows 32bit 기반 API, JS API, Gmail API - 누구나 접근은 가능하지만, requests에 제한이 있음 - 기업단위로 쓰려면 요금을 지불해야함 Web API - 웹 어플리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 명세 - Gmail API, KaKao API SOAP - Simple Object Access Protocol - 구조화된 정보 전송(like XML) - ACID(원자성, 일관성, 고립성, 지속성) 만족 REST - REpresentational State Transfer - 자원 (URL)자원의 행동 (HTTP ..

WEB 2022.04.06

Replit으로 flask 실습해보기

Replit에 일단 로그인, 접속을 한다. flask는 다음과 같은 web 아키텍처중에 application sever 단의 작업이다. https://replit.com/~ Log In Replit is a simple yet powerful online IDE, Editor, Compiler, Interpreter, and REPL. Code, compile, run, and host in 50+ programming languages. replit.com 접속을 하고 파이썬으로 접속하면 다음과 같은 창이 나온다. pip install flask를 해야 합니다. 하지 않으면 import 가 되지 않습니다. shell에서 flask 설치 후 위와 같은 코드를 치면 console창에서 결과가 나오는것을 확..

WEB 2022.04.06

WEB 개발의 기초

WEB 개발 - tim berners lee 가 하이퍼 텍스트 기반의 프로젝트를 제안한 이후 정적인 컨텐츠들을 중심으로 한 웹 기술이 발달 - Linux, Apache, Mysql, Php 중심의 동적인 서버, 정적인 클라이언트 모델이 지속됨 - 2010 ~ 현재 : javascript (다이나믹 앱 -> 웹개발 : PWA Web architecture 클라이언트 서버 방식 아파치 웹서버 디비는 musql 전체는 리눅스 클라이언트는 리엑트 네이티브

WEB 2022.04.06

컴퓨터 네트워크와 OSI 7계층

Network 우리는 어떻게 다른 컴퓨터와 통신하고, 웹서핑을 할 수 있는지 --> 컴퓨터간 리소스를 공유 가능하게 하는 통신망 - 컴퓨터간 리소스 공유 - 네트워크로 연결된 다른 컴퓨터에 접근하여 파일 생성, 수정, 삭제 - 프린터, 스캐너, 팩스 등의 출력장치에 네트워크를 연결하여 여러 컴퓨터가 동시 접근 가능 Network 필수 요건 - 네트워크 케이블 - Distributor - 라우터 - 네트워크 카드 LAN - local area network (근거리 통신망) - 학교 회사 지역의 좁은 범위 WAN - wide area network (광역 통신망) - 국가 단위 MAN - Metropolitan Area network (도시권 통신망) - LAN < MAN < WAN < Internet W..

MongoDB 코랩으로 실습해보기

Database data - 컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림과 같은 형태의 정보 DB? DBMS? - 데이터의 모임인 Database를 만들고, 저장, 관리 할수 있는 기능을 제공하는 응용프로그램 - 오라클, Mysql, MariaDB, DB2, MS SQL Server Characteristics - 데이터의 무결성 - 데이터의 중복 방지 - 보안 - 성능 향상 - 프로그램 수정과 유지 보수 용이 Differences between DataBase & File System 자기기술성 File System - .hwp -> 한글 - .doc -> Microsoft Word - .xls -> Microsoft Excel DB - Only SQL(RDBMS) SQL - 데이터 관리를 위해..

DB 2022.04.05

CS 기초

하드웨어를 알아야 하는 이유 Why H/W? - 컴퓨터의 기본 구조를 이해하고 컴퓨터에서 동작하는 소프트웨어에 대한 개발이 이뤄져야 Clean Code를 작성할 수 있다. Computer? compute + er : 사람이 하던일을 기계가 계산 Computation vs Calculation - 계산과 연산의 차이? Computer vs Calculator - 수식을 저장할 수 있느냐? -> 계산기와 컴퓨터의 차이 - 공학용 계산기 = 컴퓨터(cpu, ram, hd 존재) CS, CE - 컴퓨터의 소프트웨어를 다루는 학문 - 컴퓨터라는 물리적 기기를 연구하는 것이 아닌 컴퓨터의 개념과 구조를 이해하고 구현하는 학문 apple one 최초의 컴퓨터 RAM 은 Random access memory - 임의 ..

CS 2022.04.05

주재걸 교수님의 인공지능 개론

인공지능 사람 없이는 하기 어려운 일을 사람이 없어도 할 수 있게 하는 모든 종류의 기술 기계학습 인공지능을 가능하게 하는 방법론이 기계학습이고, 학습데이터를 확보, 준비해야함. 딥러닝 딥러닝은 기계학습의 세부 방법론으로서, 두뇌가 동작하는 과정을 본따서 기계학습의 한 종류를 만든것 인공신경망 인간 두뇌에 존재하는 신경세포의 동작과정을 모방하여 이를 인공지능 알고리즘으로 동일하게 동작하게 구현한 기술. 순전파: 전기물질을 본따서 수식으로 이 입력신호들이 여러단계를 거쳐서 뉴런들을 통해 최종적인 정보를 얻는 것 역전파 : 학습데이터가 나타내는 목적에 대해서 각각의 뉴런들이 어떻게 정보를 변환해야하는지 학습하는 것 Deep Neural Networks 인공신경망의 계층을 많이 쌓음으로써 인공지능 기술의 정확..

AI 2022.04.05