728x90

Study 15

트랜잭션(Transaction)

트랜잭션(Transaction)이란, 데이터베이스의 상태를 변화시키기 위해서 수행하는 하나의 작업의 처리 단위를 뜻한다. 쉽게 말해 SELECT, INSERT, DELETE, UPDATE와 같이 SQL(질의어)를 이용하여 데이터 베이스에 접근하는 것을 의미한다. 작업의 단위는 하나의 SQL문이 아닌 사용자가 정하는 기준에 따라 정해지는 것을 의미한다. 트랜잭션의 특징은 다음과 같이 크게 4가지로 구분된다. 원자성(Atomicity) - 트랜잭션이 데이터 베이스에 모두 반영되던가, 전혀 반영되지 않아야 한다. 일관성(Consistency) - 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다. 독립성(Isolation) - 둘 이상의 트랜잭션이 동시에 실행되고 있을 경우 어떤 하나의 트랜잭션이라도, ..

Study 2022.08.17

DOM & BOM

웹사이트는 크게 HTML, CSS, JS(javascript) 세 가지로 구성되어 있다고 할 수 있다. HTML은 웹페이지의 제목, 이미지, 표 등을 정의하고 구조와 의미를 부여하는 정적언어로 웹의 전체적인 구조를 담당하고 있으며 CSS는 HTML이 실제 표시되는 방법, 색상, 레이아웃, 크기, 폰트 등을 지정하여 시각적인 표면을 담당하고 JS는 HTML의 정적이고 단조로운 한계를 극복하기 위해 만들어진 언어로 웹문서에서 동적인 처리들이 가능하도록 한다. 정리하자면 HTML로 뼈대를 만들고 CSS로 옷을 입히고 JS로 기능을 추가한다고 할 수 있다. 그렇다면 어떻게 JS는 확장자가 다른 HTML과 CSS 파일의 내용을 읽고 수정할 수 있는가 하면 그 답은 DOM에 있다. DOM(Document Objec..

Study 2022.08.10

Flex Layout

HTML, CSS에서 레이아웃이란 문서 위에 상자를 적절한 위치에 배치하는 방법을 의미한다. 기본적으로 HTML의 상자 즉, 요소를 배치하는 방법은 normal flow를 따른다. normal flow는 브라우저가 기본값으로 HTML 페이지를 배치하는 방법을 말하며 크게 2가지 block 형태와 inline 형태로 배치하는 방법이 존재한다. block 요소의 경우에는 자신의 부모요소 너비를 전부 차지하게 되며 새로운 블록을 추가할 시, 개행(다음 라인)되어 추가하는 형태이다. inline 요소는 부모의 너비 전부를 차지하지 않고 자신의 컨텐츠 영역만큼만 너비를 차지하며 새로운 inline 요소는 block요소와 달리 부모의 최대 너비를 넘지 않는 선에서 나란히 위치하게 된다. 만약 부모의 너비를 넘겼다면..

Study 2022.07.27

CSS 방법론

CSS란 HTML 또는 XML로 쓰인 문서의 스타일을 나타내기 위해 사용되는 언어로서 문서의 구조와 스타일(디자인)을 분리하여 HTML이나 XML의 각 요소를 꾸미는 역할을 한다. CSS가 등장하기 이전에는 각 HTML 요소의 전용 속성이나 style 속성으로 스타일을 일일이 지정하여야 했다. 그에 따라 같은 스타일 요소를 여러 페이지마다 사용하면 하나를 수정할 때마다 그만큼의 반복 수정이 필요했으며 HTML은 본래 문서 구조를 의미하므로 직접 스타일을 지정하는 것은 바람직하지 않다는 문제점이 있었다. 이후 CSS가 등장하고 css 파일에는 스타일을 기재하고 html에는 문서의 구조를 작성하게 되어 관심사의 분리가 이루어지게 됐고 유지보수에 유리함을 가져왔다. CSS의 등장으로 문제가 모두 해결된 듯 싶..

Study 2022.07.26

프론트엔드에서 Component란

컴포넌트란 전체의 부분이란 뜻을 가지고 있다. 여러 개의 프로그램 함수들을 모아 하나의 특정한 기능을 수행할 수 있도록 구성한 작은 기능적 단위를 말하며 모듈(module)이라고도 한다. 예를 들어 동체, 꼬리, 날개 등으로 이루어진 비행기는 200개 정도의 주요 부품으로 이루어져 있으며 이 200개의 주요 부품은 더 작은 부품으로 이루어져 1대의 비행기는 약 200만 개의 부품으로 이루어져 있다. 하나의 덩어리가 아닌 각 부분을 컴포넌트로 분리하여 독립적으로 구현하면 효율적인 설계가 가능하다. 과거의 웹사이트는 HTML 페이지만으로 구성되어 있어 유저의 액션에 대해 매번 새로운 HTML 페이지를 서버에서 내려주어야 했으며 페이지의 일부만 변경하고 싶어도 전체 페이지를 새로 내려주어야 했다. 이처럼 하나..

Study 2022.07.25

웹 접근성과 표준

웹 표준은 어떠한 운영체제나 브라우저를 사용하여도 동일한 컨텐츠를 볼 수 있도록 웹에서 표준적으로 사용되는 기술이나 규칙을 말한다. 동일한 컨텐츠란, 완벽히 똑같은 것을 말하는 것이 아닌 모든 플랫폼에서 동등한 수준의 정보에 접근 가능한 것을 의미한다. 웹 표준을 지키게 되면 브라우저와 os에 관계없이 하나의 코드로 모든 플랫폼에 대응할 수 있기 때문에 개발자 입장에서는 개발의 효율성을 기업 입장에서는 서버 비용 절감과 운영의 효율성을 가져다주며 이외에도 다음과 같은 여러 장점들이 존재한다. 1. 검색엔진 최적화 검색엔진 최적화란 웹 페이지가 검색 결과에서 좀 더 높은 순위가 나올 수 있도록 하는 작업을 의미한다. 웹 크롤러 봇은 웹 페이지를 탐색하여 분류하는데 의미를 가진 시멘틱 태그를 사용하는 등 표..

Study 2022.07.24

정규 표현식

정규표현식은 편집기의 패턴 매칭을 시작으로 사용되었으며 grep 명령어에 사용하게 되며 발전하였다. 이후 vi, emacs 같은 편집기나 sed, awk 같은 유닉스 명령어에 추가되었으며 IDE와 여러 프로그래밍 언어의 표준 라이브러리로 지정되었다. 정규 표현식은 특정 패턴을 가지고 문자열을 찾을 수 있기 때문에 예를 들어 전화번호를 입력받아야 하는 경우와 같이 여러 조건문이 들어가야 하는 상황에 정규 표현식만을 사용하여 문제를 해결할 수 있다. 정규표현식은 크게 메타문자와 수량자로 이루어져 있어 다음과 같은 형식으로 사용된다. ex) 패턴구분자 시작 + 작성할 패턴 + 패턴 구분자 끝 + 패턴 변경자 / + 패턴 + / + g 메타 문자 (문자를 나타내는 문자) .: 모든 문자 []: 대괄호 안에 들어..

Study 2022.07.24

OOP(객체지향 프로그래밍) (2)

이 영상에서의 발표자는 객체지향 프로그래밍이란 프로그래밍 개발 방법론 중 하나로, 사람이 현실을 바라보는 방법을 개발에 접목하여 직관적으로 이해하기 쉽고 유지보수를 용이하게 만들어주는 프로그래밍 방법론이라고 말한다. 객체지향을 이해하기 위해선 객체를 먼저 파악하는 것이 좋으며, 객체란 현실의 무언가에 대응하는 개념으로 클래스는 객체를 생성하기 위한 것이기도 하지만 객체를 표현하는 하나의 수단이라고도 할 수 있다. 객체가 객체답게 작동하기 위해서는 객체지향적인 개념이 필요하다. 객체는 다른 객체와 협력하는 역할을 맡으면 임무를 수행할 책임이 생기며, 책임을 다하기 위한 데이터와 프로세스를 가지고 있다고 할 수 있다. 협력과 책임, 역할을 다음과 같이 정의한다. 협력 - 시스템 목표를 달성하기 위해 여러 객..

Study 2022.07.11

제네릭(Generics)

제네릭이란 다양한 타입의 객체들을 다루는 메서드나 클래스에 컴파일 시의 타입 체크를 해주는 기능을 의미한다. 예를 들어 문자열만을 받을 수 있는 배열에 정수나, 실수와 같은 의도하지 않은 타입이 들어오는 것을 막아주는 것을 말한다. 제네릭이 없을 때에는 원하지 않는 타입이 들어와 의도하지 않은 결과가 나올 수 있기 때문에 제네릭을 통하여 이러한 경우를 방지해준다. 이렇게 타입 체크를 해주게 되면 객체의 타입 안정성을 높이고 형 변환의 번거로움이 줄어들게 된다. 제네릭은 클래스명 뒤에 를 붙여 작성될 수 있으며, 그 안에 원하는 타입을 지정하여 사용하게 되는데 이를 사용할 때에는 참조 변수와 생성자에 대입된 타입이 일치해야 한다. ex) 포켓몬 노멀상자 = new 포켓몬(); // 가능 포켓몬 비행상자 =..

Study 2022.07.10

애자일 소프트웨어 개발(Agile Software Development)

소프트웨어 개발 프로세스에는 제품 중심적인 관점과 과정 중심적인 관점이 있다. 제품 중심적인 관점은 과거에 주로 채택되었던 관점으로 상품 중심적인 방법론을 말한다. 주기적으로 상품의 아웃풋을 테스트하고 필요하다면 공장에서 수정을 통해 제품 발전시켰다. 과정 중심적인 관점은 제조 퀄리티를 보장하기 위해 채택하게 되었으며 과정 중에 있는 요소를 확인하고, 원인과 결과 모델을 이용하여 과정 중에 변경해야 할 게 있다면 수정하였고, 통계를 사용하기도 하였다. 과정이란 주어진 시간 내에, 예산에 맞게, 결함 없이 고객이 원하는 것을 전달하는 것으로 이를 나타내는 3가지 요소가 있다. 계획(Plannint) - 어떻게 할 것인지, 언제 할 것인지, 무엇을 할 것인지 실행(Execution) - 계획을 실행하는 것 ..

Study 2022.07.09
728x90