본문 바로가기

반응형

분류 전체보기

(58)
메서드 호출 및 기능 분할 (1) : a의 b 승 계산, 소수 찾기 a의 b승을 계산해라1. power를 호출하면 매개변수로 정수 a와 b의 값을 건낸다.2. 메서드 power는 매개변수 두 개의 정수 받아 m과 n으로 이름이 지어진다.3. 메서드 power는 계산결과, 즉 result이 값을 return 문을 이용해 자신을 호출한 이에게 넘겨준다.4. 메서드 power가 return문으로 넘겨준 값을 받아서 result에 저장한다. package Main;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int a = kb.nextInt(); int b = kb.nextInt(); int ..
스프링 gemini 연결 나는 학생이라서 유료 버전을 무료로 사용하고 있는 gemini ai를 사용해 보기로 했다. 1. 먼저 여기서 api key를 받아준다.Get API key | Google AI Studio 로그인 - Google 계정이메일 또는 휴대전화accounts.google.com 2. application.yml 파일 설정 # Gemini API 설정gemini: api: key: ${GEMINI_API_KEY} 3. 키 등록디버그 옆에 점 세개를 눌러준다 -> Edit...을 눌러준다. Environment variables 칸에다가 아까 받은 gemini 키를 넣어 주면 됩니다. 혹시 이 칸이 보이지 않으신 분들은 Modify options를 눌러 추가하시면 됩니다. 작성하실 때는 아까 적은 키 이..
AI 발전과정 간단 요약 기계가 사람처럼 생각할 수 있을까?사람들의 물음에서 시작된 것이 인공지능이다. 전통적인 AI, 규칙기반 AI초기 AI는 지금처럼 똑똑하지 않아서 "이럴 땐 이렇게 해"라는 식으로 사람이 모든 규칙을 직접 정해야 했다.질문도 내가 하고 답도 내가 하는 전통적인 AI 또는 규칙 기반 AI 라고 한다. 머신러닝어느 날, 사람이 입력한 데이터에서 스스로 규칙을 찾아내는 AI가 등장하는데 그게 바로 머신러닝이다.ex) 고양이 사진 1,000장을 AI가 고양이의 귀 모양, 눈 크기, 몸 형태 같은 특징을 스스로 찾아서 구분하는 규칙을 만들어 내는 것이다. 규칙을 찾아낸 AI는 사람이 가르치지 않아도 학습이 되기 시작했다. 딥러닝머신러닝에서 더 발전된게 딥러닝이다. 딥러닝은 사람의 뇌를 본떠 만든 신경망 구조를 ..
application.yaml 깃허브 올라간 경우, 로컬 브랜치 삭제 application.yaml 파일이 깃허브에 올라 갔을 경우 git이 추적하고 있어서 계속 변경사항 추적 해결을 위해서 내 컴퓨터(로컬)에서 파일을 남겨두고, 깃의 추적 리스트에서만 삭제해야한다. 일단 혹시 모르니 따로 저장하기 1. 깃 캐시에서 파일 삭제 (내 컴퓨터 파일은 안 지워짐) 가장 중요한 명령어 --cached 옵션이 핵심git rm --cached src/main/resources/application.yaml 2. .gitignore 변경 사항과 삭제된 상태를 커밋git add .git commit -m "Fix: Stop tracking application.yaml" 3. 원격 저장소 pushgit push origin main 로컬 브랜치 삭제git branch -d 브랜치..
Spring Security : 스프링 시큐리티 원리 스프링 시큐리티란 ?API 실행시 사용자 인증 구현한 것인증과 권한, 인가 등 스프링 기반의 보안을 담당하는 하위 프레임워크 인증(Authenticate, 누구인가) 인가(Authorize, 어떤 것을 할 수 있는지)를 담당 스프링 시큐리티에서는 주로 서블릿 필터(filter)와 이들로 구성된 필터체인으로 구성된 위임 모델 사용+ 보안 관련 체계적인 옵션 제공해줘서 개발자 입장에서 일일이 보안 관련 로직 작성하지 않아도 된다. 기본용어- 접근 주체 (Principal) : 보호된 대상에 접근 하는 유저- 인증(Authentication) 인증은 "증명하다"라는 의미 -> 로그인 하는 과정- 인가(Authorization) : "권한 부여" or "허가" 즉 어떤 대상이 특정 목적 실행을 허용(Ace..
면접을 보고 왔다 (봤다네 ! 정말로~) 솔직히 지금 내 수준에서 과분하다고 생각했다. 내가 면접이라니...그냥 통지 받자마자 심장 벌렁벙렁 거렸다. 나를 좋게 봐주셔서 감사한 마음도 있었지만, 사실 두려운 마음이 너무 컸고 준비할 시간이 없어서 발 동동 거리며 했던거 같다 ㅋㅋㅋㅋㅋ그래서 열심히 하려고 한 나 칭찬해 도착해서 코딩테스트 면접을 봤는데, 면접관님이 내가 작성하는 과정을 화면으로 보면서 코드를 작성했다.사실 그 전주까지 자격증 시험에 올인해버려서...하... 진짜 코드 몇개 작성했는데 내가 봐도 내 실력 이따구라고? 이러면서 나 자신에게 너무 실망하고 나를 좋게 보고 또 시간을 내 주신 면접관님들에게 준비되어 있지 못한 모습을 보여줘서 미안했다. 마지막으로 친절하신 면접관님은 나에게 무엇이든 질문을 하라고 했고, 몇가지 질문을 ..
백준 1260 : DFS와 BFS 우선 DFS와 BFS에 대한 간단한 설명깊이 우선 탐색(DFS) : 그래프의 깊은 부분을 우선적으로 탐색하는 알고리즘 너비 우선 탐색(BFS) : 그래프의 가까운 노드를 우선적으로 탐색하는 알고리즘 알고리즘 문제 해결 전략: DFS와 BFS의 이해깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)의 기본 원리와 차이점, 그리고 실제 문제 해결에 적용하는 방법에 대해 설명하는 글입니다.f-lab.kr 문제만 보고 처음에 이해 안되서 그림을 그렸다. DFS우리의 DFS 깊이 우선 탐색은 스택, 재귀호출을 사용해서 한 방향으로 깊이 있게 가는 방식이다.탐색 시작 번호가 1이니까 1을 따라가보자. 1. 인접 노드 중에서 가장 작은 2번 입력 [1,2]2. 이제 2가 정점노드 2의 인접노드는 4 [1,2,4..
백준 2753 윤년 import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int year = kb.nextInt(); int isLeap = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) ? 1 : 0; System.out.println(isLeap); kb.close(); }}