목록전체 글 (47)
우당탕탕
플러터란? 대학생 시절 나는 GDSC(Google Developer Student Club) 동아리 활동을 진행하면서 플러터에 대해 알게 되었다. 플러터를 사용해서 앱개발도 진행했었고 현재 출시한 앱 산타의 경우도 초기버전의 경우 완전한 네이티브로 구현했었다. ( 현재는 플러터 웹뷰 ) 초기버전 : https://github.com/Kimbeomchul/HikingMobileApp Flutter란? 플러터는 구글에서 개발한 오픈소스 크로스 플랫폼 GUI 애플리케이션 프레임워크이다. Mobile World Congress 2018에 베타버전을 발표하면서 새롭게 소개된 프레임워크이다. ( 나같은경우에는 2019년에 처음 사용했으니 거의 나오자마자 썼다.. ) 플러터의 특징으로는 크로스플랫폼(Cross-Pla..
일급 객체란 무엇인가? 자바스크립트로 개발을 하다 보면 일급 객체와 일급 함수라는 말을 많이 듣는다. 일급 객체란 뭘까? 일급 객체(First Class Object) 일급 객체란 다음과 같이 설명할 수 있다. 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 보통 함수에 매개변수로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다. - 출처: 위키 설명이 어렵다면 일급 객체의 특징을 아래의 예시로 한번 보자 1. 변수(variable)에 담을 수 있다 let mozzi = function() { return "HelloWorld"; } console.log(mozzi()); 변수 mozzi의 경우 HelloWorld가 출력된다. 2. 파라미터로 ..
자바란 무엇인가? 자바(Java)란? 위키백과에서는 자바를 이렇게 설명한다 자바는 썬 마이크로시스템즈의 제임스 고슬링( James Gosling )과 다른 연구원들이 개발한 객체 지향적 프로그래밍 (OOP: Object Oriented Programming) 언어이다. 여기서 처음 개발을 시작하는 사람들은 객체 지향적 프로그래밍이란 것이 뭘까?라는 생각이 들것이다. 그럼 객체지향 프로그래밍(OOP: Object Oriented Programming)이란 무엇일까? 간단하게 말해서 객체지향 프로그래밍이란 프로그램을 개발하는 기법으로 객체(부품 정도로 생각하면 된다)를 만들고, 이것들을 조립하여 전체 프로그램을 완성시키는 기법이라 설명할 수 있다. 더 깊은 내용으로는 나중에 한 번에 모아서 작성하도록 하겠다..
필터와 인터셉터의 차이는? 필터와 인터셉터 필터와 인터셉터에 관한 내용도 면접 내용으로 많이 나오는 질문이다. 그럼 필터와 인터셉터가 하는 일은 무엇일까? 간단하게 말하면 컨트롤러로 들어가기 이전에 처리해야 할 작업들을 수행하는 것이다. 공통된 작업들을 해결하기 위해서는 필터, 인터셉터, AOP를 사용할 수 있지만 이번 글에서는 필터와 인터셉터에 대해 설명해보려 한다. 필터 일단 필터는 J2EE 표준 스펙의 기능이며, 클라이언트의 요청이 들어올 때 Web Context영역 안에서 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전/후에 URL 패턴에 맞는 모든 요청에 대해 부가 작업을 처리할 수 있는 기능을 제공한다. ( 말로는 어려우니 아래 사진으로 ) 필터 흐름의 경우 아래와 같..
디스패처 서블릿이란 무엇인가? 디스패처 서블릿 디스패처 서블릿이란 서블릿 컨테이너의 가장 앞단에서 HTTP 프로토콜로 들어오는 모든 요청을 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러이다. 프론트 컨트롤러란? 프론트 컨트롤러(Front Controller)란 서블릿 컨테이너의 제일 앞에서 서버로 들어오는 클라이언트의 모든 요청을 받아서 처리해주는 컨트롤러이다. 프론트 컨트롤러가 도입되기 전에는 각 컨트롤러마다 공통 로직을 복붙 형식으로 다시 작성하여 사용했지만, 프론트 컨트롤러가 도입된 이후에는 공통의 로직에 대한 처리가 가능해졌다. 디스패처 서블릿의 흐름 ( Spring MVC 동작순서 ) 백엔드 개발자 면접 질문으로도 가끔 등장하는 디스패처 서블릿의 흐름이다. 스프링 부트에서는 스프링 부트..
호이스팅이란? 호이스팅(Hoisting) JavaScript로 개발을 진행하다 보면 호이스팅이라는 말을 들어본 경험이 있을 것이다. 보통은 호이스팅이라 하면 코드가 실행되기 전에 함수, 변수의 선언을 맨 위로 끌어올린다고 설명한다. 하지만 실제로 끌어올리는 것은 아니다. 호이스팅이란 간단하게 말하면 아래와 같이 말할 수 있다. 호이스팅이란 코드가 실행되기 전에 변수 및 함수에 대한 메모리를 설정하는 것이다. 역시 말로만 보면 이해하기 어려울 수도 있으니 밑에 예시 코드를 통해 확인해보자 function hoist(a) { return a+1 } var hoistV = "var hoist" const hoistC = "const Hoist" let hoistL = "let Hoist" 처음 코드가 실행되기..