전체 글

전체 글

    백준 18110 (solved.ac)

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] arr = new int[n]; double sum = 0; for(int i=0; i

    크롬 브라우저에서 자바스크립트 디버깅 하는 법

    크롬 브라우저에서 자바스크립트 디버깅 하는 법

    F12 버튼을 눌러 크롬 개발자 도구에 진입합니다. 소스 탭 메뉴를 누른 후에 디버깅하고 싶은 자바스크립트 파일을 찾습니다. 해당 파일을 클릭 후에 함수 왼쪽을 클릭하여 브레이크 포인트를 지정합니다. 지정한 자바스크립트 함수가 실행될 수 있도록 이벤트를 발생시킵니다. 브레이크 포인트가 걸렸으면 디버깅 모드를 이용할 수 있습니다. ​ 디버깅 모드 다음 함수 호출(Step Over) - 한 줄씩 순차 실행 다음 함수 호출(Step Into) - 해당 시점에 함수 안에 들어가 내부 함수를 탐색합니다. 현재 함수에서 벗어나기 - 현재 함수에서 상위 함수로 빠져나옵니다.

    MSA 아키텍처

    MSA(MicroService Architecture) 애플리케이션 단위로 쪼개서 관리하는 아키텍쳐 각 애플리케이션은 레고 블럭처럼 결합 및 분리 가능 MA(Monolithic Architecture) 한 프로젝트 안에 여러 개의 애플리케이션이 통합되어 있는 형태 소규모 프로젝트에 적합 간단한 아키텍처, 유지보수 용이 프로젝트가 커질수록, 전체 시스템 파악에 어려움 테스트, 빌드 및 배포 시간 증대 부분 장애 → 전체 서비스 장애 발생 가능성 MSA의 장단점 장점 서비스 별로 개별 배포 가능 → 요구사항을 빠르게 수정하여 반영 가능 서비스 확장성에 좋음 → Saas 방식에 적합 장애가 발생해도 피해가 적음 → 해당 서비스만 장애 발생 단점 잦은 api 호출로 인한 통신 비용 증대 테스트와 트랜잭션의 복잡..

    XML을 안 쓰고 JSON을 쓰는 이유

    1. 가독성 XML은 태그 형식을 사용하지만, JSON은 중괄호와 콤마를 사용하여 데이터를 표현 JSON 형식은 간단하고 직관적이며, 필드 이름과 값이 명확히 드러나 코드를 읽고 디버깅하기 쉬움 2. 크기 JSON은 필드 이름과 값 사이에 불필요한 태그가 없으므로, 더 적은 용량을 사용 3. 파싱 속도 JSON은 XML에 비해 파싱 속도가 빠름. 대부분의 언어에서 내장된 JSON 파서를 제공 반면에, XML 파싱은 복잡한 구조를 이루어져 있고 특별한 라이브러리나 도구 사용 필요 4. 웹 애플리케이션과 API 지원 JavaScript에서 JSON 데이터를 쉽게 처리 가능하며, 대부분의 웹 브라우저와 서버 플랫폼에서 지원 5. 데이터 전송 형식 AJAX 요청과 RESTful API에서도 일반적으로 JSON을..

    자바 내림차순 정렬 하는 법

    자바에서 오름차순 정렬은 Arrays.sort([배열 주소값]) 만 하면 되지만 내림차순 정렬은 별도로 두번째 인자에 다른 요소를 더 추가해야 된다. 가끔씩 내림차순 정렬을 이용하다 보니 헷갈려서 이번에 정리해보는 시간을 가졌다. 내림차순 정렬 1. 기본 자료형(Primitive type) 기본 자료형은 아쉽게도 내림차순 정렬을 할 수 없다. 내림차순 정렬을 사용하기 위해서 객체형으로 변환해 주자. ex) int[] → Integer[], char[] → Charater[] 2. 객체형(Wrapper class) 2-1. Collections.reverseOrder() 메서드 사용 Integer[] arr = { 2, 63, 25, 23, 13, 36 }; Arrays.sort(arr, Collectio..

    스프링에서 로그 찍는 법

    스프링에서 로그 찍는 법은 총 두 가지가 있다. Log4j or Logback 와 같은 로깅 프레임워크를 이용하거나 System.out.println() 을 이용하여 로그를 찍을 수 있다. 1. 로깅 프레임워크 이용하기(Log4j) 이클립스에서 스프링 레거시 프로젝트를 생성할 경우, 자동으로 src/main/resources 경로에 log4j.xml 파일이 생성된다. log4j.xml 파일 내용은 아래와 같다. : XML 버전 및 인코딩 정보 : log4j.dtd 파일 위치 지정 : log4j 설정 정보가 포함된 XML 파일 : appender - 로그를 출력할 대상 및 출력 방식 ㄴ ConsoleAppender - 콘솔에다가 로그 출력 : 출력 대상 지정. value가 System.out이므로 콘솔 출..

    Virtual DOM

    DOM(Document Object Model) 객체로 문서 구조를 표현하는 방법(XML, HTML 등으로 작성) Virtual DOM 리액트의 성능을 향상시키기 위해 고안된 개념 메모리 상에 존재하는 가상의 DOM 브라우저 상에 실제 DOM을 직접 조작하는 것보다 더욱 빠르게 렌더링 가능 Virtual DOM은 실제 DOM과 비슷한 구조를 가지고 있으며, 리액트의 컴포넌트가 렌더링될 때마다 Virtual DOM을 업데이트합니다. 이때, Virtual DOM을 업데이트하는 것은 실제 DOM을 조작하는 것보다 훨씬 빠르며, Virtual DOM을 업데이트할 때마다 리액트는 변경된 부분만 실제 DOM에 반영합니다. Virtual DOM의 장점 효율적인 렌더링: Virtual DOM은 변경된 부분만 실제 DO..

    Ajax, JSON

    Ajax - Asynchronous JavaScript and XML(비동기 자바스크립트 XML) Ajax는 XML에 기반한 종합 기술 - HTML, CSS, JavaScript, DOM, XML 등 기존에 사용되던 여러 기술을 함께 사용하는 개발 기법 - 빠르게 동작하는 동적인 웹 페이지를 만들기 위한 개발 기법의 하나 - 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있음 - Ajax를 이용하면 백그라운드 영역에서 서버와 통신하여, 그 결과를 웹 페이지의 일부분에만 표시할 수 있음 - 서버와 다음과 같은 다양한 형태의 데이터를 주고 받을 수 있음 JSON, XML, HTML, 텍스트 파일 등 Ajax 장점 - 웹 페이지 전체를 다시 로딩하지 않고, 웹 페이지의 일부분만을 ..