본문 바로가기

반응형

GF

(104)
대학생활 되돌아보기 이제 곧 2020년, 내가 대학교 4학년이 되는 해다. 벌써 4학년이라니. 나름 바쁘게 달려왔다고 생각하면서도 못 해본게 너무 많아 아쉬움만 크게 남는다. 이번 3학년 2학기는 지난 학기들보다 몇 배는 힘들었다. 6전공 강의, 과제, 팀플, 개인 프로젝트, ... 모든 것을 완벽하게 해내길 원했고 가끔은 놀고싶기도 했다. 그래서인지 학기 중간중간 번아웃이 올 뻔한 적이 여럿 있었는데, 그때마다 지난 대학생활 동안 내가 했던 것과 해보고 싶었던 것을 회상하며 시간을 보내곤 했다. 그리고 회상의 결론은 항상 같았다. 나는 생각보다 한 것이 별로 없다. 분명 많은 것 같은데 기록으로 남은게 별로 없기 때문일까. 이대로 4학년을 맞이하고 싶지는 않았다. 그래서 이번 겨울방학에는 지난 대학생활을 되돌아보고 늦게나..
ANKER 버티컬 마우스 사용 후기 나는 로지텍의 G102, M185 마우스를 사용해왔는데, 최근에 친구가 ANKER 버티컬 마우스를 선물해줘서 감사히 사용하고 있다. 그래서 그동안 사용하면서 느낀점을 남겨보려고 한다. 아무래도 기존에 사용하던 G102, M185와 비교할 수 밖에 없는데, 각 마우스의 연결방식, 감도, 제조사, 가격대 등, 대부분의 특성이 많이 다르므로 참고만 하길 바란다. 이 제품은 무선마우스로, 리시버를 통해 2.4GHz 통신을 한다. DPI는 800/1200/1600을 지원하고 엄지버튼 2개가 있다. 크기는 G102보다 조금 크나, 그립 때문에 체감되는 크기는 더 크다. https://www.wadiz.kr/web/campaign/detail/38711 [직장인마우스] 피할 수 없다면 보호하세요, ANKER 버티컬 ..
Harvard Architecture, Von Neumann Architecture 컴퓨터에서 CPU는 메모리에서 명령과 데이터를 읽고 작업을 수행한다. 이때 컴퓨터의 구조는 크게 Havard Architecture와 Von Neumann Architecture로 구분된다. 둘의 차이는 메모리에서 명령과 데이터의 저장방식의 차이로부터 기인된다. Havard Architecture Havard Architecture는 명령과 데이터가 다른 메모리에 저장된다. 따라서 CPU는 명령과 메모리를 각각 버스를 통해 동시(1 clock)에 로드할 수 있기 때문에 처리속도가 빠르다고 할 수 있다. 하지만 회로가 복잡해지는 단점이 있다. Von Neumann Architecture Von Neumann Architecture는 명령과 데이터가 구분되지 않고 같은 메모리에 저장된다. 따라서 CPU는 명..
인공지능 과제 - 단일 퍼셉트론 구현 코드 설명 ​ 3개의 perceptron을 만들어 각각 AND-gate, OR-gate, XOR-gate의 동작을 하도록 학습시킨다. ​ main함수에서는 perceptron의 학습에 사용될 데이터를 정의하고 perceptron을 만들어 학습시킨다. ​ Perceptron.h 헤더파일에서 Perceptron을 class로 정의했으며 Calculate, Train 등 여러 메소드가 구현되어있다. Perceptron의 weight와 threshold는 contructor에서 아래 범위의 랜덤한 실수(float)로 초기화된다. weight: -1이상 1이하 threshold: 0초과 1이하 코드 src.c /* 2019-2 인공지능 과제2 코드 2015920003 컴퓨터과학부 김건호 */ #include #i..
C 랜덤 숫자 C에서 일반적으로 랜덤한 숫자(또는 수열)는 아래와 같이 얻는다. #include #include #include int main(void) { srand(time(0)); printf("%d\n", rand()); } 하지만, 이 코드를 짧은 간격으로 계속 실행해보면 출력값이 비슷하다는 것을 알게 된다. 비록 rand()의 두번째 호출부터는 리턴되는 값이 매우 달라지지만, 첫 숫자가 비슷하다는 것만으로도 랜덤의 의미가 다소 사라진다. 이에 대응하는 가장 쉬운 방법은, rand()를 한 번 미리 호출함으로써 첫 숫자를 건너뛰는 것이다. #include #include #include int main(void) { srand(time(0)); rand(); printf("%d\n", rand()); }
Bitnami WAMP Stack 설치 과정 Bitnami 설치 바로가기 WAMP 7.3.8-0 기준 [Next]를 눌러 설치를 시작한다. 선택사항은 자유롭게 설정한다. 모두 체크해제해도 무방하다. 설치경로를 설정한다. 데이터베이스의 root 계정 비밀번호를 설정한다. 알파벳과 숫자로 구성된다. 웹서버 SSL 포트를 설정한다. 기본값으로 진행해도 무방하다. 웹 클라우드 관련사항은 체크해제해도 무방하다. [Next]를 눌러 설치를 진행한다. 설치는 몇 분 정도 소요된다. 방화벽 경고가 나오면 [액세스 허용]을 눌러준다. 방화벽 경고가 나오면 [액세스 허용]을 눌러준다. 설치를 종료한다. [Launch Bitnami WAMP Stack]을 체크해제한 후 끝내면 아래와 같은 페이지(127.0.0.1)가 뜬다.
[Bluebird] Promise.map Node.js에서 bluebird 패키지를 이용하면, ES6의 Promise를 map function과 함께 사용할 수 있다. bluebird의 map 함수는 Iterable한 value와 각 value를 위한 mapper function을 인자로 한다. 좀 더 살펴보자. Promise, Resolve, Reject map 함수는 Promise를 반환하며, 각 mapper function 또한 Promise를 반환한다. 하나 이상의 mapper function이 reject를 반환하면 map 또한 reject를 반환한다. map은 모든 mapper function이 fulfilled일때 fulfilled이다. Order 각 value에 대한 mapper function의 실행은 그 순서가 보장되어있지 않..
Service Worker 지원 브라우저 service worker 및 ES8(일부 제외)을 지원하는 브라우저 버전 Browser support ES8 ES8 Supported Version SW Supported Version Edge 17~ 17~ Firefox 44~ 44 (disabled in 44~52 ESR) Chrome 45~ 40~ Safari 11.1~ 11.1~ Opera 32~ 27~ iOS Safari 11,3~ 11.3~ Chrome for Android 75~ 75~ Firefox for Android 67~ 67~ Samsung Internet 4~ 4~ 개인적인 권장 버전 Browser Version Edge 17~ Firefox 44~ Chrome 49~ Safari 11.1~ Opera 33~ Samsung In..