목록𝐂𝐎𝐌𝐏𝐔𝐓𝐄𝐑 𝐒𝐂𝐈𝐄𝐍𝐂𝐄 (19)
도순씨의 코딩일지
우리가 하고 싶었던 작업은 다음과 같다 "특정 채널에 참여한 사람들에게 DM으로 메시지를 발송한다" 특정 채널에 글을 올리거나, 댓글을 남기는 봇들은 꽤 있었지만 특정 채널에 참여한 사람들에게 DM을 발송하는 봇들은 많지 않았다. 현재 우리 회사에서는 아침에 체크인 봇(내 정체가 밝혀지는 건가,,,,,,)이 DM으로 메시지를 보내주고 있지만, 그건 .. 내가 모르는 언어로 개발됐다고 들었기 때문에 별로 도움이 되지 않을 것 같았다. 참고로 슬랙 앱을 만들고 기본적인 아이디어는 이 블로그에서 얻었다 제 미천한 블로그에 들어오실 것 같진 않지만 감사의 인사를 전합니다.. Python으로 Slack Bot 만들기 Python으로 Slack Bot 만들기 wooiljeong.github.io 앱을 설치하기 위해..
🌼 프로토콜 프로토콜 그래프는 프로토콜의 모음(collection)과 그들 사이의 의존관계(dependency)를 보여줍니다. 동료간의 통신은 대부분 간접적(논리적)으로 이루어집니다. 실제 통신은 하위계층을 사용하여 이루어지기 때문에 하드웨어 수준에서만 동료 간의 통신이 직접적입니다. MSP(Message Stream Protocol)은 메시지 흐름을 나타내는데, 비디오 응용은 다른 응용과 차이가 있으므로 MSP를 사용합니다. RRP와 MSP 사이의 논리적 통신에서는 Demux Key가 필요합니다. 두 개의 다른 어플리케이션으로부터 전달된 메시지들은 발생지 호스트에서 다중화되어 목적지 호스트로 전달됩니다. 그리고 역다중화되어 적합한 애플리케이션에 전달됩니다. 역다중화를 위해서 발생지 호스트에서 RRP는 ..
🌼 통계적 다중화 (Statistical Multiplexing) 통계적 다중화는 시분할 다중화를 변경한 방법입니다. 비동기식 다중화라고 불리기도 하는 통계적 다중화는 1대 1로 전송을 하면 링크가 너무 낭비되기 때문에 여러 개를 공유하는 방식으로 변경한 것입니다. 이를 통해 자원 공유의 효율성이 더 높아질 수 있습니다. 위 사진은 시분할 다중화와 통계적 다중화를 나타낸 것입니다. 시분할 다중화에서 Wasted Bandwidth를 통해서 낭비되는 구역이 있음을 알 수 있습니다. 통계적 다중화에서는 남은 공간을 뒤에 남겨놓으므로써 공간을 절약하였습니다. 하지만 시분할 다중화는 Demux의 어느 쪽으로 내보내야 할지 시간에 따라서 정해져 있지만, 통계적 다중화는 그런 기준이 없습니다. 따라서 앞에 흰 부분은..
🌼 관계형 스키마와 인스턴스 관계형 인스턴스는 일정 시점의 스키마 값 내용입니다. 우리는 현시점에서 인스턴스를 표로 나타낼 수 있습니다. 집합(set) r의 원소 t를 튜플이라고 부르며, 이는 테이블에서 row(행)애 해당합니다. 🌼 속성(Attributes) 집합에 존재하는 attribute에 등장할 수 있는 모든 가능한 값을 도메인(domain)이라고 부릅니다. 각 속성마다 도메인이 있습니다. 예를 들어서 ID 컬럼에 가능한 모든값 00000-9999 이러한 것들이 모두 도메인이라 할 수 있습니다. RDB에서 도메인은 매우 atomic한 상태로 존재합니다. 저도 이 말만 듣고 무슨 말인지 이해가 안됐는데, dept_name에 computer science라는 값이 있다면 이 값은 교차하는 지점에서 오..
🌼 네트워크와 인간 네트워크 사용자 는 서비스를 받는 입장입니다. 보낸 메시지가 오류 없이 정해진 시간 안에 전달되는 것을 보장받는 것이 중요합니다. 네트워크 설계자 는 효과적인 설계자를 목표로 삼아야 합니다. 네트워크 자원 들이 효율적으로 이용되며 각각의 사용자들에게 공평하게 할당되도록 설계해야 합니다. 네트워크 제공자 는 관리가 용이한 시스템을 운영해야 합니다. 통신 장애가 발생하더라도 쉽게 처리해야하며 사용량에 따른 요금 부과가 용이한 시스템을 설립해야 합니다. 이러한 조건을 만족하기 위해서 좋은 장비를 사서 운영해야 할 필요가 있습니다. 🌼 연결 통신 첫 단계는 통신 주체를 연결하는 것입니다. 그렇다면 통신 주체는 무엇일까요? 전화기 등 단말기를 의미합니다. 다시 말하자면, 통신망을 통해서 연결받..
🌼 데이터 정의 언어(Data Definition Language, DDL) 데이터 정의 언어 란, 데이터 베이스 스키마를 정의하는 구문들의 집합입니다. SQL 안에 여러 기능 중 하나이기도 합니다. 예를 들어서 다음과 같은 create table이 있다고 생각해봅시다. 이 create table의 이름은 instructor입니다. 형식에 대해 잠시 알아봅시다. char(5)는 문자형으로 고정된 값이 5라는 것을 알 수 있습니다. varchar(20)은 문자형 이름의 길이가 20이하라는 것을 알 수 있습니다. 마지막으로 numeric(8, 2)는 전체가 8자리이고, 소수점 아래 두 자리까지 나타냄을 의미합니다. 정리하자면, var은 숫자가 변경 가능함을 뜻하고 var이 없다면 숫자는 변경할 수 없습니다...
먼저 데이터베이스의 정의 를 알아보겠습니다. 데이터베이스는 특정 회사에 대한 많은 정보를 담고있습니다. 관련된 데이터의 집합, 데이터에 접근하기 위한 프로그램, 사용하기에 효율적이고 편리한 환경 등이 수반되어야 합니다. 데이터베이스 시스템은 매우 가치 있는 정보, 상대적으로 큰 정보, 공유자원인 정보를 담고 있습니다. 데이터베이스 시스템의 데이터들이 대용량인 이유는 데이터가 크지 않으면 이러한 기술들을 필요로 하지 않기 때문입니다. 작은 규모의 정보는 단순히 파일시스템만으로도 데이터를 관리할 수 있습니다. 공유자원이라는 것은 동시에 데이터를 접근할 수 있고, 그 데이터에 대한 경쟁이 벌어짐을 의미합니다. 현대의 데이터베이스 시스템은 크고 복잡한 데이터들을 처리할 수 있도록 복잡한 소프트웨어 시스템을 채택..
순환 신경망(RNN)은 여러 개의 데이터가 순서대로 입력되었을 때 앞서 입력받은 데이터를 잠시 기억해 놓는 방법이다. 그리고 기억된 데이터가 얼마나 중요한지를 판단하여 별도의 가중치를 줘서 다음 데이터로 넘어간다. 모든 입력값에 대해 이러한 작업을 하기 때문에 계속 순환하는 것처럼 보인다. 따라서 순환 신경망이라고 부른다. 하지만 RNN의 특성상 일반 신경망보다 기울기 소실 문제가 더 많이 발생한다. 이를 해결하기 위해서 만들어진 방법이 LSTM(Long Short Term Memory)이다. 반복되기 직전에 다음 층으로 기억된 값을 넘겨야하는지 결정하는 단계를 추가한다. LSTM을 이용하여 로이터 뉴스 카테고리를 분류해보도록 하자. 케라스를 통해 로이터 뉴스의 데이터를 가져올 수 있다. 1 from k..