목록분류 전체보기 (20)
랄지 IT
동시성 제어란, 트랜잭션의 일관성 처리 위해 트랜잭션간 상호작용 제어하는 것이다. 데이터베이스는 다수의 사용자들이 동시에 접근하는 경우가 빈번하게 발생한다. 이에 따른 통제가 이루어지지 않으면 데이터 베이스의 무결성이 깨지고, 의도하지 않은 결과가 반환될 수도 있다. dbms는 동시성 제어 라는 기능을 제공하여 데이터베이스의 무결성을 보호하고, 트랜잭션이 항상 정확하고 일관된 데이터를 참조할 수 잇도록 해야 한다. 직렬성은 일정한 순서를 가지고 순차적으로 실행되는 것을 뜻하고, 동시성은 트랜잭션들이 순서와 상관없이 동시에 실행되는 것이다. 즉 동시성 제어는 동시에 실행되는 트랜잭션을 제어하기 위한 것이라고 할 수 있다. 동시성 제어의 기법으로 대표적잉ㄴ 것이 잠금(Locking)기법이다. 대부분의 dbm..
가장 먼저 알아야 할 지식은 프로그래밍 언어가 아니다. 이 책은 커뮤니케이션을 위한 큰 그림에 중점을 맞추고 있다. 개발자의 말을 이해하기 위해서는 IT 세상의 용어들을 정리해야 한다. IT 세상의 용어를 카테고리로 분류해 설명할 것이다. *프로그래밍 언어(PL) & 운영체제(OS) 컴퓨터는 컴퓨터만의 언어(기계여, 0과 1로 이루어짐)를 사용하고, 인간은 인간의 언어(한국어, 영어, 아랍어 등)를 사용한다. 그렇기 때문에 둘은 말이 통하지 않지만 인간은 컴퓨터에게 일을 시키기 위해서 컴파일러(일종의 통역사)라는 프로그램을 만든 것이다. 인간은 규칙 있는 언어(프로그래밍 언어; 자바, 파이썬 등)를 만들어서 컴파일러에게 문서로 일을 시킨다. 컴파일러는 그 명령을 컴퓨터가 이해하는 언어(0,1)로 변환해서..
프론트엔드 기술면접 https://velog.io/@dlrbwls0302/%EC%BD%94%EB%94%A9-%ED%85%8C%EC%8A%A4%ED%8A%B8%EA%B8%B0%EC%88%A0-%EB%A9%B4%EC%A0%91-%EC%A4%80%EB%B9%84%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EB%A9%B4%EC%A0%91-%EC%A7%88%EB%AC%B8-%EB%AA%A8%EC%9D%8C%EA%B3%BC-%EB%8B%B5%EC%95%88 이직하려는 친구에게 보내는 프런트엔드 개발 면접 질문 https://joshua1988.github.io/web-development/interview/frontend-questions/ 프론트엔드 면접 문제 은행 http..
CSS방법론 개념: 객제지향의 CSS방법론으로, OOP(Object-oriented programming)의 일반적인 의미에서 결합도 낮추기(decoupling), 단일 책임의 원칙(single responsibility principle), 캡슐화(encapsulation)를 강조하는 방법론입니다 CSS의 역할이 커지면서 CSS를 보다 효율적으로 작성하는 여러가지 아이디어들이 생겼다. SMACSS, BEM, OOCSS 등이 있는데, 개인적으로 각자의 특징을 한 단어로 표현하자면, SMACSS=5형제, BEM=네이밍, OOCSS=재사용이라고 생각한다. https://gomdoreepooh.github.io/notes/smacss-bem-oocss 목적: 코드의 재사용성을 높이자 쉽게 유지보수 하자 확장 ..
이 책은 일상생활에서 부딪히는 문제의 다양한 해결방법을 제시하고, 그 방법들을 비교해 어떤 것이 효율적인지 찾아보면서 알고리즘적 사고방식에 대해 알아보는 것이다. 1. 산더미처럼 쌓인 양말 짝을 맞춰라 - 방법1 양말 한짝을 꺼낸 후, 빨래더미에서 짝을 찾아 한쪽에 놓는다. 그 다음, 다른 양말을 꺼내서 짝을 찾고 한쪽에 놓는다. 이런 식으로 계속한다. - 방법2. 양말 한 짝을 꺼내 한쪽에 놓은 다음, 다른 양말을 꺼낸다. 그 양말에 한쪽에 놓아둔 것과 짝이 맞으면 맞춰 놓는다. 안 맞으면 짝없는 양말줄에 따로 놓되, 색깔이나 크기가 같은 것들을 모아 둔다. - 해설 양말 100켤레가 있다고 생각하자. 방법1의 경우 빨래더미에 있는 양말들을 계속 보고 또 보아야 할 가능성이 대단히 높다. 양말을 새로 ..
IT와 비즈니스 전략에 대한 입문서다. IT 관련해서 아무것도 모르는 사람도 기술을 이해하고 분석할 수 있도록 작성되었다. 각 장에서는 IT개념을 설명한 후, 왜 기업이 그런 기술을 사용하는지를 해설한다. 그리고 실제 사례를 보며 기술과 비즈니스 전략에 대한 이해도를 높일 수 있고, 책을 읽으면서 IT 지식과 사고의 폭을 넓힐 수 있다. 닐 메타: 구글 프로덕트 매니저, 아디티야 아가쉐: 마이크로소프트 프로덕트 매니저 파스 디트로자: 페이스북 프로덕트 매니저 1. 소프트웨어 개발 - 구글 검색은 어떻게 작동할까? > 사용자가 검색어를 입력할때마다 구글은 각 웹페이지의 정보를 저장해 둔 데이터베이스에서 알고리즘을 이용해서 무엇을 보여줄 지 정한다. > 크롤링: 구글은 '스파이더'라는 프로그램을 이용하여 웹..
리액트 - 복잡한 UI개발을 간단하게 만듦 - 크고 활발한 사용자 커뮤니티 - 모델이나 라우팅 라이브러리와 함께 사용시, (기존)웹/모바일 기술 스택 대체할 수 있음 * 스택: 완전한 플랫폼을 만드는데 필수적인 소프트웨어 하위 시스템 또는 구성 요소들의 모임 - JSX, 단방향 데이터 흐름, 선언형 프로그래밍 - 확고하게 MVC라고 할 수는 없다 * 이책(리액트 교과서)의 예제는 노드 버전 6, npm 버전3 기준임 자바스크립트로 만든 리액트 컴포넌트는 UI를 재사용 할 수 있다. 백엔드에 대한 비즈니스 로직까지 갖춘 컴포넌트를 간단히 추가할 수 있다. 템플릿 없이 순수하게 자바스크립트만으로 컴포넌트로 UI를 구성하는 방법은 리액트가 최초이고, 이 방법은 유지보수와 재사용, 확장에 좀 더 용이하다. 하지..
Express는 Node.js 환경에서 동작하는 웹 애플리케이션 프레임워크 이다. 웹 애플리케이션 구성에 필요한 기능들을 제공한다. Express는 Node.js가 설치되어 있음을 전제로 한다. npm으로 express를 설치한다. npm install express 사용 법) app.js를 생성하여 express를 불러오고, express 메소드를 호출하여 사용한다. 사용 예) const express = require('express'); const app = express(); app.get('/', (req, res) => res.send('hellow world')); app.listen(3000, () => console.log('...')); 라우팅 클라이언트는 서버에 URI 및 HTTP 요..
NNode.js란, 자바스크립트 런타임 환경으로 서버사이드 애플리케이션 개발에 사용하는 소프트웨어 플랫폼이다. * 런타임 환경(runtime environment) 1. 컴퓨터가 실행되는 동안 프로세스나 프로그램을 위한 소프트웨어 서비스를 제공하는 가상 머신의 상태 (*가상머신: 컴퓨팅 환경을 소프트웨어로 구현한 것) 2. 운영제체 위에서 또는 운영체제 자체에서 실행되며 위 계층이 사용하거나 필요한 서비스를 제공하는 환경 Node.js 특징 - Non_blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 Request 처리 성능을 가짐 - 데이터를 실시간으로 처리하여 빈번한 I/O가 발생하는 SPA에 적합하나, CPU 사용률이 높은 에플리케이션에는 권장하지 않음 * Non_blocking: 대기..
jQuery는 크로스 플랫폼을 지원하는 경량의 자바스크립트 라이브러리임. jQuery 특징 - 크로스 플랫폼을 지원하는 jQuery는 어떠한 브라우저에서도 동일하게 동작함. 이것은 폴리필*을 작성할 필요가 없다는 것을 의미함. *Polyfill: 브라우저 호환성을 고려한 대체 코드 jQuery 삽입 위치 1. body요소의 마지막 부분 2. head 요소 내 DOM이 완전히 로드된 후, 자바스크립트가 실행되는 것이 바람직한데, 이를 위해 이벤트 처리가 필요하다. - 아래의 코드는, DOM이 완전히 로드하기 전까지 대기하다가, 로드가 완료되면 매개변수로 전달된 콜백함수가 실행된다. $(document).ready(function(){ // Do something... }); * $ => jQuery를 줄인..