최신 글
· 회고록
1. 나가기 전..학술 대회를 나가기 전 2학년 1학기때 현대오토에버에서 하는 배리어프리 앱 콘테스트에 참가했었다. 예선만 합격해도 앱 제작비 500만 원을 주는 대회였기 때문에, 최소한의 노력으로 500만 원을 얻는 것을 목표로 대회진출을 했다. 마음 가짐부터 글렀던 만큼 예선에서 떨어지게 되었다. 학기가 끝나고 유럽에서 refresh를 하고 나서 학술대회에 대해 접하게 되었다. 주제와 상금을 보니 피가 끓었고 대회에 참가하고자 했다.대회에 나가고자 하는 이유는 아래와 같았다.a. 이전 대회에서 폐기된 내 아이디어가 아까웠다. 앱 컨테스트에는 적합하지 않기 때문에 채택되지 않았지만, 좋은 아이디어라고 생각해서 다음 대회를 위해 서류화를 해놓았던 상황이었다. 그러다 마침 공익+AI인 아주 적합한 이 학술..
· network
네트워크 구조에 대해서 알아봤으니, 이제 데이터 전송에 대해 본격적으로 알아보자. 용어 정리switching(교환): 전달 경로가 둘 이상일 때 라우터가 어느 방향으로 전달할지 선택하는 기능.routing(라우팅): 컴퓨터 네트워크에서는 교환보다는 라우팅이라는 용어가 보편적으로 사용됨.transmission(전송): 1:1로 직접 연결된 두 시스템 간 신뢰성 있는 데이터 전송을 보장하기 위한 것.                                        → 라우팅 개념이 아니다.   전송 방식의 종류지리 분포에 따라 LAN, MAN, WAN으로 나눈다.기술에 따라 점대점 방식과 브로드캐스팅 방식으로 나눈다.LAN, MAN, WAN은 저번 블로그에서 다뤘으므로 이번 글에서는 점대점 방식과 브로..
· network
이제 더 큰 네트워크를 구성할 수 있는 인터네트워킹에 대해 알아보자. 게이트웨이인터네트워킹 기능을 수행하는 시스템이다.인터네트워킹이란?네트워크와 네트워크를 연결을 뜻한다.2개 이상의 네트워크가 연동되어 정보를 교환하려면 적절히 중개할 수 있는 인터네트워킹 시스템이 필수이다.각 네트워크 프로토콜이 일치하지 않으면 변환해 주는 기능도 필요하다.이러한 기능 덕분에 인터네트워킹 시스템에 연결된 네트워크는 물리적으로 같은 종류일 필요가 없으며, 네트워크 간의 연결을 더 용이하게 해 준다.게이트웨이는 지원할 수 있는 한계에 따라 다음과 같이 분류된다. 리피터물리 계층 기능을 지원한다.(중계기)신호 증폭만 해준다. (유선 ↔ 무선, 유선 ↔ 유선, 무선 ↔ 무선)  브리지리피터 + 데이터 링크 계층 기능을 지원한다...
· network
이제 네트워크 전체 흐름을 알아보자. 라우팅 기능데이터는 라우팅 기능을 하는 라우터를 거쳐 목적지 호스트까지 간다.회선 교환회선에 할당하여, 고정크기와 안정적인 전송률로 데이터 전송한다.회선이므로, 모든 데이터가 동일한 경로를 이용한다.하지만, 연결이 유지되는 동안 다른 연결에서 이 대역을 사용할 수 없다.패킷 교환패킷을 기준으로 라우팅 한다. → 패킷에 우선순위를 부여할 수 있다.데이터 전송을 위한 전용 대역을 따로 할당하지 않는다.  → 전송 대역을 효율적으로 사용할 수 있다. → 호스트를 무제한 수용할 수 있다. 하지만 패킷의 전송 지연은 증가할 수 있다.가상회선 방식(정적, 연결형)모든 패킷의 경로가 일정하다.단일 파이프를 통해 이동한다고 보면 된다.송신 호스트가 보낸 순서가 수신 호스트가 받은..
· network
각 계층에 대해 설명하기 이전에 각 계층에서 쓰이는 용어와 시스템들을 짚고 넘어가자! 프로토콜각 계층은 정해진 방식과 절차로 상대 계층과 통신해야 한다.ex. 1 계층 ↔ 1 계층, 2 계층 ↔ 2계층 상하위 간에는 인터페이스라는 규칙이 존재하고, 하위 계층이 상위계층에 제공하는 인터페이스를 서비스라고 부른다.프로토콜이 왜 존재하나?정해진 규칙이 없다면, 서로의 데이터 형식조차 해석할 수 없음.서로 다른 시스템에서는 정해진 규칙으로 데이터를 다루는 것이 반드시 필요함.특징네트워크의 기능은 복잡하므로 모듈화를 할 필요성이 있음.네트워크에서 프로토콜은 각 ISO 7 계층의 각 계층별로 모듈화 되어있음.프로토콜 설계 시 고려사항주소 표현각 네트워크 프로세스를 구분하려면 주소가 필수적이다.(우편번호 없으면 집에..
Positive Semidefinite Matrices :: 양의 준정부호 행렬 모든 x에 대해 x’Ax ≥ 0일 때 n*n matrix A는 positive definite이다. 동치조건 sysmetric matrix A에 대해 다음 중 하나의 조건이라도 만족하면 모든 조건을 만족한다. all n eigenvalues 가 음수가 아니다. 모든 x에 대해 x’Ax ≥ 0 주의. n*n 대칭행렬 A가 nonnegative upper left determinant를 가지고 있다고 해서 A는 positive semidefinete라고 단정 지을 수 없다.
· web
건국대학교 종강시를 크롤링하며 겪었던 문제들을 적어보고자 한다. 먼저, 처음에는 대학과 학과 선택을 기준으로 나오는 강의 리스트들의 정보만 크롤링하려 했고, 이는 준수한 속도를 내었기에 멀티쓰레딩에 대한 고려는 하지 않았다. 하지만, 강의계획서 안에 있는 수강 신청 유의 사항도 조사하고자 했고, 팝업창 기능까지 추가하는 순간 속도가 너무 느려졌다. 마침, AI 해커톤에서 데이터를 처리할 때 멀티쓰레딩을 했던 경험이 있었고, 속도가 매우 빨라졌었다. 물론 selenium이 thread-safe는 아니어서 의미가 없을 것은 대강 알고 있었지만, 궁금해서 한번 해보기로 했다.먼저, 멀티쓰레딩을 하기 위해 기존 코드에서 멀티쓰레딩에 맞는 구조로 바꿔주고, 파이썬의 threading 라이브러리를 사용했다.일단 해..
· web
문제상황예전에 react에서 django rest framework로 요청을 보낼 때 CORS error가 자꾸 떠서 해결하려다가 결국 해결 방법을 못 찾고 포기했었다. 그런데 이번에 json-server을 이용하여 간단하게 프론트를 연습하려 했는데 또 CORS error 와 마주쳤다.다음에도 CORS error를 마주칠 게 분명했기 때문에 이번에 꼭 해결해야겠다고 생각했다.  해결과정이상하게도, 로컬에서는 작동하는 방법이 gitpod에서는 계속해서 CORS error를 낸다는 것을 알게 되었다. 따라서 gitpod에 문제가 있다고 추정했다. gitpod 공식 문서를 보던 중 fetch 요청에 credentials: ‘include’ 옵션이 있어야만 하고, server측에서는 Access-Control-..
계기 친구들과 휴가를 맞추고, 부대사람들과 휴가일정을 공유하는데 불편함이 있어 휴가관리를 할 수 있고, 배달음식을 같이 시키거나 다양한 부대 이야기를 할 수 있는 게시판을 만들면 좋겠다 싶어서 만들어보았다. 기간 (공부 + 제작) : '23. 11. 09. ~ '24. 01. 01. 스택 js(jquery), html, css, flask, aws rds(mysql) 기능 초기의 계획은 다음과 같았다. 개인 캘린더로 휴가 관리 및 성과제 외박 주기 관리 친구들끼리 캘린더 공유 친구들끼리 캘린더 함께 작성 각 부대끼리의 게시판 학습, 질문 게시판등 유용한 게시판 웹을 모르는 처음에는 얼마 안걸릴줄 알았으나, 공부하기 위해 만든 웹페이지의 제작기간이 너무 길어지게 되었다. 다음 웹 페이지를 만들기 위해 어쩔..
· Kotlin
Kotlin은 함수를 데이터 유형으로 간주할 수 있고 함수를 변수에 저장하고 저장한 함수를 다른 함수에 인수로 전달하며 다른 함수에서 함수를 반환할 수 있다. 변수에 함수 저장 함수를 값으로 참조하려면 함수 참조 연산자 :: 를 사용해야 한다. ex) fun main() { val name = ::method name() //함수가 저장된 변수는 함수처럼 ()를 붙여줘야 함 method() } fun method() { println("메서드") } 출력 : "메서드" "메서드" fun main() { val name = ::method val c = name() println(c) val d = method() println(d) } fun sum(a: Int, b: Int): Int { return ..
implement
implement