전체 글 110

첫 번째 모임 기록.(2024.01.06)

금일 첫번째 모각코 모임을 가졌다. 팀원간에 상의해서 수립한 모임 일정은 매주 금요일 오전 16시에 모여서 19시까지 3시간을 진행, 팀원들의 사정을 고려해서 어려울 시 토요일 10시~13시로 임시 변경을 하기로 하였다. 매 모임마다 1) 각 개인별 이번 모임 목표를 공유. 2) 모임 종료 후 각 개인별 결과를 공유 한 것을 해당 카테고리에 올릴 것이다. 1. 개인별 이번 모임 목표 - 김지안 현재 작성중인 "IRSML 알고리즘 실제 구현" 을 공부할 것이다. 이번 모각코에서 SL phase 구현을 마무리하고, RL phase를 구현하며, 어떻게 Simulation을 진행할지에 대해 공부할 계획이다. - 서동영 이번 모각코에서 GLFW 기반 OpenGL 개념 공부 (OpenGL에서 정점 데이터 해석 처리..

모각코 첫 번째 모임 개인 계획, 활동과정 및 결과

이번 모각코에서는 현재 작성중인 "IRSML 알고리즘 실제 구현" 을 공부할 것이다. 구체적으로는 저번 시간까지 SL phase를 거의 다 작성했으므로 이번 모각코에서 SL phase 구현을 마무리하고, RL phase를 구현하며, 어떻게 Simulation을 진행할지에 대해 공부할 계획이다. 또한 팀장으로써 앞으로 모각코 모임 일정을 정하고, 전체적으로 매 모임마다 어떻게 진행할 지 형식을 정할 것이다. 활동 과정 : IRSML의 SL, RL Phase 구현 idea 이전에 공부한 내용까지는 SL phase의 구현까지였다. IRSML에서 SL phase 구현을 요약해보면, Simulation Network를 OMNeT++, INET framework 2.0을 활용해 다음과 같은 환경으로 구성하고, 10..

IRSML 논문 구현 아이디어(알고리즘)

* 본 블로그에 작성한 논문 IRSML을 읽고 어떻게 직접 시뮬레이션을 구현해볼지 아이디어들을 작성해놓은 글입니다. ! 중요한 개념 * erlang 등 다양한 정보통신학 용어(http://www.ktword.co.kr/test/view/view.php?m_temp1=519) ㅇ 트래픽 밀도의 단위 및 차원 - 차원 : 무차원 - 단위 . [Erlang] : 1회선을 1시간 동안 점유한 트래픽량 구현 아이디어 1. Supervised learning Phase 본 논문에서는 Offline Training, 즉 배치 기법을 활용하였다. 해당 방법에서는 사전에 준비된 Data set을 Training, test, validation(optional) 으로 나누어 Training data set으로 훈련을 시키..

구현 2024.01.04

ANTLR를 이용한 tinyPython to Jasmin 컴파일러 만들기. - 5

* 본 내용은 충남대학교 조은선 교수님의 컴파일러 개론을 수강하고 작성한 글입니다. 1. enterIf_stmt @Override public void enterIf_stmt(tinyPythonParser.If_stmtContext ctx) { if(visitedNodes.contains(ctx)){ return; } visitedNodes.add(ctx); if(ctx.getChildCount()5+3) 일 시 enterTest로 들어오는 a>5+3에 대해 goto를 작성해주고, a를 load한 다음, 5+3을 계산하여 스택에 load 해둔다. 더보기 (ex: iload_0, bipush 5, bipush 3, iadd를 실행한다. 그 뒤 스택의 구조는 다음과 같이 되어있을 것이다.) 이후, >이 co..

ANTLR를 이용한 tinyPython to Jasmin 컴파일러 만들기. - 4

* 본 내용은 충남대학교 조은선 교수님의 컴파일러 개론을 수강하고 작성한 글입니다. 1. enterAssignment_stmt @Override public void enterAssignment_stmt(tinyPythonParser.Assignment_stmtContext ctx) { if(visitedNodes.contains(ctx)){ return; } visitedNodes.add(ctx); enterExpr((tinyPythonParser.ExprContext) ctx.getChild(2));//load if(table.contains(ctx.getChild(0).getText())){ this.result+=("istore_"+table.indexOf(ctx.getChild(0).getTex..

ANTLR를 이용한 tinyPython to Jasmin 컴파일러 만들기. - 3

* 본 내용은 충남대학교 조은선 교수님의 컴파일러 개론을 수강하고 작성한 글입니다. 저번 글에서는 ANTLR가 파스트리를 DFS로 접근하며 접근될 때는 enter, 그 노드를 벗어날 때는 exit 함수를 실행한다고 공부했다. 따라서 enter에 구현을 하던, exit에 구현을 하던 결국 우리는 최종적으로 특정 메소드에 해당 노드 방문시 처리 함수를 정의해주어야하는 것 이었다. 그럼 이제 g4 rule을 보고 해당 토큰의 함수에 가서 그에 맞게 구현을 해주면 된다. 우선 IfflowOrder는 If_stmt를 다룰 때 더 자세히 설명하겠지만, Jasmin 상에서 If, elif label 명을 지어주기 위해 만들어둔 인스턴스이다. 본 프로그램에서 If label은 IFLABEL_(IfflowOrder2)(..

ANTLR를 이용한 tinyPython to Jasmin 컴파일러 만들기. - 2

* 본 내용은 충남대학교 조은선 교수님의 컴파일러 개론을 수강하고 작성한 글입니다. 저번 글에서는 전체적으로 Run 버튼을 누르고 나서 어떻게 프로그램이 실행되는지 과정을 살펴보았다. 요약하자면, 프로그램이 실행됨과 동시에 디렉토리 내부의 'Test.tpy'를 찾아와 g4 rule 파일에 정의된 최소 토큰 단위로 문자열을 파싱하는 구조였다. 그래서 우리가 해야할 일은 파싱된 해당 문자열에 도착했을 때 어떤 일을 해줄 것인지를 정의해주는 것이다. 그렇다면 어떻게, 어디서 우리가 해야할 일을 정의할 수 있을까? ANTLR의 기능을 이용하면, 가지고 있는 g4 파일을 기반으로 파싱하기 위한 BaseListener, Visitor, Lexer 등 기본 추상 클래스를 자동 생성이 가능하다. 가지고 있는 g4 파일..

ANTLR를 이용한 tinyPython to Jasmin 컴파일러 만들기. - 1

* 본 내용은 충남대학교 조은선 교수님의 컴파일러 개론을 수강하고 작성한 글입니다. 이번 학기에 텀프로젝트로 수행한 tinyPython to Jasmin 컴파일러가 나름 재미있게 만든 경험이라고 생각해 정리해보기로 했다. 우선, 전체적인 텀프로젝트 수행 제약 조건은 다음과 같다. 1. Class 정의는 기본적으로 전재한다고 가정 2. 모든 함수는 static 메소드로 가정 3. 함수 정의는 맨 위에서 순서대로 나타남. 그 아래에 main 함수에 해당하는 구문들이 작성 됨 4. 함수 안의 함수 등의 nesting은 없다고 가정. 5. Java Bytecode로 변환 시 Main 함수는 반드시 존재. 생성해줘야함 6. 함수의 인자와 리턴 타입은 int 타입만 7. 사칙 연산 비교 연산은 int만 허용 또한 ..

Kanye West - MBDTF

Dark Fantasy - 칸예의 어둡고 꼬여있지만 아름다운 내면 세계로 들어가는 첫 트랙이란 의미인 듯하다. 코러스 콰이어와 보컬이 성스럽고 희망적인 분위기를 환기시키다 급작스런 비트 드랍 후 칸예의 보이스가 대비를 이루면서 이를 표현. 뒤에 별똥별 떨어지는 소리? 촌스러워서 구리기 쉬운데 오히려 다크한 멜로디에 잘 어우러져서 신기. 칸예 입장에서는 테일러 수상 사건 이후 자신을 입증해야하는 자리였는데, 첫트랙부터 끄고 가는 것을 막는 것이 필요했을 것 같다. 그래서 일부러 더 힙합 음악에서 들을 수 없던 사운드를 들고와서 "어?" 를 유도한듯? 아무튼 좋다. 플로우는 무난. p.s. 끝날거 같은데 한번 더 코러스 돌리는 짓을 함. 이 앨범임 내 예상대로는 안될 거라는 말 해주는거 같아서 재밌음. 그리..

취미 2023.12.27

모각코 팀장을 맡으며.

이번 23학년 겨울학기 충남대학교에서 진행하는 "모여서 각자 코딩"이라는 활동에서 조를 구성하여 참여하기로 결정하였다. 지금껏 내가 공부해온 것들과 공부하는 과정을 기록해본 적이 없어 꽤 재미있는 경험이 될 것 같아서도 있고, 이렇게라도 나를 구속시켜야 자유로운 방학기간동안 한 글자라도 더 공부를 할 수 있을 것이라고 생각한 것이 그 이유이다. 말이 길었는데, 결론적으로 모각코 때 학습하려고 계획 중인 리스트는 다음과 같다. 1. ns3 2. 졸업 프로젝트 관련 공부. (추후 교수님과 상담을 하고 구체화 시킬 예정) 3. 알고리즘, 자료구조 관련 공부 누군가 보기에는 '뭐야? 고작 3개?' 라고 생각할 수는 있지만 내 그릇이 딱 그 정도인 것을 잘 알기에 일단 소박하게 구성해보았다. 현재 목표는 이번 주..