기타 24

[RL] 강화학습이란

4월 8일(월) 랩실 레지던트 시작강화학습의 사용 사례→ 알파고로 유명해짐이후 주식 트레이딩 봇 개발 및 구글 딥마인드 눈 스캔 분석으로 질병 진단을 도움강화학습이란보상 체계를 활용해 에이전트가 긍정적 행동을 할 수 있도록 에이전트의 행동을 제어하는 정책을 찾아내는 최적화 기법에이전트는 ‘정책’에 따라 주어진 ‘환경’에서 ‘행동’을 한다.위 행동에 따라 환경의 ‘상태’가 바뀌고, 결과에 따라 ‘보상’을 얻는다.강화학습은 위 보상이 최대가 될 수 있게 하는 ‘정책’을 찾는 것가장 좋은 정책을 찾는 것이 목적 → 누적 보상의 합을 최대로 함정형/비정형의 많은 데이터를 다루는 머신러닝/딥러닝과 달리데이터를 스스로 만들어냄 → 데이터량 부담 감소확률과정시간 흐름에 따라 확률적(무작위적)으로 움직이는 상태, {X..

[자격증] 리눅스마스터 2급 후기 + 학점은행제 신청

리눅스마스터 2급 시험은 2023년 12월 9일 토요일이다. 해커톤 + 기말 + 리눅스마스터 2급 시험 이 모든 걸 12월 초에 몰아서 하느라 바쁘게 살긴 했다. 리눅스마스터 2급 자격증 시험을 치겠다고 다짐한 건 3가지 이유 1. 리눅스 과목이 재밌어서, 나에게 도움이 많이 됐어서 더 알아보고자 2. 리눅스 수업해주시는 교수님이 좋아서 3. 학점은행제로 5학점 + 리눅스활용및프로그래밍 과목 0.5 학점 증가 위 이유들로 나는 바쁜 스케줄임에도 불구하고 리눅스마스터 2급을 치기로 했다. 나는 일정이 많아 리눅스마스터 공부를 미루고 미루다 결국 전날 목요일부터 공부하기 시작했다. 사실 목요일도 바빠서 "내일(금)은 리눅스마스터만 공부할 거야. 내 상태를 지금 미리 봐보고 사태의 심각성과 공부법을 정해두자"..

기타 2024.01.10

[기술스택 설명] 메타버스 수도 경북 해커톤, 유니티-리액트&iOS-스프링

본 게시물은 메타버스 수도 경북 해커톤에 참가하여 어떤 기술스택을 사용하여 프로젝트에 녹아냈는 지에 대해 기술해보겠다. 전체적 흐름도 확장형 하이브리드 메타버스 플랫폼으로써 메타버스 요소를 유니티로 구현한 다음 해당 내용을 웹, 앱과 같이 접근성이 뛰어난 다양한 플랫폼에서 유니티를 동작하게 하고 싶었다. 그래서 웹/앱에서 로그인을 하면 유니티 게임 속으로 진입하여 멀티플레이 및 안전 시나리오를 할 수 있다. 멀티 흐름도 웹 페이지에서는 리액트, 앱에서는 iOS라 생각하고 봐주면 이해가 쉽다. 리액트와 iOS는 연결 매개체로 유니티와 서버의 상호작용을 전달받고 전달해주는 역할이다. 서버 측에서는 stateless가 없는 웹소켓을 활용하여 데이터들을 양방향으로 멀티플레이를 구현했다. 유니티 측에서는 오브젝트..

기타/해커톤 2024.01.04

[회고] 메타버스 수도 경북 해커톤 후기

대회 개요 대회명 : 2023년 메타버스 수도 경북 해커톤 해커톤 주제 : (자유주제) 전국적 사회문제 및 공익 문제 해결 대회 일정 : 2023년 12월 21일 목요일 11시 ~ 2023년 12월 22일 금요일 15시 해커톤 결과 해커톤 주제 소개 우리팀 주제 확장형 하이브리드 메타버스 재난 시뮬레이션 플랫폼 웹 로그인 후 유니티 환경 렌더링 유니티 환경의 로비 씬에서 리스폰 -> 대피 시나리오 4개 중 선택 기술스택 : 웹 프론트(React), 모바일 앱(iOS), 유니티(Unity), 서버(Spring) 내 역할 프론트, iOS, 유니티(개인 씬) 잘한 점 멀티 플레이 구조를 완벽하게 설명함 설계에 따른 구현률 100% 세분화된 역할 분담 못한 점 멀티 플레이 구조를 완벽하게 설명했으나, 심사위원이..

기타/회고록 2023.12.26

[git] 깃허브 협업 시 Pull Request 활용 방법 총정리

개요 지난 앱 프로그래밍 팀 프로젝트에서 깃을 공부하지 않고, '한 사람 작업이 끝나면 압축 -> 메일 전송'과 같은 바보 같은 방식을 사용하여 이번 프로젝트를 진행할 때는 그러지 않기로 위 내용을 공부하여 정리한다. Pull Request 사용 단계 원본 저장소에서 브랜치 생성 1단계에서 생성한 브랜치를 내 원격 저장소로 Fork 내 원격 저장소 Clone 원본 저장소 Remote 설정 내 원격 저장소 브랜치 생성 5단계에서 생성한 브랜치에 add, commit, push 원본 저장소에 대한 Pull Request 생성 원본 저장소 관리자에 의해 Merge Pull Request 원본 저장소의 Merge 동작을 마치면 내 원격 저장소의 main과 동기화 후 branch 삭제 원본 저장소에서 브랜치 생성..

기타/git 2023.11.18

[git] Git Pull과 Clone, 여러 저장소 다루기

여러 로컬 저장소 다루기 여러 로컬 저장소 → 하나의 원격에 접근할 때 연동이 되어 있으면 다른 로컬 저장소에서 push 하더라도, 해당 로컬 저장소에서 비교하여 Pull로 최신화(동기화) 할 수 있음. Pull : 원격저장소에서 변동을 했을 때, 로컬 저장소로 불러오기 clone : 새 컴퓨터에서 원격 저장소와 연동하려면, 새 컴퓨터에도 로컬 저장소가 있어야 함 체크박스 클릭 시, 워크스페이스 폴더도 사라짐. 로컬 저장소만 삭제하고 싶으면 깃허브 들어가서 수동으로 Clone 나의 원격 저장소를 여러 컴퓨터가 쓸 때 다른 사람의 원격 저장소를 나의 로컬 저장소와 연동할 때 깃허브 내에서 집 파일을 다운 받는 개념이 아님. 원격 저장소 내용 복제 (HTTPS URL 링크) 복제한 내용을 내 컴퓨터로 로컬 ..

기타/git 2023.11.18

[git] Git branch와 Merge 합병 충돌

git branch branch : 커밋의 복사본 직접 코드를 작성하는 게 위험하기에 복사본을 만들고 거기에 개발을 하는 개념 git branch 브랜치명 : 브랜치 생성 git switch 브랜치명 : 브랜치로 이동함 == git checkout 과 동일 브랜치 위치가 바뀌면 이전 브랜치 위치의 복사본이 보이지 않음 git status : coupon 브랜치로 온 것을 볼 수 있음 다른 브랜치를 원본 브랜치(main)에 합치고 싶으면 메인 브런치로 넘어가서 git merge 합칠 브랜치명 git merge coupon : coupon 브랜치의 내용을 합침 이후 :wq 로 종료 브랜치를 합칠 때, 서로 다른 파일만 건드렸다면 다른 파일을 서로 수정해놨다면, 문제 없이 잘 됨. 브랜치를 합칠 때, 같은 파..

기타/git 2023.11.18

[git] Git add, commit, diff, difftool

git add 및 commit git init : 현재 폴더가 workspace가 됨 (.git 파일이 숨김으로 만들어짐) 깃이 해당 폴더 내에 있는 파일들을 버전관리 대상으로 보고, 변경을 감지할 수 있게 함 git add 파일명 : stage || Index에 넘겨주는 역할. 파일 내용이 변경되면 해당 내용을 인덱싱 git add . : 해당 폴더의 전체 파일을 인덱싱함 git status : 현재 인덱싱(스테이징) 되어 있는 파일의 목록을 보여줌 git commit -m “메세지” : Index에서 인덱싱된 파일의 내용을 .git 파일(로컬 저장소)에 저장하는 명령 메세지는 수정한 내용 등 내가 표기하고 싶은 내용 git commit -a : add와 commit 명령을 묶어서 한 번에 처리. -a..

기타/git 2023.11.18

앱 개발 프로젝트에서 배운 점(4) : 프래그먼트 간의 데이터 전달

이번 프로젝트에서 제일로 어려웠던 부분이다. 상황은 이렇다. 메인 액티비티 레이아웃에 가이드라인 8 : 2로 LinearLayout 8, Start 이미지 2로 잡았다. LinearLayout에는 weightSum=10으로 하여 텍스트뷰 0.5, 프래그먼트_1_1은 7, 프래그먼트_2_1은 2.5 이렇게 weight를 주어 레이아웃을 형성했다. 메인 액티비티는 시작화면이다. 1_1과 2_1 프래그먼트에서 값을 설정한 뒤, Start 버튼을 눌렀을 때 이 데이터들이 1_2와 2_2 프래그먼트로 이동해야 한다. Start.setOnClick 리스너를 사용하면 정보 전달이 쉽게 가능하나, 이미 Start 온클릭 리스너는 프래그먼트의 변경하는 역할을 메인 액티비티에서 하고 있음. 데이터 전달까지 Start 이미..

기타/AOS, Kotlin 2023.08.15

앱 개발 프로젝트에서 배운 점(3) : TextView 배열의 원소 증감 처리 및 메인 액티비티로 넘겨주기

순서대로 레이아웃에 아래의 id로 저장되어 있다. image0 number0 image1 image2 number1 image3 image4 number2 image5 image6 number3 image7 프래그먼트간의 데이터를 주고받을 때, EditView 4개도 주고받아야 한다. 그래서 레이아웃의 EditVew id 하나하나당 총 4번으로 데이터를 넘겨주려 했는데, 코드의 가독성이 매우 낮아질 거 같아서 찾아보니 Textview 배열에 담아줄 수 있었다. 레이아웃에서 EditText 뷰의 아이디를 통일시켜준다. Textview 배열과 ImageView 배열 초기화 이미지에 따른 텍스트뷰 증감 처리 레이아웃에서 EditText 뷰의 아이디를 통일 Textview 배열과 ImageView 배열 초기화 ..

기타/AOS, Kotlin 2023.08.15