전체 글 28

JSP 표준 태그 라이브러리 (JSTL)

JSTL(JSP standard Tag Libraray)은 JSP에서 빈번하게 사용되는 조건문, 반복문 등을 처리해주는 태그를 모아 표준으로 만들어 놓은 라이브러리입니다.JSTL에서 제공하는 태그 종류종류기능접두어URICore 태그변수 선언, 조건문/반복문, URL 처리cjakarta.rtags.coreFormatting 태그숫자, 날짜, 시간 포멧 지정fmtjakarta.tags.fmtXML 태그XML 파싱xjakarta.tags.xmlFunction 태그컬렉션, 문자열 처리fnjakarta.tags.functionsSQL 태그데이터베이스 연결 및 쿼리 실행sqljakarta.tags.sql- JSTL을 사용하려는 JSP 파일에서는 taglib 지시어를 추가 JSTL 사용 설정JSTL은 확장 태그이므로..

표현 언어 (Expression Language; EL)

JSP 내장 객체의 영역에 담긴 속성을 사용 가능산술 연산, 비교 연산, 논리 연산이 가능자바 클래스에 정의된 메서드를 호출 가능표현 언어만의 객체를 통해 JSP와 동일한 기능을 수행 기본 사용법${ 속성 }HTML 태그, JavaScript, CSS에 사용 가능액션 태그, JSTL의 속성값으로 사용 가능JSP 스크립트 요소(선언부, 표현식, 스크립틀릿)에서 사용 불가능 객체 표현 방식EL에서 객체를 표현할 때 .(점)이나 [](대괄호 사용)${ param.name }${ param["name"] }${ param['name'] }속성명에 특수 기호나 한글이 포함될 경우 대괄호만 사용${ header["user-agent"] }${ header['한글'] } EL의 내장 객체pageScope : page..

쿠버네티스를 시작하기에 앞서

쿠버네티스컨테이너 기반 오픈소스 가상화 프로젝트단점큰 러닝 커브시스템 도입으로 따라오는 개발 문화와 시스템의 변경 비용이 큼학습이 부족 시 보안 이슈 클라우드 네이티브클라우드의 장점을 최대한 활용하여 정보 시스템을 구축 및 실행하는 환경으로 기술, 애플리케이션, 아키텍처, 개발방법론, 조직, 프로세스 등 다양한 용어와 결합하여 다양한 의미로 사용CNCF Cloud Native Definition클라우드 네이티브 기술은 조직이 퍼블릭, 프라이빗, 그리고 하이브리드 클라우드와 같은 현대적이고 동적인 환경에서 확장 가능한 애플리케이션을 개발하고 실행할 수 있게 해준다. 컨테이너, 서비스 메쉬, 마이크로서비스, 불변(Immutable) 인프라, 그리고 선언형(Declarative) API가 이러한 접근 방식의 ..

Infra/Kubernetes 2024.10.30

02. 가상머신

가상머신(Virtual Machine)진짜 컴퓨터가 아닌 ‘가상’으로 존재하는 ‘컴퓨터’ 가상머신 소프트웨어컴퓨터에 설치된 운영체제(호스트 운영체제) 안에 가상의 컴퓨터를 만들고 그 가상의 컴퓨터 안에 또 다른 운영체제(게스트 운영체제)를 설치/운영할 수 있도록 제작된 소프트웨어호스트 운영체제PC에 이미 설치된 운영체제게스트 운영체제가상머신에 설치된 운영체제 VMware 프로그램 특징물리적으로 필요한 여러 환경을 가상으로 구축해 볼 수 있게 지원1대의 컴퓨터만으로 실무 횐경과 거의 비슷한 네트워크 환경운영체제의 특정 시점을 저장하는 스냅숏 기능하드디스크 등의 하드웨어를 임의로 장착해 테스트 가능PC의 현재 상태 저장 및 이어서 구동 가능 VMware 프로그램 단축키호스트 OS와 게스트 OS 간 마우스 초..

Infra/Linux 2024.10.19

01. 리눅스, Rocky Linux

리눅스의 탄생1991년 리눅스 토르발즈가 어셈블리어로 리눅스 커널 0.01 버전 처음 작성1992년 0.02 버전 소스 코드 공개 GNU 프로젝트리처드 스톨먼에 의해 시작, 모두가 공유할 수 있는 소프트웨어가 목표1985년에 자유 소프트웨어 재단(FSF) 설립FSF에서 제공하는 소프트웨어의 대부분은 GPL 라이센스GPL : 자유 소프트웨어의 변경/배포에 있어 자유를 보장 커널하드웨어 장치 지원 여부에 관한 정보, 하드웨어 성능, 하드웨어를 제어하는 코드가 포함리눅스 커널의 종류를 크게 4가지로 구분Prepatch리눅스 토르발즈가 직접 관리하는 RC(Release Candidate) 버전신기능이 포함, 안정성이 떨어짐Mainline리눅스 토르발즈가 실제로 운영하는 버전Prepatch에서 구현된 신기능을 보..

Infra/Linux 2024.10.17

백준 1033번 칵테일 (Java)

문제백준 1033번 칵테일 / 골드2august14는 세상에서 가장 맛있는 칵테일이다. 이 칵테일을 만드는 정확한 방법은 아직 세상에 공개되지 않았지만, 들어가는 재료 N개는 공개되어 있다.경근이는 인터넷 검색을 통해서 재료 쌍 N-1개의 비율을 알아냈고, 이 비율을 이용해서 칵테일에 들어가는 전체 재료의 비율을 알아낼 수 있다.총 재료 쌍 N-1개의 비율이 입력으로 주어진다. 이때, 칵테일을 만드는데 필요한 각 재료의 양을 구하는 프로그램을 작성하시오. 이때, 필요한 재료의 질량을 모두 더한 값이 최소가 되어야 한다. 칵테일을 만드는 재료의 양은 정수이고, 총 질량은 0보다 커야한다.비율은 "a b p q"와 같은 형식이고, a번 재료의 질량을 b번 재료의 질량으로 나눈 값이 p/q라는 뜻이다.입력첫째..

Algorithm/Baekjoon 2024.10.11

백준 1300번 K번째 수 (Java)

문제백준 1300번 K번째 수 / 골드1세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자.배열 A와 B의 인덱스는 1부터 시작한다.입력첫째 줄에 배열의 크기 N이 주어진다. N은 105보다 작거나 같은 자연수이다. 둘째 줄에 k가 주어진다. k는 min(109, N2)보다 작거나 같은 자연수이다.풀이문제의 접근을 어떻게 해야되는지 많은 고민을 하게 만든 문제이다. 문제는 2차원 배열의 값(인덱스의 곱)을 오름차순 1차원 배열로 만들었을 때, K번째 수인 B[k]를 구하는 문제이다. 이 문제를 해결하기 위해서는 B[k] = x라 가정 했을 때, 'x..

Algorithm/Baekjoon 2024.09.26

백준 1167번 트리의 지름 (Java)

문제백준 1167번 트리의 지름 / 골드2트리의 지름이란, 트리에서 임의의 두 점 사이의 거리 중 가장 긴 것을 말한다. 트리의 지름을 구하는 프로그램을 작성하시오.입력트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 매겨져 있다.먼저 정점 번호가 주어지고, 이어서 연결된 간선의 정보를 의미하는 정수가 두 개씩 주어지는데, 하나는 정점번호, 다른 하나는 그 정점까지의 거리이다. 예를 들어 네 번째 줄의 경우 정점 3은 정점 1과 거리가 2인 간선으로 연결되어 있고, 정점 4와는 거리가 3인 간선으로 연결되어 있는 것을 보여준다. 각 줄의 마지막에는..

Algorithm/Baekjoon 2024.09.23

백준 2023번 신기한 소수 (Java)

문제백준 2023번 신기한 소수 / 골드5수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다.7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수이고, 7도 소수이다. 즉, 왼쪽부터 1자리, 2자리, 3자리, 4자리 수 모두 소수이다! 수빈이는 이런 숫자를 신기한 소수라고 이름 붙였다.수빈이는 N자리의 숫자 중에서 어떤 수들이 신기한 소수인지 궁금해졌다. N이 주어졌을 때, 수빈이를 위해 N자리 신기한 소수를 모두 찾아보자.입력첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다.풀이소수를 찾는 문제이다. 일반적으로 소수 판별에는 에라토스테네스의 체를 이용하는 방법이 있다. 하지만, N자리의 숫자 중에서 신기한 소수를..

Algorithm/Baekjoon 2024.09.17

백준 1517번 버블 소트 (Java)

문제백준 1517번 버블 소트 / 플래티넘5N개의 수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에 대해서 버블 소트를 수행할 때, Swap이 총 몇 번 발생하는지 알아내는 프로그램을 작성하시오.버블 소트는 서로 인접해 있는 두 수를 바꿔가며 정렬하는 방법이다. 예를 들어 수열이 3 2 1 이었다고 하자. 이 경우에는 인접해 있는 3, 2가 바뀌어야 하므로 2 3 1 이 된다. 다음으로는 3, 1이 바뀌어야 하므로 2 1 3 이 된다. 다음에는 2, 1이 바뀌어야 하므로 1 2 3 이 된다. 그러면 더 이상 바꿔야 할 경우가 없으므로 정렬이 완료된다.입력첫째 줄에 N(1 ≤ N ≤ 500,000)이 주어진다. 다음 줄에는 N개의 정수로 A[1], A[2], …, A[N]이 주어진..

Algorithm/Baekjoon 2024.09.16