본문 바로가기

전체 글

(144)
라우팅과 IP주소 체계 이해 관련 내용 개요 목적 이번 시간에는 네트워크를 연결하는 라우팅 기술과 라우팅 기술이 목적지를 결정하는데 사용하는 IP 주소에 대해서 알아본다. 라우팅 라우팅은 네트워크에서 데이터를 보낼 때 최적의 경로를 선택하는 과정이다. 데이터는 출발지에서 목적지로 가는 동안 굉장히 많은 라우터를 거치게 된다. (초당 수백만번의 라우팅이 일어난다.) 라우터가 이 기능을 수행하는 장치이다. 라우팅 테이블을 기반으로 데이터를 다음 목적지로 전달한다. 라우팅 테이블이란 라우팅 테이블은 IP 주소를 기반으로 라우터의 위치를 저장한 테이블 또는 데이터베이스 이다. 다양한 네트워크에 대한 정보와 해당 네트워크에 연결하는 방법이 포함되어 있습니다. 그림을 보면서 라우팅 테이블 구성 요소와 어떻게 다음 목적지를 찾는 지 알아보자. ..
코딩 테스트 Java 스택 큐 문제 풀이 개요와 목적 코딩 테스트 대표적인 스택 큐 문제들을 풀어보고, 스택 큐의 문제 풀이 방식에 대해서 알아본다. 후위식 연산 352+*9- 풀이 후위식이란, 연산만 뒤로 뺀 것이다. 예를 들어 5 -3 은 5 3 - 이렇게 표현한다. 3 5 2 + * 9 - 에서 숫자를 만나면 스택에 넣고, 연산자를 만나면 처음 숫자는 rt로 그 다음 숫자는 lt로 pop해서 알아온다. 그리고 lt 연산자 rt (5+2) 결과를 계산해서, 다시 스택에 넣는다. 이 동작을 반복해서 최종 연산 결과를 구한다. import java.util.Scanner; import java.util.Stack; public class 후위식연산 { public static void main(String[] args) { Scanner sc ..
코딩테스트 Java 투 포인터 문제 풀이 개요와 목적 코딩 테스트 대표적인 자바 투포인터 문제들을 풀어보고, 배열의 문제 풀이 방식에 대해서 알아본다. 두 배열 합치기 3 1 3 5 5 2 3 6 7 9 풀이 두 배열 index 0부터 서로 비교한다. 더 작은 쪽을 answer에 추가하고, 인덱스를 한 칸 올려, 다음 수를 비교 대상으로 정한다. 이런 식으로 반복하여, answer를 만든다. import java.util.ArrayList; import java.util.Scanner; public class 두배열합치기 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] a = new int[n]; fo..
Java Runnable Thread 구현과 sysnchronized - 동시성 문제 해결 개요 목적 하나의 프로세스에서 여러가지 일을 처리해주는 Thread를 자바 Runnable 인터페이스로 구현하는 방법에 대해서 알아본다. Thread에 대한 자세한 이해는 아래 블로그 글에서 확인할 수 있다. Thread와 Process Fork 차이 그리고 하나의 공유 자원을 여러 쓰레드에서 동시에 접근하여 생기는 동기화 문제를 방지하는 Synchronized 메소드에 대해서도 알아본다. Runnable으로 Thread 구현하기 Runnable 인터페이스를 구현하여 Thread 동작을 하는 class를 만들 수 있다. //Runnable 인터페이스를 상속받아서 //Thread 구현 동작을 run() 메소드 안에 작성한다. public class RunnableThread implements Runnab..
코딩 테스트 Java 배열 문제 풀이 개요와 목적 코딩 테스트 대표적인 자바 배열 문제들을 풀어보고, 배열의 문제 풀이 방식에 대해서 알아본다. 뒤집은 소수 구하기(소수와 수 뒤집기 알고리즘 이해) 9 32 55 62 20 250 370 200 30 100 풀이 수를 먼저 뒤짚은 값을 구하고 prime인지 확인하는 메소드를 실행하디. import java.util.Scanner; public class 뒤짚은소수 { //소수인지 판별하는 메소드 소수라면 true를 반환 한다. public static boolean isPrime(int num) { if(num==1) return false; for(int i=2; i 0) { int t = tmp % 10; res = res * 10 + t; tmp = tmp / 10; } if (isPr..
Javascript Axios 사용 방법 관련 내용 해당 프로젝트 깃허브 개요 목적 Spring Rest API 백엔드 서버를 테스트하는 두 가지 방법이 있다. 첫 번째는 서버가 단순할 때 Postman으로 테스트한다. 그러나, 복잡한 백엔드 서버일 때는 Postman으로 일일이 테스트하는 것은 너무 번거롭다. 두 번째 방법인 UI 웹페이지를 만들고 Axios를 사용해 RestAPI 서버를 테스트 한다. Axios 특징 Axios는 브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리 운영 환경에 따라 브라우저의 XMLHttpRequest 객체 또는 Node.js의 http api 사용 Promise(ES6) API 사용 HTTP 요청과 응답을 JSON 형태로 자동 변경 Axios 사용하여 백엔드 서버..
Spring - MySQL과 Querydsl 통계 쿼리 처리(group by, Expressions) 관련 내용 Querydsl 이해와 사용법 Querydsl 이해와 사용법 Querydsl JOIN((INNER, LEFT, RIGHT, THETA, FETCH) 사용법 Querydsl 의 JOIN (INNER, LEFT, RIGHT, THETA, FETCH) 사용법 개요 목적 이번 시간에는 Mysql과 Querydsl을 사용한 통계 쿼리 처리 방법에 대해서 알아본다. 통계 처리할 작업은 두 가지이다. 하루 단위 가게 전체 매출 구하기 배달 서비스에 등록된 모든 음식점이 하루 판매 금액을 알 수 있다. 하루 단위 가게 별(company_member_id) 매출 구하기 각 음식점이 오늘 판매한 금액을 알 수 있다. 먼저 MySQL 쿼리를 직접 작성하는 방식으로 통계 처리 하는 법을 알아보고, 해당 동작을 Qu..
Querydsl를 사용한 동적 쿼리 만들기 관련 내용 SpringDataJPA 이해와 사용법 Spring Data JPA 이해와 사용법 Querydsl 이해와 사용법 Querydsl 이해와 사용법 Querydsl JOIN((INNER, LEFT, RIGHT, THETA, FETCH) 사용법 Querydsl 의 JOIN (INNER, LEFT, RIGHT, THETA, FETCH) 사용법 개요 목적 이번 시간에는 동적 쿼리 최적화된 Querydsl를 사용해서, 세가지 연관된 테이블 데이터를 가져오는 방법에 대해서 알아보자. Querydsl를 사용할 상황 알아보기 해당 웹페이지에서 adminTestListCondition{”userId”: , “grammar”: , “situation”: , “check”: } 정보가 넘어오면 백엔드 페이지 에서는 ..

반응형