분류 전체보기129 Ch 프롤로그. 딥러닝 기초 딥러닝이란?인공지능은 21세기 세상을 이끌어가는 기술 발전 중 당연히 독보적인 위치에 존재하고 있는 기술이다. 과거에는 추상적인 개념으로 여겨질 정도로 발전이 더딘 분야였지만 최근 그 실체가 구체화되면서 기술력의 집합체를 의미하게 되었다.특히 딥러닝은 인공지능이라는 거대한 학문의 일부이다. 그 중, 머신러닝의 여러 기법 중 하나이다. 딥러닝의 구조는 사람의 신경망을 모방한 Perceptron 구조이다. input data와 label, 그리고 weight를 활용한다. 이 weight 값을 기계가 스스로 학습을 통해 찾아내도록 하는 것이 neural network를 이용한 기계 학습이 하는 일이다.문제가 복잡해질수록 nueral network 구조도 상당히 복잡해진다. 따라서 input layer와 out.. 의료 AI(딥러닝) 공부 일기 2024. 7. 3. Ch 00. Aiden의 딥러닝 공부 이야기가 궁금하다고? 그래도 전공이 생명공학과 컴퓨터과학인데...나도 한번쯤 이 두 개를 섞어서 써보고 싶은 마음이 들었다. 그래서 시작한다.딥러닝을 독학하고 의료 AI에 적용해보겠다.참고로 필자는 학부생 시절 인공지능 과목을 "도강"한 기억이 전부인 개발자이다. 일주일만에 인공지능 논문을 한 편 읽는 것을 목표로 딥러닝 기초를 공부하는 것이 목표이다. 참고할 공부 자료는 아래와 같다.패스트캠퍼스 : https://fastcampus.co.kr/data_online_bioai 의료 데이터를 활용한 바이오 진단 & 신약 개발 모델 구현 | 패스트캠퍼스의료 데이터를 기반으로 실무에서 가장 많이 활용되는 AI 기술과 모델 구현을 직접 해볼 수 있는 강의fastcampus.co.kr인프런 : https://www.inflearn.c.. 의료 AI(딥러닝) 공부 일기 2024. 7. 3. [알고리즘, BOJ] 9372 상근이의 여행 - java 문제상근이는 겨울방학을 맞아 N개국을 여행하면서 자아를 찾기로 마음먹었다. 하지만 상근이는 새로운 비행기를 무서워하기 때문에, 최대한 적은 종류의 비행기를 타고 국가들을 이동하려고 한다.이번 방학 동안의 비행 스케줄이 주어졌을 때, 상근이가 가장 적은 종류의 비행기를 타고 모든 국가들을 여행할 수 있도록 도와주자.상근이가 한 국가에서 다른 국가로 이동할 때 다른 국가를 거쳐 가도(심지어 이미 방문한 국가라도) 된다.입력첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고,각 테스트 케이스마다 다음과 같은 정보가 주어진다.첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000)가 주어진다.이후 M개의 줄에 a와 b 쌍들이 입력된다. a와 b를 왕.. 알고리즘 2024. 7. 2. [알고리즘, BOJ] 2437 저울 - java 문제하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓을 수 있고, 다른 쪽에는 무게를 측정하려는 물건만 올려놓을 수 있다.무게가 양의 정수인 N개의 저울추가 주어질 때, 이 추들을 사용하여 측정할 수 없는 양의 정수 무게 중 최솟값을 구하는 프로그램을 작성하시오.예를 들어, 무게가 각각 3, 1, 6, 2, 7, 30, 1인 7개의 저울추가 주어졌을 때, 이 추들로 측정할 수 없는 양의 정수 무게 중 최솟값은 21이다. 입력첫 째 줄에는 저울추의 개수를 나타내는 양의 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 둘째 줄에는 저울추의 무게를 나타내는 N개의.. 알고리즘 2024. 7. 1. 22. 세션의 동작 과정 21. 세션과 쿠키의 차이점을 알아봤다. HTTP가 기본적으로 stateless하니 클라이언트의 정보를 저장하기 위해서 두 가지 전략이 생겨났고 클라이언트에 클라이언트의 상태를 저장하는 것을 쿠키, 서버가 클라이언트의 상태를 저장하는 것을 세션이라고 불렀다. 이번엔 세션의 동작 과정을 알아보자. 세션 생성사용자가 웹사이트를 방문하여 아이디, 비밀번호 등의 인증정보를 통해 사용자 정보를 확인받으면 서버는 그 사용자를 위한 새로운 세션을 생성한다. 이 때, 서버는 고유한 세션 ID를 생성하여 클라이언트에게 전달한다. 세션 ID는 일반적으로 쿠키를 통해 클라이언트에게 저장된다.세션 저장서버는 세션 ID를 키로 사용하여 세션 데이터를 서버 측 저장소에 저장한다. 세션 데이터에는 사용자의 로그인 상태, 장바구니 .. 백엔드 개발자라면 대답해야 할 100가지 질문 2024. 6. 27. [알고리즘, BOJ] 1766 문제집 - java 문제민오는 1번부터 N번까지 총 N개의 문제로 되어 있는 문제집을 풀려고 한다. 문제는 난이도 순서로 출제되어 있다. 즉 1번 문제가 가장 쉬운 문제이고 N번 문제가 가장 어려운 문제가 된다.어떤 문제부터 풀까 고민하면서 문제를 훑어보던 민오는, 몇몇 문제들 사이에는 '먼저 푸는 것이 좋은 문제'가 있다는 것을 알게 되었다. 예를 들어 1번 문제를 풀고 나면 4번 문제가 쉽게 풀린다거나 하는 식이다. 민오는 다음의 세 가지 조건에 따라 문제를 풀 순서를 정하기로 하였다.N개의 문제는 모두 풀어야 한다.먼저 푸는 것이 좋은 문제가 있는 문제는, 먼저 푸는 것이 좋은 문제를 반드시 먼저 풀어야 한다.가능하면 쉬운 문제부터 풀어야 한다. 예를 들어서 네 개의 문제가 있다고 하자. 4번 문제는 2번 문제보다 먼.. 알고리즘 2024. 6. 27. 21. 세션과 쿠키의 차이점 Web 생태계에서 HTTP 프로토콜은 상태를 유지하지 않는다는 특성 때문에 사용자의 상태를 유지하기 위한 수단으로 오랜 기간 사용되었던 것은 세션과 쿠키이다. 사용자는 웹 애플리케이션을 사용하는 동안 정보를 계속 유지하거나 전달할 수 있다. 유사한 목적을 가지고 사용되는 세션과 쿠키가 어떤 차이점을 가지는 지 알아보자. 1. 저장 위치 세션은 서버 측에 데이터를 저장하는 기술이며, 주로 사용자의 상태를 유지하기 위해 세션 변수를 저장하는 데 활용된다. 사용자가 웹 페이지에 접속하면 서버는 해당 사용자에 대한 고유한 세션을 생성하고, 세션 변수에 정보를 저장하여 상태를 유지한다. 반면 쿠키는 클라이언트 측에 데이터를 저장하는 작은 텍스트 파일로, 사용자의 브라우저에 저장됩니다. 쿠키는 주로 사용자가 웹 사.. 백엔드 개발자라면 대답해야 할 100가지 질문 2023. 12. 14. 성능 판단을 위한 대표적인 지표 Throughput(처리량) 시간당 처리량을 의미한다. 이 처리량이라는 것이 사실 추상적인 의미이므로 구체적인 수치를 의미할 때는 보통 TPS(Transaction per secons)나 RPS(Request per seconds) 등으로 이야기한다. 처리량이 클수록 더 좋은 성능을 의미한다. TPS 여기서 Transaction은 DB 트랜잭션 뿐 만을 의미하는 것이 아니라 Business의 한 사이클을 트랜잭션이라 의미한다. 유저 수에 따라 TPS는 지속해서 증가하다가 더 이상 증가하지 않고 유지되는 시점을 Saturation Point(포화 지점)라고 한다. 만약 이 지점을 지난후에 TPS가 떨어지게 된다면 튜닝이 필요한 시스템을 의미하게 된다. 포화지점은 '초당 처리할 수 있는 Transaction.. 개발일기 2023. 12. 14. 성능 테스트의 목적 성능 테스트는 시스템의 ‘고가용성’을 위해 문제점을 미리 파악하고 이를 방지하기 위해 수행된다. 시스템 성능에 문제를 줄 수 있는 요소는 컴퓨팅 리소스 사용 급증으로 인한 성능 저하, 급증한 DB I/O로 인한 blocking, DBMS에 급증한 request로 인한 DB lock 등이 있다. 또한, 성능 테스트의 대표적인 유형으로 ‘부하테스트(load test)’와 ‘스트레스 테스트(stress test)’가 있다. 1. 부하테스트(load test) 부하테스트는 시스템이 정상적인 작업 부하를 처리할 수 있는지 확인하는 것이 주된 목적으로 ‘임계 값 한계에 도달할 때까지’ 시스템의 부하를 지속적으로 증가시켜 시스템의 성능을 관찰하는 성능테스트이다. 시스템이 특정 부하 수준에서 어떻게 동작하는지를 평가하.. 개발일기 2023. 12. 13. [git] 이미 존재하는 폴더 깃헙에 올리기 1. github 저장소 생성 2. git에 올릴 root 폴더로 이동한 후 해당 폴더에서 터미널 열어주기 3. git directory 초기화 git init 4. commit 올리기 git add . git commit -m "First Commit" 5. remote repository 등록 git remote add origin [ github URL ] git push --set-upstream origin main 6. 깃헙 확인하기 cs/Git 2023. 11. 28. [Spring, Java] 외부 API 호출 Java 또는 Spring에서 외부 API를 호출하는 방법은 여러 가지이다. 1. HttpURLConnection/URLConnection 2. HttpClient 3. RestTemplate 4. WebClient 5. OpenFeign 빠른 사용/개발을 위해서는 사용하고자 하는 각각의 API vendor가 제공하는 클라이언트 라이브러리 자체를 이용해도 되겠지만, 특정 API에 종속되므로 최대한 지양하고자 한다. 또한, 각각의 기술들이 장단점 및 성격이 다르므로 상황에 맞게 선택하여 사용하여야 한다. HttpURLConnection/URLConnection 자바에서 제공하는 API 통신을 위한 클래스이다. 순수 자바 코드로 동작하며 URL을 이용하여 외부 API를 통해 데이터를 전송 및 조회할 수 있다.. 개발일기 2023. 11. 15. ssafy 신한 해커톤 지원 결과부터 말하면 해커톤 본선 진출에 실패했지만, 경험이 흥미로워서 한번 포스팅해본다. 기획 배경 21세기 대한민국은 인구 감소와 고령화의 본격적인 가속화를 경험하고 있습니다. 이러한 현상이 점차 사회의 모습을 흔들고 있어 대안을 모색하는 것이 시급한 과제로 떠오르고 있습니다. 저희 “웨딩SOL루션”은 이 개발기획서를 통해 결혼에 대한 경제적 진입 장벽을 낮춰 인구 감소 문제에 대응할 수 있는 금융솔루션을 소개하고자 합니다. 통계청에 따르면 올 23년 2월 출생아가 1만 9939명으로 신고되었습니다. 2월 기준 1981년 이후 처음으로 출생아수 2만명 선이 붕괴된 현실입니다. 연초부터 2만명 고지가 무너졌기 때문에 합계 출산율이 역대 최저였던 지난해(0.78명)보다 출산율이 더 낮아질 것이라는 경고가 나오.. 개발일기 2023. 10. 12. 이전 1 ··· 5 6 7 8 9 10 11 다음