전체 글 105

[AI hardware] Cache, Main Memory and Storage

작성자김명원일 시2024. 11. 19 (화) 18:00 ~ 21:00장 소복지관 B-128-1호참가자 명단임혜진,  장원준, 이재영, 성창민, 김명원 사 진 캐시 메모리: 느린 메모리에 대한 평균 접근 시간을 개선하기 위해 사용되는 작고 빠른 저장소이다.CPU와 메인 메모리 사이에서 데이터를 임시로 저장하는 고속 메모리이다.공간적 지역성, 시간적 지역성을 활용하여 성능을 높였다. 매우 빠르고 적은 용랴을 가지고 비용이 높다는 특징이 있다.RAM(Random Access Memory)은 프로그램이 실행되는 동안 데이터를 저장하는 주된 메모리이다.CPU와 직접 상호작용하며 실행 중인 프로그램의 코드와 데이터를 저장하는 역할을 한다.캐시보단 느리지만 storage보단 빠르고 휘발성인 특징이 있다.데이터를 장..

카테고리 없음 2024.11.20

[알고리즘] Disjoint sets (서로소 집합)

작성자장원준일 시2024. 11. 19 (화) 18:00 ~ 21:00장 소복지관 B-128-1호참가자 명단임혜진,  장원준, 이재영, 성창민, 김명원 사 진 서로소 집합 (Disjoint Set)이란 무엇인가?서로소 집합(Disjoint Set)은 이름 그대로, 서로 공통된 원소가 없는 집합들을 다루는 자료구조입니다. 예를 들어, 어떤 집합에 속하는 원소들이 다른 집합과는 완전히 구별되는 경우, 이들 집합을 서로소 집합이라고 합니다. 이 구조는 주로 그래프 알고리즘이나 네트워크 연결성 문제를 해결할 때 많이 사용됩니다. 즉, 서로 다른 원소들이 같은 집합에 속해있는지 여부를 확인하는 데 유용합니다. Disjoint Set 자료구조의 주요 연산서로소 집합 자료구조는 크게 세 가지 연산을 제공합니다: Ma..

카테고리 없음 2024.11.20

[알고리즘] 정렬알고리즘 #5 퀵 정렬 (Quick Sort) - Romuto, Hoare

작성자임혜진일 시2024. 11. 19 (화) 18:00 ~ 21:00장 소복지관 B-128-1호참가자 명단임혜진,  장원준, 이재영, 성창민, 김명원 사 진📍 퀵 정렬 (Quick Sort)퀵 정렬은 빠르다고 해서 퀵 정렬이다. 먼저 퀵 소트의 기본 흐름은 아래와 같다.1) 가장 왼쪽 원소를 pivot으로 선정 (pivot 선정 방식은 바꿀 수 있음)2) 배열 내 원소들을 pivot보다 작은 것 / pivot보다 큰 것 이렇게 두 개로 분류3) 각각의 배열 내에서 다시 1)부터 반복 (recursive)📍 C++ 구현 코드퀵소트를 구현하는 방식에는 Romuto의 방식, Hoare의 방식 두 개가 있다. 각 방식의 코드가 아래에 순서대로 있다. // Romutoclass Solution {public..

카테고리 없음 2024.11.19

[Django] 기존 모델에 유저 모델 연결하기

작성자성창민일 시2024. 11. 19 (화) 18:00 ~ 21:00장 소복지관 B-128-1호참가자 명단임혜진,  장원준, 이재영, 성창민, 김명원 사 진 기존 모델에 유저 모델 연결하기 기존 CLIVING의 모델은 유저를 넣을 것을 하나도 고려하지 않고 만들었었다.처음 백엔드를 개발하다보니, 막연하게 분리가 될 것이라고 생각했던 것 같다. 아무튼 저번 시간에 유저를 만들었고, 이제는 이전 모델에도 유저별로 정보를 따로 저장해야 했기에, 모델 개선에 들어갔다. 이 모델은 날짜별 페이지 기록을 생성하기 위해 만든 Page모델인데,아래 사진은 수정한 사진이다.이전까진 id와, user가 없었다. 그리고 date가 id의 역할을 했다. 처음엔 단순히 user 필드만 넣으면 알아서 날짜별, 유저별 분리가 되..

카테고리 없음 2024.11.19

[알고리즘] Disjoint Sets 공부하기(1) - 백준 10216 Count Circle Groups

작성자이재영일 시2024. 11. 19 (화) 18:00 ~ 21:00장 소복지관 B-128-1호참가자 명단임혜진,  장원준, 이재영, 성창민, 김명원 사 진이번 포스팅에서는 백준 10216번 Count Circle Groups 문제를 풀어보았다. 이 문제는 Union-Find을 활용하여 해결하는 문제로, 좌표 평면에서 주어진 원들의 군집을 찾아내는 문제이다. 문제 풀이 과정을 코드와 함께 정리해보았다.1. 문제 설명문제nnn개의 원이 좌표 평면 위에 주어집니다.각 원은 중심 좌표 (x,y)(x, y)(x,y)와 반지름 rrr로 정의됩니다.두 원이 서로 겹치는 경우 같은 군집(group)에 속합니다.주어진 ttt개의 테스트 케이스에 대해 각 테스트 케이스마다 원의 군집 개수를 출력해야 합니다.입력첫 줄:..

카테고리 없음 2024.11.19

[Django] User app 개발(모델 및 회원가입, 로그인)

작성자성창민일 시2024. 11. 12 (화) 18:00 ~ 21:00장 소복지관 B-128-1호참가자 명단임혜진,  장원준, 이재영, 성창민, 김명원 사 진 오늘은 Django 스터디에서 배웠던 것을 소화시킬 겸, 기존에 개발하던 cliving 프로젝트의 모델을 수정하고 새로운 기능을 개발했다. 1. users/models.py/기존 cliving은 User기능이 없었다. 따라서 이전 스터디에서 배웠던 것 처럼 app을 하나 더 만들어 User 모델을 구현했다. 기본적인 유저 정보와 어드민 계정 등 권한을 체크하기 위한 필드를 정의했다.AbstractBaseUser를 상속받아서 손쉽게 User 모델을 만들 수 있었다. 그리고 휴대폰 인증을 위한 PhoneVerification 모델을 추가하여 뒤에서 설..

카테고리 없음 2024.11.12

[인공지능 하드웨어] Grid, Block and Thread

작성자김명원일 시2024. 11. 12 (화) 18:00 ~ 21:00장 소복지관 B-128-1호참가자 명단임혜진,  장원준, 이재영, 성창민, 김명원 사 진1. 스레드 (Thread)CUDA 장치에서 동시에 실행되는 코드와 관련된 상태를 가진 실행 단위를 정의한다. 여러 스레드가 병렬로 실행된다.CUDA에서는 스레드가 병렬 작업의 기본 단위로 사용된다. 많은 수의 스레드가 동시에 실행되어 데이터를 병렬로 처리한다.CUDA 스레드는 CPU 스레드에 비해 생성 비용, 자원 사용, 스위칭 비용이 훨씬 적다. 이는 GPU의 대량 병렬 처리 능력을 효율적으로 활용할 수 있게 한다. 2. 스레드 블록 (Thread Block)함께 실행되는 스레드 그룹을 정의한다. 하나의 멀티프로세서에서 공유 메모리를 사용할 수있..

카테고리 없음 2024.11.12

[알고리즘] DP 공부하기(4) - 백준 12865 평범한 배낭

작성자이재영일 시2024. 11. 12 (화) 18:00 ~ 21:00장 소복지관 B-128-1호참가자 명단임혜진,  장원준, 이재영, 성창민, 김명원 사 진이번 모각코에서는 백준 골드 수준의 DP 문제를 풀어보았다. 앞으로 어려운 문제를 대비하며 기초를 탄탄히 다지는 중이다. 다음은 이번에 풀어본 문제와 그 풀이 과정을 정리한 내용이다.1. 백준 12865번 - 평범한 배낭 (0/1 Knapsack 문제)문제물건 N개가 있고, 각 물건은 무게 W와 가치 V를 가지고 있습니다. 배낭에는 최대 K의 무게까지 담을 수 있으며, 우리는 배낭에 담을 수 있는 물건들의 가치 합이 최대가 되도록 선택하고자 합니다.즉, 물건을 적절히 선택하여 배낭에 담았을 때 얻을 수 있는 최대 가치를 구하는 문제입니다.입력첫 줄..

카테고리 없음 2024.11.12

[알고리즘] 정렬알고리즘 #4 합병정렬 (Merge Sort)

작성자임혜진일 시2024. 11. 12 (화) 18:00 ~ 21:00장 소복지관 B-128-1호참가자 명단임혜진,  장원준, 이재영, 성창민, 김명원 사 진📍 합병정렬 (Merge Sort)합병 정렬은 Divide & Conquer (분할정복) 방식을 기반으로 한 정렬이다. 배열을 쪼개고 쪼갠 뒤 합치는(merge) 과정에서 정렬이 된다. 그래서 Merge Sort이다. 📍 C++ 구현 코드class Solution {public: void merge(vector& nums, int start, int mid, int end){ int n = nums.size(); vector tmp(n+1); for(int i=0;i& nums, int start, in..

카테고리 없음 2024.11.12

[컴퓨터 비전] Backpropagation(역전파)

작성자장원준일 시2024. 11. 12 (화) 18:00 ~ 21:00장 소복지관 B-128-1호참가자 명단임혜진,  장원준, 이재영, 성창민, 김명원 사 진1. Backpropagation(역전파)  Backpropagation은 인공 신경망에서 오차(예측과 실제 값의 차이)를 뒤로 전파하여 각 가중치를 업데이트하는 알고리즘입니다. 이 과정은 신경망이 예측 결과를 개선할 수 있도록 가중치를 조정하여 학습하는 데 기여합니다. 이 알고리즘은 경사 하강법(Gradient Descent)과 결합되어 사용되며, 네트워크가 예측과 실제 간의 오차를 최소화하도록 도와줍니다.2. Forward Propagation과 오차 계산먼저 입력 데이터를 신경망에 입력하여 Forward Propagation을 수행합니다. Fo..

카테고리 없음 2024.11.12