postion : 태그의 위치를 결정하는 CSS 속성이며, 문서 상에 요소를 배치하는 방법을 지정한다.top, right, bottom, left 속성을 통해 요소를 배치할 최종적인 위치를 결정한다. 프로퍼티 값은 배치 방식에 따라서 크게 static, relative
Python - 함수(function) >함수는 정의된 parameter(매개변수) 에 input arguments(전달인자)를 받아 output을 return하는 구문이다. 함수를 호출할 때, 어떤 방식으로 인자(Argument)를 전달하느냐에 따라서 다음과 같이
튜플ad-hoc (상황에 즉각적으로 표현하고자 할때)메모리 용량이 리스트보다 적게 차지함하나의 값을 튜플로 만들고 싶은 경우?—> 값, or (값,) 처럼 콤마(,)를 붙여야 함세트(set)순서없음(무작위)indexing 없음중복 없음 -> 중복되면 새로운 값이 이
파이썬에서 코드를 작성하기 이전에 작업에 필요한 모듈이나 패키지를 불러오기 위해서 import 구문을 사용한다.파이썬 인터프리터는 어떻게 해당 모듈 혹은 패키지를 찾아오는 것일까?Import 구문을 실행하였을 때, 파이썬에서 모듈과 패키지를 찾는 순서가 정해져 있다.s
Python - Import Packages and modules 지난 번 다뤘던 import statement에 연장으로 이번에는 직접 패키지와 모듈, 함수를 만들고 import 해보겠다. 패키지 구조는 다음과 같다. 각 모듈은 다음과 같은 코드를 포함하고 있다
List/Dictionary comprehension List(or dictionary) comprehension(리스트 혹은 딕셔너리 표현식) 은 새로운 리스트 혹은 딕셔너리를 만들 때 반복문과 조건문을 활용하여 간단하게 작성할 수 있는 표현식이다. 예를 들어 1~
Python Exception 예외처리와 관련하여 코드의 진행을 멈추고 싶지 않을 때, try/exception 구문을 사용한다. 그 중에서도 사용자 정의 에러를 만들어 보겠다. 방법은 파이썬에 내장된 기본 Base Exception을 상속받아 원하는 에러명과 메
어제 했던 generator 와 관련하여 list-comprehension vs generator-expression 에 대해 다뤄보겠다.우선, generator는 iterator를 생성하는 함수이다. \_\_iter\_\_,\_\_next\_\_ method 없이도
개발에 앞서서 생산성을 높이기 위해 개발 환경을 잘 구축해야 한다.시스템 운영과 관련한 오픈소스 운영체제인 리눅스와 명령어를 입력하고 수행하는 터미널 환경에 대한 이해가 필요하다.대부분의 개발 시스템들은 리눅스 서버를 기반으로 한다.리눅스는 tree 형태의 파일 구조를
Git과 github Git & github Git은 소스코드의 버전을 관리하는 버전 컨트롤 시스템(Version Control System) Github은 git 을 관리할 수 있는 중앙 시스템이며, 개발자 간의 협업 시에 사용되는 repository(저장소)를 제
Django(2) Django 에서 Model 과 Template 사이에서 로직을 담당하는 views.py와 url 경로를 지정하는 urls.py를 먼저 보겠다. 결과를 보면 {"Hello":"World"}가 출력된 페이지를 확인할 수 있다. views.py 에서
지난 포스팅에 이어, comment app을 구성해보겠다.우선 models.py를 작성해보자.여기서 중요한 점은 user 정보를 매칭시키기 위해 ForeignKey를 사용했다는 점이다. ForeignKey는 일대다(many to one) 의 관계를 정의하는 필드이다.
쿠키나 세션의 도움 없이 로그인 정보를 다른 페이지에서 이어받으려고 redirect 함수에 텍스트를 전달했으나 오류가 발생했다. render 함수에서는 딕셔너리 형태로 전달 가능했는데 안되길래 찾아봤다.render 함수는 template 과 context(dict)를
자료형 (List, Tuple, Dictionary, Hash) List 리스트와 배열(Array)은 사실 서로 조금 다르다. stackoverflow 참조 리스트에 대해 먼저 알아보자. 순차적으로 데이터를 저장한다. 삽입이 순서대로 된다. 수정 가능하다.
Mysql mysql 을 사용하는 데에 있어서 알아두어야 할 간단한 명령어들을 익혀두자. DDL(Data Define Language) CREATE / ALTER / DROP 1) 데이터 베이스 생성 구문 >CREATE DATABASE [database name]
프로젝트 시작에 앞서, 필요한 초기 세팅을 해보자.Git을 사용하여 협업을 진행할텐데, git을 통해 공유가 되면 안되는 데이터는 push할 때 제외되어야 한다. 이를 위해서 .gitignore 파일을 작성한다.django, python, macOS 를 선택하였고, 아
아 하기 싫지만.. 배워야 하니까 다시 기초부터 가보자.자바스크립트는 조건문을 표현하는 방식이 매우 여러개다.1) 기본 구문2) Truthy and Falsy Assignment3) Ternary Operator조건이 true 이면 ? 뒤의 실행문조건이 false 이면
객체지향 프로그래밍(Object Oriented Programming) 특징 객체지향 프로그래밍의 4가지 특징에 대해 알아본다. 1.추상화 >추상화는 공통의 속성이나 유사한 기능을 묶어 이름을 붙여주는 것을 뜻한다. 이를 통해 다른 객체들과 구분되는 핵심적인 특
객체지향 프로그래밍(Object Oriented Programming)(2) 특징 객체지향 프로그래밍의 4가지 특징에 대해 알아본다. 3.상속 > 두 클래스 사이의 부모-자식 관계를 설정하는 것 mro(method resolution order) 함수를 통해 클
견고하고 짜임새있는 객체지향 프로그래밍을 위해서 지켜야할 원칙이 있다.단일 책임 원칙 (Single Responsibility Principle)개방 폐쇄 원칙 (Open-Closed Principle)리스코프 치환 원칙 (Liskov Substitution Princ
자료구조 > 자료구조 : 데이터의 효율적인 접근 및 조작을 가능케 하는 저장 및 관리 방식 자료구조의 목적은 데이터를 효율적으로 사용하기 위함(속도, 메모리) 컴퓨터의 데이터 저장 방식 스토리지 메모리 스토리지 > 데이터가 영구적으로 저장되는 공간 사용자가 직
객체로 표현된 노드(Node)가 서로 연결된 자료구조이며, 각 노드는 해당 노드의 data와 그 다음 노드의 레퍼러스가 담긴 next로 이루어짐위와 같이 각각의 노드를 정의하는 클래스가 있다. 이제 생성된 노드들을 생성하기 위한 링크스 리스트 클래스를 생성한다.다음과
Key-value를 사용하되, 가장 큰 Key 만큼의 배열을 생성하여 각각의 key를 인덱스로 사용하는 방식을 Direct Access Table 이라고 한다.Direct Access Table은 모든 값에 $O(1)$으로 접근할 수 있지만 key가 많아질수록 저장 공
기능 : 연산이 무엇을 하는지에 대한 내용예시) 삽입연산의 기능 : 순서 데이터에서 원하는 위치에 데이터를 저장구현 : 연산이 기능을 어떻게 하는지에 대한 구체적인 내용예시) 동적배열을 활용하여 인덱스 뒤 데이터를 한 칸씩 뒤로 밀고, 데이터를 저장추상 자료형: 자료
데이터의 상-하 관계를 저장하는 자료 구조링크드 리스트가 앞-뒤 관계를 저장하듯이, 트리는 상-하 관계를 노드에 저장하여 부모-자식 관계를 설정한다. 링크드 리스트의 head노드와 같이 시작점이 되는 최상위 노드를 root 노드라고 한다.leaf 노드 (잎/말단 노드)
자료구조 그래프(Graph) 그래프 개념 > 연결 관계가 있는 데이터를 저장하는 자료 구조 앞-뒤(선형) 관계가 있는 데이터는 배열, 링크드 리스트를 사용한다. 상-하(계층) 관계가 있는 데이터는 트리를 사용한다. 그래프는 연결 관계를 갖는 데이터를 저장하는
운영체제: 컴퓨터의 하드웨어를 효율적으로 관리하여 사용자 혹은 응용프로그램에 서비스를 제공하는 시스템운영체제는 다음 두 가지로 구성되어 있다.커널(Kernel): os의 핵심 부분이며, 시스템 관리(processor, memory) 등 가장 비번하게 사용되는 기능들을
다중 프로그래밍 시스템여러 개의 프로세스들이 존재프로세스들은 서로 독립적으로 동작공유 자원 또는 데이터가 있을 때, 문제 발생 가능함동기화: 프로세스들이 서로 동작을 맞추고, 정보를 공유하는 것비동기적(Asynchronous) : 프로세스들이 서로에 대해 모름병행적(C
Non-continuous allocation사용자 프로그램을 여러 개의 block으로 분할실행 시, 필요한 block들만 메모리에 적재나머지 block 들은 swap device(ex. disk) 에 존재 기법들Paging systemSegmentation syste
가상 메모리Non-continuous allocation사용자 프로그램을 block으로 분할하여 적재 및 실행Pageing/Segmentation system가상 메모리의 관리 목적 : 가상 메모리 시스템 성능 최적화Cost modelPage fault frequenc
HTTP 완벽가이드 내용 정리전 세계의 웹브라우저, 서버, 웹 애플리케이션은 모두 HTTP(Hypertext Transfer Protocol)을 통해 대화한다. 1장에서는 http에 대한 간략한 설명과 함께 다음의 질문들에 대답할 수 있는 것을 목표로 한다.리소스(웹
하나씩 값을 확인하여 최소값을 찾고, 0번 인덱스로 옮김그 다음 작은 값을 1번 인덱스부터 확인하여 찾고 옮기는 작업을 반복1이 인덱스 3에 있었다고 가정했을 때, 1을 앞의 숫자들과 비교하면서 제 자리를 찾아갈 때까지 반복정렬 알고리즘 성능 비교 사이트https&#x
pivot(기준값) 을 중심으로 보다 작은 값들의 배열과 보다 큰 값들의 배열을 정렬하는 방식pivot을 기준으로 나누는 것을 partition 이라고 한다. Divide and Conquer 의 Divide 단계이다.pivot 의 양 옆에 값이 1개씩 있거나 혹은 없
HTTP 완벽가이드 내용 정리 1부. HTTP:웹의 기초 4장. 커넥션 관리 4-1. TCP 커넥션 전 세계 모든 HTTP 통신은 패킷 교환 네트워크 프로토콜들의 계층화된 집합인 TCP/IP를 통해 이루어진다. 자세한 참고 사이트 - 브런치 이미지 출처 4.1.
한국산업기술대학교 데이터베이스 강의 내용 정리각 테이블의 열을 column 혹은 attribute(속성) 라고 부른다.각 테이블의 행을 row 혹은 tuple, record 등으로 부른다.사용자가 직접 DBMS에 접근하는 경우는 클라이언트 tool 을 사용하는 것인데,
인터넷 통신 기술의 발달과 함께 정적인 웹 콘텐츠 뿐만 아니라 점차 동적으로 생성된 리소스를 공유하려는 시도가 생겨났다. 이에 따라 서로 다른 프로토콜을 연결하거나, HTTP만 허용하는 방화벽을 통과하여 다른 프로토콜로 통신하는 등의 다양한 상황들이 생겨났다.이 장에서
한국산업기술대학교 데이터베이스 강의 내용 정리SQL : 데이터베이스에 접근하기 위한 표준 질의어MySQL 기준 데이터 타입가변 길이 : 최대 길이를 정해놓고 그 안에서 가변적으로 데이터 저장, 대신에 연산 속도가 고정 길이에 비해 느리다.BLOB : 멀티미디어 데이터와
3부. 식별, 인가, 보안 11장. 클라이언트 식별과 쿠키 웹 서버는 동시에 서로 다른 수천 개의 클라이언트들과 통신한다. 따라서 서버들은 클라이언트로부터 받은 요청을 처리하는 것 뿐만 아니라, 클라이언트를 추적할 수도 있어야 한다. 이 장에서는 서버가 통신 대상을
한국산업기술대학교 데이터베이스 강의 내용 정리뷰를 만드는 이유(장점)보안 : 테이블 내의 특정 컬럼에 대한 권한을 부여할 때, 뷰(가상 테이블)를 사용SQL 간소화 : 두 개 이상의 테이블을 참조할 때, 가공하여 필요한 데이터만 뽑아 뷰를 만듦뷰의 단점뷰는 디스크에 저
4부. 엔터티, 인코딩, 국제화 16장. 국제화 인터넷 상의 다양한 언어와 문자로 된 국제 문서들의 처리 및 지원과 관련하여, 국제화 주요 이슈인 문자집합 인코딩과 언어 태그에 대해 알아본다. HTTP 애플리케이션은 여러 언어의 문자로 텍스트를 보여주고 요청하기 위해
한국산업기술대학교 데이터베이스 강의 내용 정리현랑님 노션 : 11장 백업 및 복구환일님 블로그 : 12장 이중화, 사용자 관리 및 보안max, min은 메모리에 모든 데이터를 올려놓고 구해야 하므로 비용이 크다. 꼭 필요한 경우에만 사용하는 것이 퍼포먼스 측면에서 좋다
17장. 내용 협상과 트랜스코딩19장. 배포 시스템리소스를 공용 웹 서버에 올려놓으면 인터넷을 통해 이용할 수 있다. 콘텐츠 리소스를 저장, 중개, 관리하는 일을 통틀어 웹 호스팅이라고 한다. 호스팅 업체는 서버와 웹 사이트 관리 프로그램을 대여해주고 다양한 등급의 보
udemy - Docker Mastery: with Kubernetes +Swarm from a Docker Captaindocker version : 도커 아키텍쳐의 버전을 확인할 수 있다.도커는 클라이언트-서버 구조이다. 사용자가 입력하는 커맨드가 도커 클라이언트이
컨테이너를 사용하여 어떤 환경에서든 쉽게 배포할 수 있게 되었지만, 이로 인해 또다른 문제가 생겨났다.컨테이너의 lifecycle 을 자동화하는 방법컨테이너 규모를 손쉽게 조절하는 방법컨테이너에 문제가 발생했을 때, 재실행하는 방법컨테이너가 동작을 멈추지 않고 업데이트
udemy - Docker Mastery: with Kubernetes +Swarm from a Docker Captain최초 swarm init(초기화)을 하면 두 개의 네트워크가 자동 생성된다.ingress : overlay nerwork 드라이버이며, swarm
1. Node 시작 기초 개념 Node.js 는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임이다. 런타임 : 특정 언어로 만든 프로그램들을 실행할 수 있는 환경 Javascript 런타임은 js 로 만든 프로그램들을 실행할 수 있는