Skip to content

Instantly share code, notes, and snippets.

View k3kaimu's full-sized avatar

Kazuki Komatsu k3kaimu

  • Toyohashi University of Technology
  • X @k3k0ma
View GitHub Profile
@k3kaimu
k3kaimu / docgen.d
Created September 10, 2015 17:22
PandocでMarkdownからJSON経由でTeXまで変換するスクリプト
import std.algorithm;
import std.array;
import std.conv;
import std.exception;
import std.json;
import std.string;
import std.traits;
import std.typecons;
import std.typetuple;
import std.variant;
import core.thread;
import core.time;
import std.stdio;
import cef4d.c.capi.cef_base_capi;
import cef4d.c.capi.cef_app_capi;
import cef4d.c.capi.cef_client_capi;
import cef4d.base;
@k3kaimu
k3kaimu / gist:8257e91a509240c55090
Created June 4, 2015 13:39
つよそうなset関数
void set(T, Args...)(ref T hoge, Args args)
{
template GetFieldIndex(T, size_t idx, Args...)
{
alias Field = typeof(T.init.tupleof);
// 構造体のどのメンバに代入するか決める
template Skip(size_t i, size_t j)
if(i < Field.length && j <= idx)
{
@k3kaimu
k3kaimu / gist:21f994fe44e4be4c73e9
Created May 27, 2015 15:05
休講bot君の異常がわかるログ
[verbose] @graphite.utils.log[source\app.d(168) in void app.main()]: ## START : 2015-May-26 16:00:56.7266824
[verbose] @graphite.utils.log[source\app.d(146) in void app.TweetWriter.flush()]: [1/3] 休講・補講情報ウェブページに更新があります
[verbose] @graphite.utils.log[source\app.d(146) in void app.TweetWriter.flush()]: [2/3] [環境・生命, 建築・都市, 情報・知能, 電気・電子情報, 機械] 系 [B1] プログラミング演習Ⅰ(プログラミング演習Ⅰ-b) の 2015年7月24日[2]限目の講義が休講になりました. http://bit.ly/TYB9hb #TUTB1_4 #TUTB1_5 #TUTB1_3 #TUTB1_2 #TUTB1_1
[verbose] @graphite.utils.log[source\app.d(170) in void app.main()]: ## END : 2015-May-26 16:01:10.3216597
[verbose] @graphite.utils.log[source\app.d(168) in void app.main()]: ## START : 2015-May-26 17:00:57.7274681
[verbose] @graphite.utils.log[source\app.d(146) in void app.TweetWriter.flush()]: [1/2] [環境・生命, 建築・都市, 情報・知能, 電気・電子情報, 機械] 系 [B1] プログラミング演習Ⅰ(プログラミング演習Ⅰ-b) の 2015年7月24日[2]限目の講義が休講になりました. http://bit.ly/TYB9hb #TUTB1_4 #TUTB1_5 #TUTB1_3 #TUTB1_2 #TUTB1_1
[verbose] @graphite.utils.log[source\app.d(170) in void app.main()]: ## END : 2015
@k3kaimu
k3kaimu / gist:c850931bc8d9dd98693d
Last active August 29, 2015 14:17
awebviewの紹介

awebviewはHTMLでGUIが書けるAwesomiumのラッパー

Awesomiumとは

Awesomiumとは、Chromiumの機能のうち、Web画面のレンダリングやイベント処理などをC++から直接扱えるライブラリです。 このライブラリを使うと、たとえばゲーム画面にウェブブラウザを設置できたり、HTML+Javascript+CSSを用いてGUIアプリケーションを構築可能です。 非オープンソースなライブラリであり、非商用であれば無償で利用することができますが、商用製品に組み込む場合は有償のようです。

awebviewとは

import std.stdio;
import std.string;
import std.stdio;
import std.conv;
import std.datetime;
import std.exception;
import carbon.templates;
import carbon.utils;
@k3kaimu
k3kaimu / app.d
Last active August 29, 2015 14:14
Awesomium。ボタン押したらカウント上がっていく感じの。
import std.stdio;
import graphite.ww.application,
graphite.ww.activity,
graphite.ww.html,
graphite.ww.widgets.button;
import awesomium4d.weakref,
awesomium4d.jsarray,
awesomium4d.webconfig,
module awesomium4d.cppwrapper.webview;
mixin template Awesomium()
{
enum WebViewType { offscreen, window }
enum MouseButton { left, middle, right }
interface WebView {}
}
@k3kaimu
k3kaimu / gist:b14a0fcd26ff99496e47
Last active August 29, 2015 14:11
TUT休講・補講botについて

TUT休講botの紹介

この記事は、TUT Advent Calendarの12日目の記事です。

TUT休講・補講情報botは、豊橋技術科学大学(TUT)の休講情報や補講情報をツイートするbotです。 今日は、なぜこのbotが生まれたのか、どのように開発したのか、どのように運用されているのか、どういう反響があったのかについて書いていきます。

すべてはここから始まった

struct LessNode{
bool operator()(std::shared_ptr<Node> const & ln, std::shared_ptr<Node> const & rn) const {
if (ln->get_totalcost() < rn->get_totalcost())
return true;
else if (ln->get_totalcost() > rn->get_totalcost())
return false;
return ln.get() < rn.get();
}
};