전체 글 133

[NEXT.JS] 다이나믹 라우팅

다이나믹 라우팅? 미리 정의, 고정된 URL이 아닌 사용자가 접근한 경로 또는 특정 값에 따라 동적으로 변화하는 주소를 의미한다. 하나의 컴포넌트를 사용하여 특정값에 따라 변화하는 데이터를 사용할 수 있게 제작하기 위해 사용한다. 사용법 대괄호 []로 시작하는 폴더를 생성하면 된다. username에 따른 데이터를 보여주기 위한 컴포넌트를 만들고 싶다면 [username] 폴더와 하위에 page.tsx를 생성해주면 된다. 그리고 page.tsx에서 아래와 같이 코드를 작성하면 export default function UsernamePage(props: any) { return ( username: {props.params.username} ) } username에 해당하는 URL이 변경됨에 따라 출력되..

[GEMINI] GEMINI API 웹페이지에 이식하기

개요 구글이 Bard에서 GEMINI로 이름을 변경했다. 더 강력한 언어 모델을 탑재했다고 들었고 현재 무료로 API를 사용할 수 있어 현재 개발중인 포트폴리오에 적용해 봤다. 적용 사용법은 간단했다. GOOGLE에 gemini api를 검색 Get API Key in Google AI Studio -> Get API KEY -> Create API Key Home으로 돌아가 우측 상단에 Get Code를 클릭 후 프로젝트의 언어에 맞는 Code를 적용한다. 방장은 NextJS에서 사용했으며, 코드는 아래와 같다. // home.body.tsx import { Button, Card, Col, Input, Row } from 'antd' import { GoogleGenerativeAI } from '@..

구글, 제미나이 1.5 공개

구글이 대규모언어모델(LLM) 제미나이 1.5를 공개했다. 전 버전보다 더 적은 자원을 사용하고도 더 높은 성능을 낸다고 강조했다. 제미나이는 지난해 12월 공개된 멀티모달 모델이다. 문자뿐 아니라 이미지까지 인식·추론할 수 있다. 학습 규모에 따라 울트라·프로·나노로 나뉜다. 40개국 언어로 작동할 수 있다. 구글은 자사의 모든 AI 제품 이름을 '제미나이'로 통합한다. 그동안 바드로 불렸던 구글의 AI 챗봇 이름도 제미나이로 바뀐다. 구글 문서를 비롯한 스프레드시트, 지메일, 슬라이드 등 협업툴 모음집인 워크스페이스에 탑재된 듀엣 AI도 제미나이로 바뀐다. 현재 미국을 포함한 150개 국가에서 이 앱을 영어로 이용할 수 있다. 구글 측은 조만간 활용 가능한 언어 범위를 늘리겠다고 했다. 한국에서도 제..

IT 소식 2024.02.16

[NEXT.JS] #7 구조잡기

개요 NEXT.JS를 사용하면서 느꼈던 폴더 구조에 대해 작성해보려고 한다. 현재 포트폴리오겸 개발중인 프로젝트기 때문에 완성되지 않은 구조임을 감안해주길 바란다. 또한, 공부가 완벽하지 않아 틀린점이 있을 수 있으니 많은 지적 부탁한다. public과 src로 크게 분리되며, public에는 font, image, svg 파일들을 보관하는 용도로 사용했다. src/app 실질적인 페이지들을 보관한 디렉토리이다. routing을 통해 접근하는 페이지별로 디렉토리를 구성한 모습이다. src/components 공통으로 사용하는 component들에 대해 보관했다. 테이블이나 버튼 등을 모든 페이지에서 공통으로 사용할 수 있다. src/config layout.tsx에서 가지게될 컴포넌트들에 대한 모음이다..

[백준] 11050번: 이항 계수 1 - JAVA

문제 풀이 이항계수의 풀이는 다음과 같다. 5 2의 이항계수 (5 * 4) / (2 * 1) 7 3의 이항계수 (7 * 6 * 5) / (3 * 2 * 1) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new Stri..

백준 2024.02.07

[백준] 10872번: 팩토리얼 - JAVA

문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다. 출력 첫째 줄에 N!을 출력한다. 풀이 단순하게 시작한 수부터 1씩 줄여서 곱하면 된다. 예외사항으로 0일 경우 1을 반환한다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System...

백준 2024.02.07

[백준] 24723번: 녹색거탑 - JAVA

문제 녹색거탑은 위 그림과 같이 규칙적으로 쌓여있다. 그림의 시야에 보이지 않는 블록은 없다. 그림의 시야에 보이는 블록의 윗면만 이용해 녹색거탑을 내려올 수 있다. 녹색거탑이 N층이면, 총 N개의 블록을 이용한 최단 경로로만 내려온다. 녹색거탑을 내려올 때는 정상에서 시작해 노란색 바닥까지, 항상 인접한 아래층의 블록으로만 내려온다. 입력 녹색거탑의 높이를 나타내는 정수 �$N$이 주어진다. (1≤�≤5$1 \leq N \leq 5$) 출력 녹색거탑의 정상에서 바닥으로 내려오는 경우의 수를 출력한다. 풀이 바닥으로 내려오는 경우의 수는 2의 (가장 하단 칸의 수) 승이다. import java.io.BufferedReader; import java.io.InputStreamReader; import j..

백준 2024.02.07

[백준] 15439번: 베라의 패션 - JAVA

문제 베라는 상의 N 벌과 하의 N 벌이 있다. i 번째 상의와 i 번째 하의는 모두 색상 i를 가진다. N 개의 색상은 모두 서로 다르다. 상의와 하의가 서로 다른 색상인 조합은 총 몇 가지일까? 입력 입력은 아래와 같이 주어진다. N 출력 상의와 하의가 서로 다른 색상인 조합의 가짓수를 출력한다. 풀이 모든 경우의 수에서 같은 색상인 경우의 수를 빼주면 되는 간단한 문제이다. import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(ne..

백준 2024.02.07

[백준] 2346번: 풍선 터뜨리기 - JAVA

문제 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선이 있다. 각 풍선 안에는 종이가 하나 들어있고, 종이에는 -N보다 크거나 같고, N보다 작거나 같은 정수가 하나 적혀있다. 이 풍선들을 다음과 같은 규칙으로 터뜨린다. 우선, 제일 처음에는 1번 풍선을 터뜨린다. 다음에는 풍선 안에 있는 종이를 꺼내어 그 종이에 적혀있는 값만큼 이동하여 다음 풍선을 터뜨린다. 양수가 적혀 있을 경우에는 오른쪽으로, 음수가 적혀 있을 때는 왼쪽으로 이동한다. 이동할 때에는 이미 터진 풍선은 빼고 이동한다. 예를 들어 다섯 개의 풍선 안에 차례로 3, 2, 1, ..

백준 2024.02.07