본문 바로가기

전체 글131

[독후감] 동물농장 - 조지 오웰 https://m.yes24.com/Goods/Detail/17352 동물농장 - 예스24 “모든 동물은 평등하다.그러나 어떤 동물은 다른 동물들보다 더 평등하다.” 20세기 영미 문학의 가장 중요한 작가 조지 오웰정치권력을 부패시키는 근본적 위험과 모순에 대한 빼어난 우화문 m.yes24.com 나는 책과 거리가 멀다. 이번에 책에 재미를 붙여보고자 상반기 목표로 독서를 잡았다. 재미를 붙이기 위해 쉬운 책부터 시작하려고 한다. 첫 책은 계속 읽으려고 도전하려다 흐지부지되었던 조지 오웰의 동물농장부터 시작한다. 읽으면서 기록 스노볼과 돼지들이 사과를 독식함 p.35 존즈 무리를 무찌름. (외양간 전투) p.43 당나귀 몰리는 각설탕에 홀려 인간들의 품으로 돌아감 p.45 나폴레옹이라는 돼지가 개를 길러.. 2024. 2. 7.
2024 2월 목표와 기록 2월 목표 완독 푸시업 첫세트 40개 20개 달성 책으로 주식 공부 시작 완독 2월 4일 2월 5일에 작성하는 2월 4일 기록이다. 이날까지는 aws캠프, 토익 등으로 해서 잠시 쉬어가는 시간을 가졌다. 오랜만에 푸시업을 했다. 첫세트 25개밖에 나오지 않았다. 운동은 1주일정도 쉰 것 같은데 너무 빨리 줄어드는거 아닌가 ㅠ 2월 7일 동물농장 책을 보고 독후감을 작성하였다. 생각보다 책이 술술 읽혔다. 며칠전에 찬이랑 푸시업을 했다. 찬이가 푸시업 정자세를 알려주었는데 정자세로 하니 내가 하던거의 절반정도 하는 것 같다. 따라서 목표를 40개가 아닌 정자세 20개로 수정하겠다. https://parkyoungkyu.tistory.com/entry/%EB%8F%85%ED%9B%84%EA%B0%90-%EB.. 2024. 2. 5.
AWS 해커톤 캠프 2,3일차 캠프가 끝난지 3일 지난 후 작성하는 후기이다. 1일차때 했던 실습 교육을 2일차 4시까지 이어서 하였다. Lambda와 서버리스 챗봇을 직접 만들어보는 시간을 가졌다. 실습교육이 끝난 이후에는 잠시 휴식한 후 6시에 팀빌딩 발표를 해주었다. 우리 팀은 1일차때 친해져서 "같은 팀 하고 싶어요"칸에 체크 표시해둔 찬솔이형과, 다윤, 수연이었다. 찬솔이형 말고 다른 두 명은 초면이라 초반에 치킨과 피자 먹으면서 친해지는 시간을 가졌다. 이때 이것저것 얘기하며 조금은 친해진 것 같다 ㅋㅋㅋ 해외에 나가서 살고싶다는 낭만 이야기도 하고 태어난 김에 세계일주 이야기도 하였다. 친해지는 시간에 팀명이랑 주제도 정해야 했다. 주제는 서비스를 만드는 것이다. 사용자가 직관적인 질문에 대답을 한다. 예를 들어 바다 v.. 2024. 2. 5.
AWS 해커톤 캠프 1일차 어제 이사를 마치고 아침에 일찍 일어나서 부랴부랴 쉐어하우스에 놓고 온 짐좀 챙기고 송파에 있는 호텔 파크하비오로 향했다. 오자마자 AWS에 대해 간단히 이야기를 나누는 시간을 가지고 바로 싸이버거 2개 냠냠했다. 호텔밥 먹는 줄 알았는데 생각과 달랐지만? 그래도 맛은 있었다. 들어와서 옆자리에 앉은 오찬솔님과 이런저런 이야기를 나누었다. 시립대에서 오신 분이라 더 반갑고 성격도 엄청 좋으신 분이었다. 이 이후에는 IT 트렌드에 대해 간단하게 배웠다. 처음 들어보는 내용이 많아서 어질어질했지만, 왜 클라우드가 성장하는지, 필요한지 등에 대한 내용이었다. 가장 기억에 남는 이야기는 GPT-Store에 앱을 꼭 하나는 내보라고 하신 것과, Canva와 slack을 활용할 줄 알아야 한다는 내용이었다. 이 이.. 2024. 1. 30.
[실전문제연구단] GREET 코드 뜯어보기 - 4. train 과정 전 게시글들에 모델에 대한 간단한 설명을 적어놓았다. 이번엔 train 과정을 살펴보겠다. 논문에서 소개한 학습 방식의 자료이다. 먼저 Dual-channel Representation Learning Module이다. 이 모듈은 Edge Discriminating Module로부터 Homophiliy한 그래프 View(인접행렬)과 heterophily한 그래프 View(인접행렬)을 받아서 이를 필터에 통과시켜 임베딩을 구한다. 그 후 둘의 차이를 이용해서 Negative Contrastive Loss를 구하여 Back propagation을 진행한다. def train_cl(cl_model, discriminator, optimizer_cl, features, str_encodings, edges): .. 2024. 1. 15.
[실전문제연구단] GREET 코드 뜯어보기 - 3. Edge Discriminator 모델 class Edge_Discriminator(nn.Module): def __init__(self, nnodes, input_dim, alpha, sparse, hidden_dim=128, temperature=1.0, bias=0.0 + 0.0001): """ 그래프 엣지를 판별하는 모델인 Edge Discriminator의 클래스입니다. Parameters: - nnodes: 노드의 수 - input_dim: 입력 특성의 차원 - alpha: Negative sampling에서 사용되는 가중치 - sparse: 희소 그래프 여부 - hidden_dim: 은닉 레이어의 차원 (기본값: 128) - temperature: Gumbel-Softmax 샘플링의 온도 매개변수 (기본값: 1.0) - bias:.. 2024. 1. 13.
[실전문제연구단] GREET 코드 뜯어보기 - 2. GCL 모델 코드에 모델이 두 개 있다. 하나는 GCL, 하나는 Edge_Discriminator이다. 이 게시글에서는 GCL모델이 무엇인지 설명할 것이다. GCL은 Graph Contrastive Learning의 약자로, 비교하는 방식을 학습시키는 모델이다. 간단히 말해서 두 입력의 차이를 계산한다고 할 수 있다. 논문에서 소개한 Dual-channel Representation Learning Module이다. 데이터셋 Nodes: 2708 Edges: 10556 class GCL(nn.Module): def __init__(self, nlayers, nlayers_proj, in_dim, emb_dim, proj_dim, dropout, sparse, batch_size): super(GCL, self).__.. 2024. 1. 12.
[실전문제연구단] GREET 코드 뜯어보기 - 1. data 확인 GREET을 소개한 논문에서 graph convolution을 더 잘 하기 위해서 edge가 heterophily한지 homophily한지 판별하는 판별기를 제시했다. 이 부분을 조금 자세히 볼 예정이다. 먼저 데이터 부분이다. cora 데이터를 로드하면 어떤 것이 프로그램 변수로 할당되는지 알아보았다. https://docs.dgl.ai/generated/dgl.data.CoraGraphDataset.html#dgl.data.CoraGraphDataset cora 데이터셋의 공식 문서를 보며 비교해보자. def load_data(dataset_name): path = os.path.join(os.path.dirname(os.path.realpath(__file__)), '.', 'data', datas.. 2024. 1. 12.
[실전문제연구단] 주제 선정 학교에서 진행하는 실전문제연구단 프로젝트의 방학 후 2주동안 공부와 고민을 거듭하다가 주제가 드디어 잡혔다. 처음에는 GCN의 오버스무딩을 관찰하는 방법을 제시하려고 하였다. 첫 번째 방법은 노드 당 attention coefficient가 얼마나 같아지는지 보고, 비슷해진다면 오버스무딩이 일어났다고 보는 방법이다. 두 번째 방법은 graph conv를 할 때마다 같은 클러스터 수로 클러스터링을 진행하고, 특정 클러스터 수가 넘어가면 오버스무딩이 일어났다고 보는 방법이다. 이 두 방법 모두 교수님께 통과되지 못하고, 다른 주제로 하게 되었다. 이제는 2인 1조로 같은 연구실 친구와 함께 프로젝트를 진행한다. 우리의 주제는 노드끼리 homophily한지 heterophily한지를 구별해내는 방법을 제시하려.. 2024. 1. 11.
2024 1월 목표와 기록 1월 목표 동물농장 완독 푸시업 20 15 15 15 15 달성(쉬는 시간 정해놓고) 토익 820점 실전문제연구단 프로젝트 완성 2번 목표는 세트 사이 쉬는시간을 1분 ~ 2분으로 정해놓고 1세트는 20개, 2세트부터는 15개를 달성하는 것이다. 1월 6일 푸시업을 진짜 오랜만에 했다. 동물농장 start 1월 7일 근육통 때문에 하나 하기도 힘들어서 플랭크로 대체했다. 1월 8일 푸시업 20 10 9 8 7개 달성 토익 모의 테스트 825점 1월 9일 실전문제 연구단 주제 갈피를 어느정도 잡았다. 1월 11일 매일 기록하는건 크게 의미있는 것 같지 않다. 적어도 1주일에 한 번은 기록하겠다. 실전문제 연구단 주제 확정되었다. 이제부터 이 주제로 연구 시작이다. 매일 푸시업 하고 있다. 이상하게 개수가 .. 2024. 1. 9.
2024 상반기 계획 2024년이 왔다. 시간이 너무 빠르다. 작년까지는 새해 목표를 계속 세워왔다. 하지만 작년 새해 목표가 기억이 나지 않는다. 카톡 검색으로 계획을 찾아보니 지켜진게 없었다. ㅋㅋㅋㅋ 항상 이렇듯 새해 목표는 안 하면 섭섭한, 연례행사같은 느낌이었다. 하지만 이제부터는 달라졌다. 계획을 짧게 세울 계획이다. 먼저 크게 상반기 계획을 세웠다. 상반기에는 총 다섯가지 목표가 있다. 학업 - 날씨의 아이 앱 배포 학업 - 학부연구생 재테크 - 주식 시작(+10% 목표) 건강 - 풀업 1개 달성 교양 - 월 1권 독서 2번 목표는 원래 dacon이나 kaggle로 데이터분석과 머신러닝 공부였다. 하지만 부모님은 나보다 훨씬 뛰어난 교수님 아래에서 공부하는 것이 아마 더 도움이 될 것이라고 하셨다. 부모님과 이야.. 2024. 1. 9.
[학교 경진대회] AI 첫 시도 - 2023 AICOSS 해커톤 경진대회 학교에서 ai경진대회가 열렸다. 이제 막 인공지능 수업을 다 듣고 관심이 가던 차라서 지원하였다. 간단한 설명은 아래와 같다. [배경] 2023 AICOSS 해커톤 경진대회'에서는 서울시립대 재학생들에게 실제 산업 현장에서 요구되는 고급 알고리즘 최적화와 데이터 활용 전략을 경험할 수 있는 독특한 기회를 제공하고자 합니다. 또한 이론과 실전을 결합하여 참가자들이 현실 세계의 문제를 해결하는 데 필요한 실질적인 기술과 지식을 습득하며, 그 과정에서 자신의 역량을 한층 더 성장시킬 수 있을 것 입니다. [주제] 위성이미지 다중 객체 분류 [설명] 다양한 지리적, 환경적 특징을 포함하는 위성이미지를 기반으로 다중 객체 분류(Multi-Label Classification)를 수행하는 AI 모델 개발 바쁘지만 .. 2023. 12. 26.
파이썬 대화형으로 실행하기 파이썬을 대화형으로 한 줄 입력하면 결과를 출력하는 방식으로 코딩을 하고 싶다면 터미널에 아래 코드를 입력하면 된다.(자신이 사용하는 파이썬 버전 입력하면 됨) python3 근데 특정 파일을 실행시킨 후 대화형으로 코딩하고싶다면 아래 옵션을 추가해주면 된다. python3 -i main.py 2023. 12. 26.
form data란? 소공 과제를 하면서 음성인식을 위해, 녹음한 파일을 바로 서버로 전송시키는 방법이 뭐가 있을까 생각해보았다. 그러다 든 생각이, body에 파일을 담아서 보내자 였다. 그런데, 그 큰 파일을 어떻게 body에 담을 수 있을까? 계속 검색하고, ChatGPT한테 물어보아 해결하게 되었다. https://ko.javascript.info/formdata FormData 객체 ko.javascript.info 이 글을 많이 참고하였다. 프론트를 맡은 친구가 녹음하는 부분까지 구현하였던 코드를 샅샅히 살펴보았다. 녹음한 파일은 webm파일로 저장되고, Blob객체에 담겨져있었다. 그렇다면 Blob(Binary Large Object)은 무엇인가? https://developer.mozilla.org/ko/doc.. 2023. 11. 29.
CORS 에러, 무엇일까? 소공 과제를 하던 중 CORS에러때문에 엄청 고전했다. 내가 이해한 CORS와 해결 방식을 작성하려고 한다. https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-CORS-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95-%F0%9F%91%8F 🌐 악명 높은 CORS 개념 & 해결법 - 정리 끝판왕 👏 악명 높은 CORS 에러 메세지 웹 개발을 하다보면 반드시 마주치는 멍멍 같은 에러가 바로 CORS 이다. 웹 개발의 신입 신고식이라고 할 정도로, CORS는 누구나 한 번 정도는 겪게 된다고 해도 과언이 inpa.tistory.com 이 게시글로 공부를 하였다. CORS란? 위 블로그에서는 CORS.. 2023. 11. 29.
post api 간단하게 테스트 소프트웨어공학 과제를 하다가 post api를 테스트하고싶은데 어떻게하는지 모르겠어서 ChatGPT한테 물어보았다. curl -X POST {api_url} -H "Content-Type: application/json" -d '{"key1": "value1", "key2": "value2"}' 이 코드를 명령어로 입력하면 그에 해당하는 return값을 받을 수 있다. curl -X POST http://127.0.0.1:5000/operator_input -H "Content-Type: application/json" -d '{"map_input": "(4 5)", "start_input": "(1 2)", "spot_input": "((4 2)(0 5)(1 3))", "color_input": "((.. 2023. 11. 24.
Facade pattern 파사드 패턴이란, 복잡한 서브시스템 의존성을 낮춰주는 패턴이다. 클라이언트에서 여러 서브시스템을 호출하는 것이 아니라, 여러 서브시스템들에 대한 통합 인터페이스를 제공하는 파사드 클래스에서 서브 시스템을 더 쉽게 사용할 수 있게 해준다. 더 높은 수준의 인터페이스이다. 소프트웨어 공학 과제를 예시로 들어보자. 클라이언트에서 자동화 시스템 AddON과, 기계 및 센서를 가지고 있는 SIM을 모두 호출한 후, 로직을 짰었다. 그런데 이 파사드 패턴을 이용해서, 컨트롤러라는 클래스를 만들고, 클라이언트에서는 controller.run()메소드를 한 번만 실행해서 내부 동작이 모두 일어나도록 하려고 한다. 이렇게 하기 위해, 컨트롤러라는 클래스 안에 AddON, SIM등을 호출하고 내부 동작들을 모두 컨트롤러에.. 2023. 11. 23.
파이썬 패키지 소프트웨어 공학 과제를 하는 중 모듈화를 시키는 부분에서 어려움을 조금 느꼈다. 처음엔 모든 파일이 한 곳에 몰려있었다. 이것을 service, domain, controller 폴더로 배치시키는 작업을 하였다. 여기서 필수적으로 해야할 것은, 각 폴더마다 __init__.py파일을 만들어주는 것이다. 이것을 해야, 인터프리터가 해당 폴더를 패키지라고 인식한다. __init__.py 해당 폴더를 패키지로 인식시켜주는 파일이다. 해당 패키지의 파일이 어디선가 import가 되면 __init__.py 파일이 실행된다. domain패키지의 __init__.py파일이다. from domain import MapInfo를 실행한다면, 위 파일이 실행된다. 다음엔 https://github.com/BillMills.. 2023. 11. 22.
[챗봇] 카카오톡 챗봇 만들기 보호되어 있는 글 입니다. 2023. 9. 21.
[React] ReactJS로 영화 웹 서비스 만들기 js를 익혔으니 react로 넘어가보자 https://nomadcoders.co/react-for-beginners/lectures/3257 All Courses – 노마드 코더 Nomad Coders 초급부터 고급까지! 니꼬쌤과 함께 풀스택으로 성장하세요! nomadcoders.co 이 강의를 따라갈 예정이다. 강의를 따라가면서 느끼고 배운 것들을 한 페이지로 요약해서 작성하겠다. 9.18 시작 ~ #2 [2021 UPDATE] THE BASICS OF REACT react 간단히 다운로드 하는 법 https://ko.legacy.reactjs.org/docs/add-react-to-a-website.html 이 링크를 참고하면 할 수 있다. 이렇게만 작성해두면 React를 사용할 수 있다. conso.. 2023. 9. 18.