목록개발 및 공부 (189)
NeuroWhAI의 잡블로그
Rust에 익숙해질겸 '밑바닥 부터 시작하는 딥러닝' 책을 Rust로도 실습해서 올릴 생각입니다. 다만 본인도 Rust를 잘하는게 아니므로 Rust 공부용으로 보시진 말아주세요. 일단 되나 안되나 테스트 용도로 2장의 퍼셉트론 AND 게이트를 구현해본 코드입니다. 라이브러리는 'rulinalg'를 사용했습니다. 코드: #[macro_use] extern crate rulinalg; use rulinalg::matrix::{BaseMatrix, Matrix}; fn and_gate(x1: f32, x2: f32) -> f32 { let x = matrix![x1, x2]; let w = matrix![0.5, 0.5f32]; let b = -0.7; let out = x.elemul(&w).sum() + ..
저 혼자 쓸거면 디자인은 신경쓰지 않지만 그래도 사람이 쓰는 도구(?)처럼은 보여야 양심상 배포를 할 수 있으므로 평소에 쓰던 것들(WinForms, 그림판) 말고 다른걸 선택해서 배워가며 만들었습니다. 1. MockFlow 이때까지는 그냥 바로 개발에 착수해서 UI도 즉흥적으로 수정했지만 프로토타이핑을 해보자 생각해서 검색하다가 찾은 사이트입니다. 돈을 내면 더 많은 기능을 지원해주지만 저에겐 무료 플랜으로도 충분했습니다. 아래는 실제로 제가 VRChat Stalker를 개발하기 전에 사용해본 모습입니다. 사실 제 기술의 한계로 100% 반영은 못했지만 이 도구를 쓰지 않았으면 지금의 디자인보다 훨씬 구린게 튀어나왔거나 오래 걸렸을거에요. 2. WPF + Material Design 사실 WPF는 이전..
http://www.hanbit.co.kr/store/books/look.php?p_code=B1908490055 이런류의 책은 이전에도 읽은 적이 있어서 그 책과 중복된 내용이 꽤 있었지만 인공지능 분야를 처음 공부하기 시작하신 분께는 괜찮은 책이라고 생각합니다. 요즘 인공지능 인공지능 말 많지만 대부분 딥러닝 이야기고 사실 인공지능은 범위가 매우 넓은 분류입니다. 이 책은 딥러닝을 포함한 많은 인공지능 분야의 하위 항목들을 훑어볼 수 있고 때로는 깊게 공식까지 설명하면서 알려줍니다. 어떤 항목이 있는지는 상단 링크의 목차 부분을 살펴보시면 됩니다! 이제 '밑바닥부터 시작하는 딥러닝'이란 책을 읽을건데 매우 기대가 되는 책입니다 ㅎㅎ
이게 공식 API인진 모르겠지만 확실히 동작은 하는 것 같습니다. 공식이 아니라면 누군가가 프로토콜을 연구해서 만든게 아닐까 싶네요. 자세한 API 문서는 아래 링크에 있습니다. https://vrchatapi.github.io 저도 안지 얼마되지 않아서 API 라이브러리를 사용해 친구 정보를 불러오는 것까지만 해봤습니다. 실제로 제 친구 목록이 떴고 오프라인 상태인지 여부도 확인할 수 있었습니다. 기능은 이거 말고도 많습니다. 회원가입 요청, 친구 요청, 친구 삭제, 유저 정보 조회 등... 아래는 닷넷용 라이브러리를 이용해서 제가 직접 테스트해본 코드입니다. API 설정 정보를 얻어 API Key를 출력해보고 로그인해서 친구 목록을 불러오는 예제입니다. 코드: 결과: 죄다 오프라인이네 흑흙... 뭐 ..
참고 : https://stackoverflow.com/a/8111750 ADL은 말 그대로 인수에 의존해 이름 공간을 검색하는 기능입니다. 긴 말 필요없고 코드부터 봅시다. 12345678910111213141516171819202122232425262728#include #include namespace foo{ struct Bar { int data; }; void init(Bar& bar) { bar.data = 42; }} int main(){ //using foo::init; //using namespace foo; foo::Bar bar; init(bar); std::cout
그냥 이렇게 하면 브라우저 마다 다른 모습으로 나오게 되는데디자인 알못인 제가 봐도 구립니다.그래서 커스텀 할 수 있는지 검색해봤는데 역시나 되더라고요.label의 for 속성을 사용해서 label을 클릭해도 input이 클릭되도록 연동하는게 핵심입니다. 실제로 동작하는 예시: 코드와 디자인은 검색해서 봤던 코드를 썼는데 좀 밋밋해서마우스 이벤트에 따라 색이 변하도록 제가 따로 넣었습니다.
사무실에서 코딩하고 있었는데 충공깽스러운 현상을 발견했습니다.대충 "11_11".replace('1', '2')처럼 replace를 쓰는 코드였는데저는 당연히 "22_22"로 결과가 나올 줄 알았습니다.근데 아니더라고요.허미 씌;; 찾아보니 아래처럼 정규식을 쓰거나 편법을 써서 구현해야 한다고 합니다. 정규식 사용:1234String.prototype.replaceAll = function(search, replacement) { var target = this; return target.replace(new RegExp(search, 'g'), replacement);};Colored by Color Scriptercs 분해 후 조립:1234String.prototype.replaceAll = func..
안녕하세요! 오늘은 제가 사지방에서 개발을 하기 위해 어떤 도구들을 이용했는지 적어보고자 합니다. 다만 부대마다 사지방 환경이 다르므로 적당히 걸러서 들으시면 되겠습니다. 또한 개발이라고 하면 간단히 코드 조각을 돌려보는 것에서 실제로 쓸 도구나 서비스를 개발하는 것에 이르기까지 매우 범위가 넓습니다. 전자는 공통된 사항이 많지만 후자는 사용하는 언어나 도구가 매우 다를 수 있으니 제가 다 커버하지는 못합니다. 아래는 제 부대의 사지방 환경을 간략하게 적어봤습니다. GitHub 접속 불가. GitLab 접속 가능. Google 서비스(로그인 연동 등) 원활. Git 돌아감. 그럼 본론! 간단하게 코드 조각 돌리기 좋은 서비스 Wandbox : 여러 언어의 컴파일, 컴파일 옵션 및 실행(표준 입출력)을 지..
[Serializable]가 지정된 클래스만 가능! 코드: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using System.Runtime.Serialization.Formatters.Binary;using System.Runtime.InteropServices; namespace Test{ class Program { static void Main(string[] args) { int data1 = 42; double ..
공식 문서 : https://rustbyexample.com/std/result/question_mark.html Rust에는 Result라는 놈이 있는데 말 그대로 어떤 작업의 결과를 표현합니다. 성공했으면 Ok(결과 값), 실패했으면 Err(에러 값) 이렇게요. 때문에 Result에서 결과 값을 받아오려면 패턴 매칭을 사용하거나 unwrap 메소드를 써야하는데 이게 많아지면 보기가 안좋다고 합니다. 그래서 편의 문법으로 나온게 '?' 연산자입니다. 좀 다르겠지만 대충 아래와 같은 정의라고 보시면 됩니다. Result x를 받아서 Ok라면 그 안의 결과 값을 취하지만 Err라면 그 안의 에러 값을 반환합니다. 단순히 return err;가 아닌 이유는 에러간의 변환에 관한 유연성 때문인데 아래에 설명이..