전체 글 (45) 썸네일형 리스트형 0618 패캠2 소프트웨어는 변경용이하다. 즉, 변경이 지속적으로 일어난다는 뜻이다. 소프트웨어에서의 변경은 추가/변경/삭제가 있을 수 있다. 이 중에서 가장 빈번하게 일어나는 일은 '추가'이다. 변경되는 코드가 동작이 잘 이루어질 수 있도록 유지하는 방법은 역설적이게도 변경을 하지않는 것인데, 이는 즉 변경을 최소화 하는 것이다. 변경을 최소화하기 위해서는 코드를 분리할 수 있다. 불변하는 부분(중요한 코드) / 변경되는 부분 이의 대표적인 방법에는 플러그인과 미들웨어가 존재한다. 플러그인의 대표적인 사용처로는 크롬을 예로 들 수 있고(크롬 익스텐션), 미들웨어의 대표적인 사용처로는 node의 express를 들 수 있다. 플러그인과 미들웨어는 호스트코드의 변경없이(핵심적인 부분), 새로운 기능을 추가할 수 있는 환경.. 0614 패캠 React 변경 용이성 스프트웨어는 현실의 문제를 해결하기 위한 솔루션으로, 현실 문제가 변경되면 이를 해결하기 위해 함께 변경되어야한다. 이때 소프트웨어를 개발자가 쉽게 변경할 수 있는지 여부를 변경 용이성이라고 한다. DOM API ? HTML 문서를 브라우저가 렌더링하기 위해서 가공시켜 놓은 객체 웹 어플리케이션을 개발할 때 가장 많은 문제점을 일으키는 요소 자바스크립트를 이용해서 웹앱의 UI를 핸들링 할 수 있는 유일한 방법 수많은 기능을 제공하지만, 다루기가 까다롭다. 리액트의 컨셉 리액트는 자바스크립의 라이브러리. 초기 목적: 유저 인터페이스의 문제 해결 선언적이다. DOM 자체를 사용하지 않는다 -> 가짜 돔을 사용하여 돔과의 연결점을 최소화한다. 유연성 -> 다른 라이브러리 및 프레임워크와 함께 동작.. 코어자바스크립트:클로저 클로저 에워싸여져 함께 묶여있는 함수,내부함수와 LexicalEnviroment의 조합 클로저는 함수를 실행할 때 무조건 발생되지만, 일반적으로 클로저를 언급할 때는 특별한 현상을 일컫는다. 말하자면, 컨텍스트 A에서 선언한 변수를 내부함수 B에서 참조할 경우에 나타나는 특별한 현상. var outer = function () { var a = 1; var inner = function() { return ++a; } return inner; } var outer2= outer(); console.log(outer2()); //2 console.log(outer2()); //3 해당 로직에서 변수 a는 사라져야 하지만, 그렇지 않다. 왜냐하면 outer2가 inner함수를 담고 있고, 이 inner 함수.. 코어자바스크립트:THIS THIS 디스바인딩은 실행컨텍스트가 활성화 될 때 된다. 실행컨텍스트는 해당 컨텍스트에 포함된 함수가 실행될 때 설정된다. 따라서 this는 함수가 호출 될 때에 결정된다 -> 함수를 어떻게 호출했느냐에 따라서 달라질 수 있다. 전역공간에서 무조건 전역객체(window나 global) 전역 공간이 처음부터 호출되기 때문. 전역객체(window나 global). 브라우저나 NODE.JS에서 호출 시 값이 다르다. 함수 호출 무조건 전역 객체. 메서드 호출 메소드를 호출한 주체. a.b()일 경우 a가 주체가 됨. 메소드: 인스턴스와 관련된 동작. 자바스크립트에서는 객체와 관련된 동작이기만 하면 메소드라고 봄 콜백 호출 기본적으론 함수내부에서와 동일(전역객체), 하지만 콜백함수를 넘겨받는 대상(제어권을 가진.. 코어자바스크립트:데이터타입/실행컨텍스트 데이터타입 기본형(Primitive Type) Number String Boolean null undefined Symbol 참조형(Reference Type) Object(Array/Function/RegExp..) 메모리 동작방식 스택 메모리(변수/기본형 데이터/정적 할당) 힙 메모리(참조형 데이터/동적 할당) 참조형은 기본형과 달리 1단계를 더 거쳐서 저장된다. (객체 전체 참조하는 주소를 저장, 객체 내부의 각각의 값에 대한 주소는 별도) 아무데서도 사용되지 않는 참조공간들은 참조 카운트가 0이 되고, 가비지컬렉트에 의해 제거된다. 값을 직접 저장할 때 데이터 할당 빠름/ 비교할 때 비용 많이 듬/ 메모리 낭비 값의 주소를 저장할 때 데이터 할당 느림/비교에 비교x/ 메모리 낭비 x 값의 주소를 .. TIL 0521 (도커, 볼륨) 도커 컨테이너 기반의 오픈소스 가상화 플랫폼 도커를 사용하여 애플리케이션을 패키징해 개발,배포, 실행이 가능하다. 도커로 패키징을 하게 되면 개발 환경과 운영 환경 간의 일관성을 유지하고 애플리케이션의 이식성, 확장성을 높일 수 있다. 도커 이미지를 실행시켜 컨테이너를 만들 수 있고, 생성된 컨테이너를 관리 혹은 다시 이미지로 만들 수 있다. 기존의 가상머신은 하이퍼바이저를 통해 여러개의 운영체제를 하나의 호스트에서 생성하는 방식이었다면, 도커는 가상화된 공간을하기 위해 프로세스 단위의 격리 환경을 만든다. 성능 손실이 거의 엇고, 용량이 작으며, 배포하는 시간이 가상머신에 비해 빠르다. * 가상화? 하드웨어를 효율적으로 사용하기 위해 하드웨어 공간 위에 가상의 머신을 만드는 기술 볼륨 도커 컨테이너의 .. TIL 0520 (컴퓨터공학) 컴퓨터의 정의 전자 회로를 이용하여, 데이터를 처리하는 장치로 방대한 데이터를 저장하고, 자동적으로 계산이 가능하다. (거대하고 빠른 계산기..) 입력, 제어, 기억, 연산, 출력 기능 등을 갖추고 있다. 컴퓨터가 할 수 있는 일 복잡한 계산 초정밀 그래픽 구현 네트워크 통신 컴퓨터의 역사 고대 - 주판 중세 - 파스칼(톱니바퀴를 이용한 최초의 기계식 계산기, 누군가가 2진법이 기계에 가장 친화적인 것이라고 주장..) 근현대 - 차분엔진 (현대 컴퓨터의 개념을 처음으로 제시함) -> 튜링머신(긴 테이프에 부호를 기록하여 프로그램처럼 사용) -> z3 -> 폰 노이만 아키텍쳐 -> 에니악 -> 다목적 컴퓨터 IBM 시스템/360개발 -> unix와 C개발 -> 인텔 프로세서 개발 -> MS-DOX -> 애.. TIL 0519 소켓 Socket이란? 네트워크를 경유하는 프로세스 간 통신의 종착점. 프로그램이 서로 데이터를 주고받을 수 있게끔 양쪽에 모두 생성되는 통신 단자. 클라이언트에서 서버로 요청을 보내고 받는 형식인 http 통신과 달리 서버와 클라이언트에 양방향 연결을 이루어준다. 위와 같은 속성으로 스트리밍, 채팅 등 데이터를 실시간으로 주고 받아야하는 경우에 적합하다. http와 달리 connection을 계속해서 유지하기 때문에 리소스가 많이 소모된다. 유니캐스트 네트워크에 연결되어 있는 주소 중 식별된 하나의 네트워크 목적지에 1:1로 전송한다. 1:1 통신이기 때문에 CPU 성능에 문제를 주지 않는다. 브로드캐스트 수신자를 특정하지 않고, 네트워크에 연결되어있는 모든 시스템에 모두 전송한다. 브로드캐스팅용으로 주소가.. 이전 1 2 3 4 ··· 6 다음