분류 전체보기429 트랜잭션이란 무엇인가? 트랜잭션은 작업의 완전성을 보장해주는 것이다. 논리적인 작업셋을 모두 완벽하게 처리하거나 또는 처리하지 못할경우에는 원 상태로 복구하여 작업의 일부만 적영되는 현상이 발생하지 않게 만들어주는 기능이다.. 트랙잭션은 ACID라는 4가지 특성을 만족해야 한다. 원자성(Atomicity) 만약 트랜잭션 중간에 어떠한 문제가 발생한다면 트랜잭션에 해당하는 어떠한 작업 내용도 수행되어서는 안되며 아무런 문제가 발생되지 않았을 경우에만 모든 작업이 수행되어야 한다. 일관성(Consistency) 트랜잭션이 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다. 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다. 고립성(혹은 격립성, Isolation) 각각의 트랜잭.. 이론공부/데이터베이스 2020. 8. 15. 장고를 왜 사용할까?(특징, 장단점) 나는 서버를 만들때 django를 이용해서 만들고 있다. 그렇지만 한국에서는 대부분 spring을 이용한 서버를 만들고 있다. 왜 장고를 선택해 서버를 만들고 있는지 말해야 하는 일이 생길때를 대비하여 작성했다. 장고의 홈페이지에 처음 들어가면 나오는 화면이다. 마감일이 있는 완벽주의자를 위한 웹 프레임워크라고 적혀있다. 엄청나게 어려운 기능까지는 아니지만 장고를 이용하여 전체적인 웹도 만들어 보았고 API 서버를 만들어 본 경험을 토대로 생각하면 맞는말이라고 생각한다. 장고를 사용하면서 생각한 장점은 아래와 같다. 1. 장고는 Python 기반 웹프레임 워크이다. - 따라서 파이썬에서 가능한 모든 동작이 가능하며, 강력한 라이브러리들이 많다. 2. 반복적으로 구현해야 하는부분은 이미 만들어져 있다. -.. 프레임워크/Django 2020. 8. 14. 파이썬의 특징과 장단점 현재 알고리즘 테스트를 하면서 파이썬을 주로 사용하고있는데 지금 생각해보니 파이썬이 무엇이고 어떻게 동작하는지 장,단점이 무엇인지 명확하게 알고있지 않은것 같아 정리하게 되었다. 1. 파이썬은 인터프리터언어이다. 파이썬은 C,C++등의 소스코드를 기계어로 컴파일해서 실행파일을 만들어 실행하는 컴파일 언어와는 다르게 코드를 한줄씩 읽어 내려가며 실행하는 언어이다. 코드를 한줄씩 읽어나가기 때문에 컴파일언어보다 느리다는 단점을 가지고 있다. 또한 한줄씩 읽어 해석하기 때문에 런타임(자료형) 오류가 난다면 그 위치까지 가야하는 경우가 있었다. 장점으로는 프로그램 수정이 간단하다라는 장점이 있다. 컴파일 언어같은 경우는 프로그램이 수정된다면 소스코드를 다시 컴파일 해야한다. (프로그램의 덩치가 커질수록 컴파일 .. 프로그래밍언어/Python 2020. 8. 13. 인터넷은 어떻게 동작하는가? 출처 : https://developer.mozilla.org/ko/docs/Learn/Common_questions/How_does_the_Internet_work 인터넷은 어떻게 동작하는가? 인터넷은 웹의 핵심적인 기술입니다. 인터넷의 가장 기본적인 것은, 컴퓨터들이 서로 통신 가능한 거대한 네트워크라는 것입니다. developer.mozilla.org 면접을 준비하면서 많은 부족함을 느끼게 되었다. 그래서 처음부터 기초를 정리하기 위해 백엔드 개발자 로드맵을 보면서 하나하나 정리해 나가려고 한다. 요약 인터넷은 컴퓨터들이 서로 통신 가능한 거대한 네트워크이다. 인터넷은 1960년대 미 육군에서 기금한 연구프로젝트에서 시작되었다. 이후 1980년대에 많은 국립대학과 비공개 기업의 지원으로 공공의 기반.. 이론공부/네트워크통신 2020. 8. 12. 직사각형에서 탈출 Python(백준, 1085) 난이도 : Bronze 3 문제번호 : 1085 문제 주소 및 출처입니다. www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 목차 1. 문제 설명 2. 문제 해석 3. 소스 코드 1. 문제 설명 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 x, y, w, h가 주어진다. 출력 첫.. 코딩테스트/백준 2020. 8. 11. REST API란 무엇인가? REST란 무엇인가? REST는 Representational State Transfer의 약자이다. - 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든것들을 의미한다. URI를 통해 자원(Resouce)을 명시하고 HTTP Method(GET, POST, PUT, PATCH, DELETE 등)를 통해 해당 자원에 대한 CRUD를 적용하는 것을 의미한다. REST 아키텍처에 적용되는 6가지 제한조건 클라이언트/서버 구조 : 일관적인 인터페이스로 분리되어야 한다. 무상태(stateless) : 각 요청 간 클라이언트의 콘텍스트가 서버에 저장되어서는 안된다. 캐시 처리 기능(Cacheable) : WWW에서와 같이 클라이언트는 응답을 캐싱할 수 있어야 한다. 계층화(Layered System) :.. 기타 2020. 8. 10. HTTP는 무엇인가? 출처 : https://ko.wikipedia.org/wiki/HTTP HTTP - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. HTTP(HyperText Transfer Protocol, 문화어: 초본문전송규약, 하이퍼본문전송규약)는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 �� ko.wikipedia.org https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP HTTP 기본 HTTP는 상당히 확장 가능한 프로토콜입니다. 자원과 URI의 개념, 메시지의 단순한 구조, 통신 흐름을 위한 클라이언트-서버 구조와 같은 몇 가지 기본 개념에 의존합니다. 이러한 기본 개념을 토대 deve.. 이론공부/네트워크통신 2020. 8. 9. OSI7계층에 대해서 OSI모델 컴퓨터 네트워크 운영을 규정하기 위해 개발되었다. 네트워크 프로토콜디자인과 통신을 계층으로 나누어서 설명한것이다. OSI7계층으로 나눈이유 모듈화를 함으로서 복잡도를 낮추어 흐름을 한눈에 알아보고 사람들이 이해하기 쉽도록 하기위해서이다. 또한 특정 레이어의 장비혹은 소프트웨어에 이상이 생긴다면 다른 단계의 장비는 건들이지 않고 고장난 부분만 고칠 수 있도록 하기위해서이다. 예를 들어서 편지를 쓰는 기계와, 암호화해주는 기계, 전달해주는 기계와 해당 기능을 모두 가지고있는 하나의 기계가 있다고 한다면 암호화되는 부분만 고장났을때 바꾸거나 수리하는 비용에서 차이가 생기게 된다. OSI7계층은 아래와 같으며 각 계층마다 불리는 메시지의 이름이 다르다. 이미지 출처 : https://www.lifew.. 이론공부/네트워크통신 2020. 8. 8. TCP/UDP/SCTP란 무엇인가?(특징, 차이점) 이미지 출처 : https://shjz.tistory.com/98 TCP TCP는 OSI7계층중 4계층인 전송계층에서 사용하는 신뢰성이 중요한 어떤 응용에 의해 사용될 수 있는 신뢰성 있는 연결-지형 프로토콜이다. 연결지향 서비스를 제공하기 위하여 연결설정, 데이터 전송, 연결 해제 단계를 정의한다. TCP는 전이중 통신을 제공하여 데이터는 동시에 양방향으로 전달 될 수 있다. 흐름제어와 혼잡제어, 오류제어를 제공한다. 흐름제어 : - 데이터를 송신하는 곳과 수신하는 곳의 데이터 처리속도를 조절하여 수신자의 버퍼오버플로우를 방지한다. - 송신자가 데이터를 만드는 속도와 수신자가 데이터를 사용하는 속도의 균형을 맞춘다. 혼잡제어: - 네트워크 내의 패킷수가 넘치게 증가하지 않도록 방지 - 흐름을 제어한다고.. 이론공부/네트워크통신 2020. 8. 7. TCP 3-way handwake란 무엇인가? TCP란? TCP는 OSI7계층중 4계층인 전송계층에서 사용하는 신뢰성이 중요한 어떤 응용에 의해 사용될 수 있는 신뢰성 있는 연결-지형 프로토콜이다. 연결지향 서비스를 제공하기 위하여 연결설정, 데이터 전송, 연결 해제 단계를 정의한다. TCP는 전이중 통신을 제공하여 데이터는 동시에 양방향으로 전달 될 수 있다. TCP 3-way handwake TCP는 데이터를 전송하기 위해 근원지와 목적지 사이에 가상의 경로를 설정한다. 이러한 가상의 경로를 설정하는 과정을 3-way handwake라고 한다. 과정은 서버부터 시작이되며 서버 프로그램은 TCP에게 연결을 받을 준비가 되어있다고 알리며 이를 수동개방(passive open)요청 이라고 한다. 클라이언트 프로그램은 개방된 특정 서버와 연결이 필요하다.. 이론공부/네트워크통신 2020. 8. 6. Red Knight's Shortest Path (Python)[HackerRank] 출처 : https://www.hackerrank.com/challenges/red-knights-shortest-path/problem Red Knight's Shortest Path | HackerRank Find the shortest path that the red knight will take. www.hackerrank.com 목차 1. 문제 2. 문제 해석 3. 소스 코드 문제(축약) 이 버전에서 레드나이트라는 새로운 말이 생겼다. 레드나이트는 상좌, 상우, 우, 하좌, 하우, 우 로 움직일 수 있습니다. 그림은 아래와 같습니다. 보드의 크기는 격자판으로 n*n입니다. 격자판은 0,0 부터 n-1, n-1까지 있습니다. 격자판의 크기n과 시작지점 is, js, 와 도착지점 ie, je가 주어.. 코딩테스트/HackerRank 2020. 8. 5. Grading Students (Python)[HackerRank] 출처 : https://www.hackerrank.com/challenges/grading/problem Grading Students | HackerRank Round student grades according to Sam's rules. www.hackerrank.com HackerRank라는 사이트에서 문제를 풀기 시작했습니다. 문제가 영어라서 어렵습니다..ㅜㅠ 그렇지만 조금씩 익숙해지기 위해 조금씩이라도 풀어보려 합니다. 추신 : 파파고와 구글번역의 힘을 빌려 풀었습니다. 목차 1. 문제 2. 문제 해석 3. 소스 코드 문제(축약) 모든 학생의 성적은 0~100점 사이입니다. 성적이 40점 보다 작다면 낙제입니다. 규칙에 따라 성적을 올림합니다. 성적이 성적보다 큰 5배수의 값과 차이가 3보다 .. 코딩테스트/HackerRank 2020. 8. 4. 이전 1 ··· 11 12 13 14 15 16 17 ··· 36 다음 💲 광고입니다.