タグ

goに関するrichard_rawのブックマーク (21)

  • Raspberry Piとgo言語で部屋のコンディションを記録してグラフ化した - 丁寧に手を抜く

    部屋のコンディションをRaspberry Piとセンサー使って、3分ごとに記録してグラフ化するところまで出来た! 今留守にしているので、外気とちゃんと連動してるのが分かる。 これで自分の調子がいい時・悪い時の部屋のコンディションが調べられる☺️ もうすぐ二酸化炭素濃度センサーも届くので楽しみ💪 pic.twitter.com/WIoihOcZPw— TAKUYA🐾個人開発うノウハウを書く (@craftzdog) September 3, 2018 自分のプロダクトばかり作っていると技術の幅も狭まってしまうので、定期的に趣味がてら題材を見つけて普段使わない技術に触れている。 自分にとってベストな部屋のコンディションが知りたい 今回は兼ねてからやりたかった、自分の部屋の温度や湿度などのコンディションを数分ごとに記録してグラフで可視化すること。 体調と空気の質は関連が深い。 気圧が低い

    Raspberry Piとgo言語で部屋のコンディションを記録してグラフ化した - 丁寧に手を抜く
    richard_raw
    richard_raw 2018/09/05
    Go言語とFirebaseを利用して……なるほど。家で眠っているラズパイを有効活用してみたいです。
  • バイナリエディタを作りました! - プログラムモグモグ

    バイナリエディタを作りました。 インストールはHomebrew brew install itchyny/tap/bed または以下のコマンドでできます。 go get github.com/itchyny/bed/cmd/bed なぜ作ったのか 私は昔からファイルフォーマットに興味があり、画像ファイルやPDFファイルのフォーマットを調べるのが好きでした。 最近も圧縮ファイルのフォーマットを趣味で調べたりしています。 コンパイラ技術にも興味があり、ゆくゆくは実行ファイルを生成したりしたいなという思いもあります。 バイナリファイルをエディットするにはバイナリエディタが必要となるわけですが、自分の手に馴染むUIを持つエディタがありませんでした。 私は実はVimというエディタが好きなので、Vimのようなインターフェースを持ち、ターミナルの中で動くエディタを探したのですが、なかなかありません。 b

    バイナリエディタを作りました! - プログラムモグモグ
    richard_raw
    richard_raw 2018/04/10
    “私は昔からファイルフォーマットに興味があり、画像ファイルやPDFファイルのフォーマットを調べるのが好きでした。” 私も興味はあったけど調べたことなかったですすごい。
  • Raspberry PiとGo言語でミニトマトの栽培環境を監視してLINE Botで通知する - ぐるなびをちょっと良くするエンジニアブログ

    こんにちは。ビジネスソリューション開発グループ チャネルソリューションチームの長谷川と申します。 家庭菜園としてミニトマトの栽培を始めました。 せっかくの機会なので、温度、湿度と土の水分量をRaspberry Piで監視し、LINE Botを通じてLINEのタイムラインに通知する仕組みを作りました。 使ったもの Raspberry Pi2 Model B GW-USNANO2A Soil Moisture Sensor MCP3008 BME280 Raspberry Pi2 Model B Amazonで¥4,000前後です。 GW-USNANO2A プラネックス製の無線LAN子機。Raspbery Pi2は無線LANが搭載されていないため、USBタイプの子機が必要となります。Amazonで¥990くらいです。 Soil Moisture Sensor アナログの土壌の湿度センサーです。

    Raspberry PiとGo言語でミニトマトの栽培環境を監視してLINE Botで通知する - ぐるなびをちょっと良くするエンジニアブログ
    richard_raw
    richard_raw 2017/07/18
    こういうのやってみたいかも。
  • 仕事の役には立たない、Linuxにおけるジョークプログラムの話 - Qiita

    イカれたメンバーを紹介するぜ! 格言を出力する:fortune これは何? 英語の格言、明言をランダムに出力する。 ユーザ独自に格言を追加することも可能。 導入方法 $ /usr/bin/fortune I understand why you're confused. You're thinking too much. -- Carole Wallach. $ fortune -f 100.00% /usr/share/games/fortune 2.94% art 1.75% perl 0.06% ascii-art 0.33% pets 2.88% bofh-excuses 1.67% literature 6.56% computers 3.20% platitudes 7.28% cookie 4.48% politics 7.59% definitions 1.33% drug

    仕事の役には立たない、Linuxにおけるジョークプログラムの話 - Qiita
    richard_raw
    richard_raw 2016/07/13
    そういえばfortune使ったことないかも。
  • Dockerもシェルスクリプトも使わずGoのクロスコンパイルを行う : D-7 <altijd in beweging>

    moznion.hatenadiary.com 別にDocker使ったっていいんだけど、こっちでもできますよ、ってことで、Dockerもシェルスクリプトも使わない方法の説明。元記事を読んでわかるのは: 1. makeを使ってる 2. GOOS/GOARCHを設定してクロスコンパイルしている(gox等を使っていない) 3. Dockerであげた同一イメージ上で全てのクロスコンパイル結果を吐いている ということなので、であれば別にローカルの環境でクロスコンパイルしても何の差もなさそう。別の環境をたててクロスコンパイルしたい場合もあるが、それは例えば cgoを使っている os.User 関連のコードをコンパイルするとか、そういう時だしその場合はそれぞれのプラットフォームごとに別のホスト上でコンパイルする必要がある。それをする必要がないなら go 1.5 以降であればもうGOOS/GOARCHを設

    Dockerもシェルスクリプトも使わずGoのクロスコンパイルを行う : D-7 <altijd in beweging>
    richard_raw
    richard_raw 2016/05/25
    なるほど、Makefileで定義しておくだけでクロスコンパイルできるのか。
  • Go言語でファジング

    この記事はGo Advent Calendar 2015の21日目の記事です. 今年もGoコミュニティーから多くのツールが登場した.その中でも異彩を放っていたのがGoogleのDynamic testing toolsチームの@dvyukov氏によるgo-fuzzである. go-fuzzはGo関数のファジングを行うツールである.このツールはとても強力で標準パッケージで100以上,golang.org/x/パッケージで40以上,その他を含めると300以上のバグを発見するという実績を残している(cf. Trophies). 記事ではこのgo-fuzzの紹介を行う. ファジングとは? Fuzz testing - Wikipedia, the free encyclopedia ソフトウェアの脆弱性検出におけるファジングの活用 「ファジング」とはソフトウェアのテスト手法である.テスト対象となる

    richard_raw
    richard_raw 2015/12/24
    「テスト対象となるソフトウェアにランダムなデータを大量に入力し意図しない挙動を検出する」なるほど。
  • Go最後の秘宝「GUI」を探しに行く - Qiita

    Golangができること、むしろ「得意」と言われるものはすでにたくさんあります。 クロスコンパイルが得意だし依存が少ないバイナリができるから、いろんな環境で使えるコマンドラインツールを書くにはGoがいいよ パフォーマンスが高いし文字列処理もやりやすいので、高速なAPIサーバが得意。gRPCでもHTTP/2でも Webアプリケーション・フレームワークも増えてきていてウェブサービス作れるよ ビルドシステムとパッケージマネージャ内蔵なので、gitから簡単にパッケージをダウンロードしてきたり、◯makeコマンドとか◯runtとか◯owerで消耗しなくて済む gopher.jsでJavaScriptにもなる 逆に今まであまり良い解がなくて、「Goにはちょっと不向きだね」と言われ続けていたのがGUIです。鳴り物入りで出てきたGXUIが開発が止まってしまい、それと同じぐらいにshinyというものが開発が

    Go最後の秘宝「GUI」を探しに行く - Qiita
    richard_raw
    richard_raw 2015/12/24
    IMEのインラインパッチとか考えただけで気が遠くなる……(雑魚)
  • 本物の golang を... 本物の Gopher を、お見せしますよ。 - Qiita

    事の始まり それはD言語くんへの嫉妬から始まった。 D言語くんの繁殖についての仮説 lsを間違えてdlと入力してしまったときに、D言語くんが通り過ぎるコマンド くっ悔しい... そしてショボいAAで2番煎じ。 lsを間違えてgolと入力してしまったときに、Gopherが通り過ぎるコマンド書いた。 こんなはずじゃない! 僕らの Gopher 君はこんなチープじゃない! 明日来てください。物の Gopher をお見せしますよ。 — mattn (@mattn_jp) December 15, 2015 (当はもうちょっと前から作ってましたが) 物のGopher君とは そして今回、これを公開するに至った。 まずはこれをご覧頂きたい。 !!!!!!!!!!!!1 こいつ・・・ 動くぞ・・・ golang で書いたデスクトップマスコットです。起動すると画面のタスクバーの上をウロウロします。たま

    本物の golang を... 本物の Gopher を、お見せしますよ。 - Qiita
    richard_raw
    richard_raw 2015/12/17
    突然、伺かみたいなのが出てきて吃驚した。なぜ本気を出した!(歓喜)
  • Vim で引き籠る - Qiita

    2015年総括 今年も沢山、良い Vim プラグインが誕生しました。 また皆さんからも幾度か vim-jp に vim の不具合報告を頂き、vim-dev にパッチとして還元する事が出来ました。当にありがとうございました。さらに個人的には技術評論社出版の「Software Design」で連載記事「Vim の細道」を執筆させて頂く事になり1、自他共にビムビムしい1年だったと思います。 しかし今後も皆さんが使うテキストエディタは皆さん自身が考えて良くしていく、そういう気持ちを持ちながら引き続き Vim 活動を続けて行きたいと思います。 さて 2015年は如何だったでしょうか。Vimmer になりたいと思っている人たちは Vimmer になれたでしょうか。Vimmer の世間一般のイメージと言えば vimrc ばかり弄っている プラグインばかり作っている 現代でも vim が最強だと思ってる

    Vim で引き籠る - Qiita
    richard_raw
    richard_raw 2015/12/14
    「WindowsのVimからWebDAV上のファイルを読み書きしたい」がために、Go言語でWebDAVクライアントとそのVimプラグイン、果てはWebDAVサーバーまで書いてしまった話。Vimがオマケじゃないですかヤダー!
  • 汎用的なコードの依存関係の抽出ツール rexdep を作りました! ― 正規表現で依存関係を大雑把に抽出しよう! - プログラムモグモグ

    あらすじ ソフトウェアの中の依存関係について 正規表現で抽出できることとその限界 コードの依存関係を抽出するツール rexdep を作りました ソフトウェアの構造を概観するには あなたは、大きなソフトウェアを目にした時、何をしますか? ファイルが何十、何百もある時、どこから読みますか? ソフトウェアが巨大になると、そのコードの構造を把握するのは難しくなります。 特にプロジェクトに入りたての人にとって巨大なコードベースを一目で理解することは難しく、細かなタスクをこなしていく中で徐々に「どこに何が書いてあるか」を理解していくしかありません。 ソフトウェアによってはモデルとコントローラ、データベースとビューと言った具合にコードが分かれており、これくらいの分類はディレクトリ名を見れば理解できるかもしれません。 しかしそのようなざっくりとしたコードの分類が分かったところで、ソフトウェアの構造を理解し

    汎用的なコードの依存関係の抽出ツール rexdep を作りました! ― 正規表現で依存関係を大雑把に抽出しよう! - プログラムモグモグ
    richard_raw
    richard_raw 2015/11/20
    includeとかからファイルの依存関係を解析するツール。確かにDoxygenやCallgrindより手軽だわー。
  • ターミナルにリッチなモニターを表示させる

    B! 511 0 0 0 以前、 sparkという シェルスクリプトで棒グラフを表示するコマンドを紹介しましたが、 さらに複雑なグラフや地図などもターミナルに表示してしまおうと言う プロジェクトの紹介。 blessed-contrib termui wopr ブラウザに表示させる blessed-contrib nodeがインストールされている必要がありますが、 nodeが入っているなら取り敢えず $ git clone https://github.com/yaronn/blessed-contrib.git $ cd blessed-contrib $ npm install $ node ./examples/dashboard.js を実行してみてください。 ターミナル上に こんな感じのものが表示されると思います。 追記: 2015/11/30 上のgifはGNU screenを立

    ターミナルにリッチなモニターを表示させる
    richard_raw
    richard_raw 2015/11/12
    これがレトロフューチャーか(ぇ
  • CSVテキストをMarkdown形式のテーブルに変換するツールをつくった

    Markdown形式のテーブル記法をいつまでたってもうろ覚えで、毎回検索したり、変換サイトにアクセスするのが面倒だったのでツールをつくりました。嘘です。Go書きたかっただけです。 使い方 CSVテキストを標準入力から受け取って整形済みのMarkdown形式テーブルを出力します。 $ mdt < hoge.csv | headerA | headerB | | ------- | ---------------------- | | short | very very long content | 連携 コマンドラインツールなので、pbpasteやAutomatorと組み合わせて好きなように使えます。 以下は、Automatorのサービスとして登録したmdtをGitHubのIssue作成時に呼び出している様子です。 便利っぽい。 機能 CSV/TSVに対応 タブ区切りにも対応しているのでエク

    CSVテキストをMarkdown形式のテーブルに変換するツールをつくった
    richard_raw
    richard_raw 2015/05/19
    やっぱりAutomator便利ですよね!(そっちか)/次はLaTeXのテーブルに変換だ!(ぇ
  • Dockerを使って本番さながらのGolangの環境を構築してIntelliJで開発する - とよぶ

    やっと季節は三寒四温の状態から抜け、もう春だと言っていい季節ですが、僕は痔に苦しんでいてやっとの思いで回復に向かっております。 春って素敵。 というわけで、業務で新しいプロジェクトGolangで実装する方針になってしまったので、仕方なくGolangの開発環境を構築します。 Scalaどこ行った。 僕自身はレガシープロジェクトに長いこといたので今更ながらDockerへの入門レベルの情報を書き並べつつ環境構築していきます。 準備 VirtualBoxのインストール Vagrantのインストール 環境 Mac OSX 10.9.5 Mavericks Vagrant 1.7.2 目標 MacのIntelliJからGolangのソースコードを修正して、Dockerコンテナ内に反映させ、 Macのブラウザ経由でアクセスしてレスポンスを確認できる。 仮想OSを準備してMacとファイルの同期を行う。

    Dockerを使って本番さながらのGolangの環境を構築してIntelliJで開発する - とよぶ
    richard_raw
    richard_raw 2015/04/28
    私の環境WindowsだしWeb開発系じゃないけど興味あります。まだベストプラクティスないのかー。
  • コード補完もできる Go の REPL「gore」を作った - 詩と創作・思索のひろば

    タイトルの通りです。Go は LL 的に使える、とはよく申しますが、そういう意識で使っていると REPL 的なことをしたいときに困りがちですよね。そこで作りました。gore。いい名前ですね。 motemen/gore · GitHub 以下のスクリーンキャストでだいたいの雰囲気をお察し下さい。 (スクリーンキャストは cho45/KeyCast を使って撮影しました) 特徴 gore の特徴は以下の通りです。 ラインエディタと履歴 複数行入力 パッケージのインポート、補完つき 式および文を実行可能 コード補完(nsf/gocode を利用) プリティプリント(k0kubun/pp か davecgh/go-spew がおすすめ) ドキュメントも引ける(godoc が必要) 以上のように、非常に便利なものになっております。むしろこの程度 REPL には当然あってほしい機能だとも言える。 イン

    コード補完もできる Go の REPL「gore」を作った - 詩と創作・思索のひろば
    richard_raw
    richard_raw 2015/02/19
    あら便利そう。
  • The Walt Disney Company

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    The Walt Disney Company
    richard_raw
    richard_raw 2014/12/18
    DisneyはDockerとGoの研修とかやってるそうです。……どういうことなの。
  • Go言語によるCLIツール開発とUNIX哲学について - ゆううきブログ

    この記事ははてなエンジニアアドベントカレンダー2014の8日目です。 今回は、Go言語でサーバ管理ツール Mackerel のコマンドラインツールmkr を作るときに調べたこと、考えたこと、やったことについて紹介します。(mkr は現時点では開発版での提供になります。) コマンドラインツールについて コマンドラインツールを作るにあたって、@deeeet さんの YAPC Asia 2014 での発表資料が非常に参考になります。 書籍 UNIXという考え方ーその思想と哲学 の内容をベースに、コマンドラインツールはどうあるべきかということが丁寧に説明されています。 上記資料から引用させていただくと、コマンドラインツールにおいて重要なポイントは以下の7つであるとされています。 1つのことに集中している 直感的に使える 他のツールと連携できる 利用を助けてくれる 適切なデフォルト値を持ち設定もでき

    Go言語によるCLIツール開発とUNIX哲学について - ゆううきブログ
    richard_raw
    richard_raw 2014/12/09
    UNIX哲学が好きで且つGoを勉強したいので参考にします。
  • 第351回 GoとQMLとGUIアプリ | gihyo.jp

    Go言語、流行ってますね。今回はGo言語とQMLを組み合わせて、簡単にGUIアプリケーションを作れるgo-qmlについて紹介しましょう。 go-qmlとは? 「go-qml(qmlパッケージ⁠)⁠」はGo言語からQMLを使うためのGoパッケージです。Goプログラムの中でUIとしてQMLを利用できたり、QMLの拡張をGo言語で作成することができます。開発者はCanonical社員のGustavo Niemeyerで、Debian/Ubuntu上で最新のGo言語を導入するためのgodebやJujuのGo対応なども行っている人物です。 Go言語やQMLについてはRecipeの読者なら名前ぐらいは聞いたことがあるでしょうし、よく使っているという方もそれなりにいらっしゃると思いますので釈迦に説法になりそうではありますが、両者についても簡単に説明しておきます。 「Go言語」はシンプルな仕様と豊富な標準

    第351回 GoとQMLとGUIアプリ | gihyo.jp
    richard_raw
    richard_raw 2014/11/26
    GoからQtが使えるのか……。
  • Big Sky :: html をコマンドラインからパースするなら pup が便利

    2014年でも html を解析してゴニョゴニョするなんて要件はまだまだある訳で、そんな時に便利なのが pup というコマンドです。 EricChiang/pup - GitHub README.md pup pup is a command line tool for processing HTML. It reads from stdin, prints to stdout,... https://github.com/EricChiang/pup 通常、こういったツールは perlrubypython 等で提供されランタイムがインストールされていない環境で動かすのはちょっとした手間が発生していました。しかし pup ならば golang で出来ているのでバイナリ1つあれば動かせます。 使い方は、例えばこのサイトのパーマリンクのHTMLを得たいならば curl -s http:

    Big Sky :: html をコマンドラインからパースするなら pup が便利
    richard_raw
    richard_raw 2014/09/17
    おお、Rubyでやってたけどこちらの方が手軽かも知れません。
  • pecoの基礎の基礎 - Qiita

    「pecoってツールらしきものが流行っている」と思いつつ、導入とか難しそうと思って後回しにしていたんですが、気がついたら自分の手元のbash設定ファイルにpecoを使う関数が定義されていたので、改めて初歩からやってみました。 説明に使用しているシェルはお馴染みのbashです。 pecoとは GitHubのpecoのサイト とてもシンプルなツールで 「標準入力から受けた行データをインクリメンタルサーチして、選択した行を標準出力に返す」 コマンドです。 シンプルゆえに様々な組み合わせで効果を発揮します。あらゆる場面での選択肢を標準入力に渡して、選択された結果を標準出力から受け取って加工してコマンド実行をする、というのが基的な流れ。 説明じゃ伝わらないので実例を体験したほうが早いかも。 peco のインストール pecoで検索すると「pecoはGoでできている」とか出てきて「Goってなんぞや」

    pecoの基礎の基礎 - Qiita
    richard_raw
    richard_raw 2014/09/12
    入門しました!peco-lscd便利だわ……。
  • 例えば、pecoをビルドしない - Qiita

    pecoが浸透し始めてる。すばらしい!でも同時に「pecoをビルドしようと思ったらgoが入っていなかった…」というポストもちらほら見かけるようになった。 qiitaに書いてある記事も結構goをインストールしてコンパイルするところから触れているものが多い。 これらが「ついでだからgoをインストールしよう」という意図なのか「pecoはgoがないとインストールできない」と思ってるからなのかわからないのでこの記事を書くことにした。 pecoを使うだけならgoをインストール必要する必要はない pecoの開発版を使いたいのでは無い限り、go体をインストールする必要はありません。go getする必要もありません リリースファイルをインストールする READMEにもあるようにpecoにはリリース版のファイル群があります。この中から使いたいバージョンのリリースを探してファイルを解凍し、pecoのバイナリを

    例えば、pecoをビルドしない - Qiita
    richard_raw
    richard_raw 2014/09/12
    Go必須じゃなかったのか!