call by ..?? 평가 전략(Evaluation Strategy)은 프로그래밍 언어에서 함수 호출의 아규먼트(argument)의 순서를 언제 결정하고 함수에 어떤 종류의 값을 통과시킬지 결정하는 것. (참고) - 아규먼트란? 전달값, 전달인자, 여기서 int a, int b를 의미 public void change(int a, int b){ ... } 1. 값에 의한 호출(Call by value) - 함수를 호출시 단순히 값을 전달하는 형태의 함수 호출 - JAVA의 경우 call by value arguments로 값이 넘어온다. 값이 넘어올 때 복사된 값이 넘어온다. caller(호출하는 녀석)가 인자를 복사해서 넘겨줬으므로 callee(호출당한 녀석)에서 변경하여도 caller는 영향을 받지..
HTML 폼 엘리먼트는 폼 엘리먼트 자체가 내부 상태를 가지기 때문에, React의 다른 DOM 엘리먼트와 다르게 동작 사용자가 폼을 제출하면 새로운 페이지로 이동하는 기본 HTML 폼 동작을 수행 제어 컴포넌트 (Controlled Component) , , 와 같은 폼 엘리먼트는 일반적으로 사용자의 입력을 기반으로 자신의 state를 관리하고 업데이트 React에서는 변경할 수 있는 state가 일반적으로 컴포넌트의 state 속성에 유지되며 setState()에 의해 업데이트 1. type = "text" { setTxtValue(e.target.value); }} /> cf) defaultValue cf) defaultValue? Likewise, and support defaultChecked,..
HTML - html을 잘 알아볼려면 무슨 사이트 참조? Mozilla 사이트 참조 - HTML(HyperText Markup Language) HTML 문서 기본 태그 ~ - 현재 문서가 HTML5 언어로 작성된 웹 문서 ~ - 웹 문서의 시작과 끝을 나타내는 태그 - character set은 utf-8 사용, 현존하는 언어를 지원해줌 - 전체 화면들을 보여주는 것 - 웹 브라우저가 웹 문서를 해석하기 위해 필요한정보들을 입력하는 부분 - 실제 문서 내용이 아니기 때문에, 문서 제목만 브라우저 창에 표시되고 나머지는 웹 브라우저 화면에 표시되지 않음 - 스타일 및 스크립트 등이 포함됨 ~ - 실제로 웹 브라우저 화면에 나타날 내용 = 사용자에게 보여지는 태그들을 의미 - 대부분의 코드는 HTML 태그..
Eclipse와 IntelliJ의 차이 eclipse => workspace 기준 IntelliJ => Project 그룹 기반 IntelliJ Maven 프로젝트로 변경 (1) Maven이란? 프로젝트를 위해 작성한 Java코드나 여러 자원들(.xml, .jar, .properties)를 JVM이나 톰캣같은 WAS가 인식할 수 있도록 할 수 있는 과정 및 결과물 Apache사에서 만든 build tool pom.xml 파일을 통해 정형화된 빌드 시스템으로 프로젝트 관리를 해줌 정해진 Life Cycle을 통해 Project를 빌드함 * (참조) 빌드도구란? - 소스코드에서 어플리케이션 생성을 자동화 하기위한 프로그램 - 코드를 사용하거나 실행 가능한 형태로 compiling, linking, packa..
Webpack? (Review) 자바스크립트, HTML, CSS, 이미지와 같은 여러개의 assets (js, css,png,jpg 등)을 웹 브라우저가 이해할 수 있는 번들로 묶고 패킹할 수 있는 자바스크립트 모듈 번들러로 의존성이 있는 모듈을 취하여 해당모듈을 대표하는 정적 자산들을 생성 프로젝트 상단에 webpack.config.js만들기 webpack 번들링하는방법 2가지 옵션 설명 --mode 웹팩 실행모드, 현 포스팅에서는 개발버전인 dev or development를 지정 --entry 엔트리 포인트(시작점) 경로를 지정 --output 번들링한 하나의 결과물이 위치하는 경로 1) webpack.config.js파일을 사용하여 번들 설정 관리하기 webpack.config.js const p..
Webpack이란? 자바스크립트는 모듈의 합! 즉 모듈이라는건 특정 기능을 갖는 작은 코드 단위를 의미 자바스크립트에서는 웹 애플리케이션을 구성하는 몇십, 몇백개의 자원들을 하나의 파일로 병합 및 압축(js, 이미지,.scss, .hbs등등) 해주는 동작을 모듈 번들링이 필요! 웹팩 등장이유 1. 파일 단위의 자바 스크립트 모듈 관리 - 자바의 유효 범위는 기본적으로 전역변수이기 때문에 편하게 관리할 수 있다는 장점도 있지만, 복잡한 애플리케이션을 개발할때는 변수의 이름을 모두 기억하지 않는 이상 중복선언하거나 의도치 않은 값을 할당 할 수 있음(Scope 문제) - 기존에는 IIFE를 사용하여 스코프 오염을 막았으나 Common.js , export 모듈을 만들고 require를 불러와서 사용했으나 E..
1. npm (Node Package Manager) - 자바스크립트 프로그래밍 언어를 위한 패키지 관리자 - Node Package Manager의 약어 - 노드가 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있게 해줌 - 패키지란? 업로드된 노드 모듈 - 모듈이 다른 모듈을 사용할 수 있는 것처럼, 파키지가 다른 패키지를 사용할 수 있음 프론트 엔드 개발에 Node.js가 필요한 이유? 1. 최신 스펙으로 개발할 수 있음 - 자바스크립트 스펙보다 브라우저의 지원속도는 항상 늦기 때문에, 여러가지 도구의 도움이 필요. 웹팩, NPM같은 노드 기술로 만들어진 환경이 필요 2. 빌드 자동화 기구 - 코딩 결과물을 바로 브라우져에 올리지 않고 파일을 압축하고, 코드를 난독화하고, 폴리필 추가하고.. 개발 이..
CSS란? - Cascading Style Sheets로 HTML과 함께 웹 표준의 기본 - Cascading 뜻 ? - 캐스케이딩 스타일 시트(CSS)뜻 ? "위에서 아래로 흐르는 스타일 시트" - 텍스트 색사이나 크기, 이미지 크기나 위치, 표 색상, 배치 방법 등 웹 문서의 디자인 요소를 담당 - http://www.csszengarden.com/ CSS Zen Garden: The Beauty of CSS Design So What is This About? There is a continuing need to show the power of CSS. The Zen Garden aims to excite, inspire, and encourage participation. To begin, vie..
Mirco Service Architecture (MSA) 소프트웨어가 잘 정의된 API를 통해 통신하는 소규모의 독립적인 서비스로 구성되어 있는 경우의 소프트웨어 개발을 위한 아키텍처 및 조직적 접근 방식 애플리케이션의 확장을 용이하게 하고 개발 속도를 앞당겨 혁신을 실현하고 새로운 기능의 출시 시간 단축 가능 완전히 독립적으로 배포가능 다른 기술이 사용가느아도록 단일 사업 영역에 초점 Monolithic Architecture(MA) 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어 있는 형태 웹 개발시? 웹 프로그램을 개발하기 위해 모듈별 개발, 하나의 결과물로 패키징하여 배포 하지만 한계가 존재 1) Monolithic Architecture(MA) vs Mirco Service Architec..
[C#] Thread (3) - Async, Await