[정리] 브라우저의 작동 방식
·
개발/정리
브라우저의 구조는 다음과 같다. 1. 사용자 인터페이스 여기에는 주소 표시줄, 뒤로/앞으로 버튼, 북마크 메뉴 등이 포함된다. 요청한 페이지가 표시되는 창을 제외한 브라우저 디스플레이의 모든 부분이다. 2. 브라우저 엔진 UI와 렌더링 엔진간의 작업을 마셜링한다. 마셜링이란 한 객체의 메모리에서 표현방식을 저장 또는 전송에 적합한 다른 데이터 형식으로 변환하는 과정이다. 3. 렌더링 엔진 요청된 콘텐츠 표시를 담당한다. 예를 들어 요청한 콘텐츠가 HTML인 경우 렌더링 엔진은 HTML과 CSS를 구문 분석하고 콘텐츠를 화면에 표시한다. 4. 네트워킹 HTTP 요청과 같은 네트워크 호출을 위해 사용한다. 플랫폼의 독립적인 인터페이스이며 각 플랫폼의 하부에서 실행된다. 5. UI 백엔드 콤보 상자 및 창과 ..
[정리] 개발 방법론 (Water Fall vs Agile)
·
개발/정리
프로젝트마다 프로젝트의 성격, 규모, 일정, 비용등에 따라 개발 방법론을 선택해야한다. 그 중에서도 대표적인 개발방법론인 폭포수(Water Fall) 방법론과 애자일(scrum) 방법론을 설명하려고 한다. 1. 폭포수 방법론 (water fall) 폭포수 방법론은 기획, 분석, 설계, 구현, 테스트, 유지보수 단계로 이루어진 선형적인 개발 방법론이다. 각 단계는 이전 단계의 결과물을 바탕으로 진행되며, 다음 단계로 넘어가기 전에 이전 단계의 결과물이 검증되어야 한다. 이 방법론은 전체 프로젝트를 미리 계획하고 모든 기능을 상세하게 정의해 놓아야 하기 때문에 초기 비용이 많이 들어가고 변경사항이 생긴다면 수정하기 어렵다. 하지만 일관된 품질을 유지할 수 있고 프로젝트 일정을 예측하기 쉬워서 대규모 프로젝트..
[React] i18next
·
개발/React
i18n은 internationalization 의 약자로 i와 n사이에 18글자가 들어있기 때문에 i18n이라고 한다. i18n은 어플리케이션을 다양한 언어에 쉽게 적용할 수 있도록 하는 개발 프로세스이다. 각 특정 로케일에 대해 다시 개발을 할 필요 없이 전 세계 사용자가 동일한 어플리케이션을 사용할 수 있도록 한다. 예를 들면 홈페이지의 영문버전, 한글버전이 그 예이다. React에서는 이를 지원해주는 i18next라는 라이브러리가 있다. 1. i18n 세팅 src폴더에 아래와 같은 폴더들을 만들어준다. // i18n/index.js import i18n from "i18next"; import { initReactI18next } from "react-i18next"; import en from ..
[정리] PWA란 무엇인가? ( + serviceWorker)
·
개발/정리
1. PWA란? PWA란 Progressive Web Application의 약자로 웹 기술의 유연성과 접근성을 활용하면서 모바일 앱과 유사한 사용자 경험을 제공하는 웹 어플리케이션 유형이다. PWA는 최신 웹 브라우저가 있는 모든 장치에서 작동하도록 설계되어 플랫폼 간 호환성을 제공하고 플랫폼별 개발의 필요성을 줄인다. 2. PWA의 특징 (1) 반응형 디자인 PWA는 기본적으로 반응형 디자인을 염두하여 개발해야 한다. 반응형 디자인은 다양한 화면 크기와 방향에 맞게 레이아웃과 콘텐츠를 자동으로 조정한다. 이를 통해 스마트폰, 태블릿 및 데스크탑과 같은 다양한 장치에서 일관된 사용자 경험을 보장한다. (2) 연결 독립성 PWA는 기본 브라우저 스레드와 별도로 백그라운드에서 실행되는 서비스워커를 사용한다..
[JAVA] 입력 받은 숫자가 소수인지 판단하는 문제 뜯어보기
·
개발/JAVA
입력받은 숫자가 소수인지 아닌지 판별하는 문제를 통해 배운게 꽤 많아서 정리하려고 한다. 첫 번째 내가 푼 풀이이다. import java.util.Scanner; public class FindPrimeNumberRunner { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Input any number!"); boolean isPrime = true; int number = input.nextInt(); for (int i = 2; i < Math.sqrt(number); i++) { if (number % i == 0) { isPrime = false; } } Sys..
[JAVA] java 기본개념 (+ jshell)
·
개발/JAVA
1. 자바란? 자바란 흔히 객체 지향 프로그래밍(OOP) 언어라고 한다. 이는 OOP의 기본 구성 요소인 객체, 클래스 및 상속의 개념을 기반으로 하는 것이다. (1) 자바의 객체 method 및 static 값들을 공유하는 클래스의 인스턴스이다. 다시 말해, 클래스라는 템플릿으로 만든 값이다. (2) 자바의 클래스 인스턴스를 만들기 위한 템플릿이다. 클래스에서는 method나 로직을 구성하여 인스턴스들의 작동 방식을 정의할 수 있다. (3) 자바의 상속 하위 클래스에서 상위 클래스를 상속하여 코드의 중복을 줄일 수 있고 새로운 클래스를 만들 수 있다. 템플릿을 변형시켜 새로운 템플릿을 만드는 것이다. OOP에서 중요한 점은 또 있다. (1) 캡슐화 내부의 정보를 숨기면서 외부의 호출이 있을 때 정해진 ..