All slide content and descriptions are owned by their creators.
All slide content and descriptions are owned by their creators.
準備 今回は下記のパッケージを利用させていただいております。 https://github.com/PuerkitoBio/goquery パッケージインストール [code lang=text] go get github.com/PuerkitoBio/goquery [/code] ソースコード 実行結果 さいごに 非常に簡単にスクレイピングを行うことができました。 Go言語は並列処理が強みの一つなので、並列でスクレイピングすることにより、 時間を短縮することができますね。(用法用量は守って正しく…) 弊社ではエンジニアを大募集しております。 ご興味ある方はこちらからお問い合わせください。 http://linkbal.co.jp/recruit/ ※ 著作権注記 The Go gopher was designed by Renee French. (http://reneefre
オプション パッケージを作る際、柔軟性を持たせるためにオプションを持たせたい時がしばしばあります。 しかしオプションは知っての通り設定しないことが少なくありません。 単にコンストラクタに並べるようでは無用な複雑さをはらむことになります。 JavaなどではOptional Parameterなどのように、デフォルト値が指定できる機能があります。 機能の厳選されたgo言語ではそのような機能はありませんが、 "Self Referential Functions Design"というテクニックがあり、 それについての記事がRob Pike氏の記事を筆頭にいくつか説明されています。 オプションと相性が非常に良いため、合わせて"Functional Option Pattern"とも呼ばれています。 Dave Cheney氏の記事を参考におおまかに説明したいと思います。 様々な解決策 あるServe
ブログのコピペです。 Go言語でTodoistのCLIクライアントを作ってみた Todoist というWebアプリケーションのタスク管理ツールが大好きで一年くらい使っている。 以前はddksr/cliistを使用してCLIで操作できていたのだが、Todoist APIのバージョンアップに伴い、使用できなくなってしまった。 アップデートをするようなのだが、いつになるか待つのも面倒だし、Go言語触ってみたかったので練習がてら新しくTodoistのCLIクライアントを作ってみたので紹介。 作成メモみたいなのはまた今度書く。 レポジトリ sachaos/todoist: Todoist CLI Client. I ❤️ Todoist and CLI. 使い方 タスク一覧 $ todoist l 64302291 p1 #Movie A CLOCKWORK ORANGE 64302368 p1 #
言わずと知れた書籍「みんなのGo言語」。発売直後くらいに購入してはいたんだけど、目次あたりをパラパラ見て「あ、これは2,3日集中してガッとやりたくなるやつだ」と思って。で、タイミングを見計らっているうちに年末年始休暇に突入してしまったのだけど、そのタイミングでちゃんと「ガッ」とできたので、今日はそのお話をば。 みんなのGo言語[現場で使える実践テクニック] 作者: 松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太出版社/メーカー: 技術評論社発売日: 2016/09/09メディア: Kindle版この商品を含むブログを見る 僕と Go 言語 僕の Go 言語遍歴について少しだけ触れておく。 以前、個人的にちょっと作ってみたいツールがあった時期があって。そのとき既に Go がそこそこもてはやされていたこともあって、そのツールは Go で書いてみていた。↓がリポジトリなんだけど(コ
特定のAPIを利用するコマンドラインツールやサービスを書く場合はClientパッケージ(SDKと呼ばれることも多いが本記事ではClientと呼ぶ)を使うことが多いと思う.広く使われているサービスのAPIであれば大抵はオフィシャルにClientパッケージが提供されている.例えば以下のようなものが挙げられる. https://github.com/aws/aws-sdk-go https://github.com/Azure/azure-sdk-for-go https://github.com/PagerDuty/go-pagerduty https://github.com/hashicorp/atlas-go 特別使いにくい場合を除けば再実装は避けオフィシャルに提供されているものを使ってしまえばよいと思う(まともなものなら互換性などをちゃんと考慮してくれるはずなので).一方で小さなサービ
2016年9月に発売された「みんなのGo言語」を一読(厳密にはブログを書くため二読)しました。 他の日本語のGoの書籍と比べて、お財布に優しいお値段だし、ページ数も薄いし、IT雑誌のムックっぽい作りだし、読みやすそうだと思って入手してみると...q@w@p Goの入門書を読み終えた方、Goをプログラミングしていて困った方、Goの知識を整理&確認したい方、そして、業務アプリをGoで開発したい&している方にオススメの内容かと思います。 以下、読書感想文ですが、本書を入手して実際に読み進めて頂きたいため、少しぼやかして書いています。あと、目線?着眼点?がおかしかったらすみませんm(__)m 各章について 第1章 松木さん:「みんなのGo言語」の執筆に参加しました http://www.songmu.jp/riji/entry/2016-09-18-go-book.html これからGoのコードを
Go 言語で wc を実装してみた GitHub - takatoshiono/go-wc: Go implementation of wc command for practice なぜか A Tour of Go をやり終えた時「全然うまく書けない」というのが感想だった。もっと Go 言語のコードを読み書きする必要がある。 そして読むだけだとやる気が続かないから何か書きたい。何を作ろうか? Go 言語なのでスタンドアローンで起動するバイナリ実行形式のファイルがよさそう。仕様が簡単で手頃なやつがいいな...と考えて wc にしたのだった。他にも以下が候補にあった。 ab smtp server beer コマンド(なんかうまそうなビールを表示する) wc コマンド find コマンド (コマンド系で攻めるなら GNU coreutils, findutils などを見るとよさそうか...
「goで書いたアプリケーションは実行ファイルひとつコピーするだけでいいのでインスコ超ラクチン」なんて思ってたんですが、 go1.4からnetパッケージを使っているアプリケーションは、フツーにビルドするとdynamic linkになるようになってました。 $ cd /path/to/your_app $ go build $ file your_app your_app: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), not stripped そんなわけで別環境にバイナリコピーしても動かないケースが発生して超絶アタマを悩ませることになるのですが、 そんなときは以下のようにbuildすればstatic linkになってくれるようです。 $ go build
昨日僕の Twitter タイムラインで q というツールが話題に上がっていました。 GitHub - harelba/q: q - Run SQL directly on CSV or TSV files Text as Data q is a command line tool that allows direct execution of SQL-like q... https://github.com/harelba/q 標準入力を SQL で抽出できるという物です。ただ個人的には「こういうの python じゃなくて Go でビルドされてると助かるよなー」と思ったので q と同じ様な動作になるツールを作ってみました。 GitHub - mattn/qq Select stdin with query https://github.com/mattn/qq 例えば msys2 のシ
Code-Hex/pget - GitHub Parallel file download client linux カーネルのダウンロードが約1分で終わる様子 これは何なのか 簡単に言うと pget は Go 言語製の高速ダウンロードツールです。 wget っぽく気軽に実行できるように pget と名付けました。 作成の経緯 たまたま Nodejs で Range header に対してスレッドを使って分割ダウンロードするという ここの記事 を見かけたので今回これを並列処理を得意とする Go 言語で実装してみようと思い作成しました。 調べてみると Python や、Java などのほとんどの言語ですでに実装されてるようですが、どれもただ使えればいいという感じだったので、割と本気で作ってみました。(調べられてないだけの可能性高いです) 仕組み ファイルをダウンロードする時、ほとんどの場合が
golangで小さいツールはいろいろ書いてみたけどWebアプリも書いてみようということで作ってみた. github.com 正直途中から飽きてきて,やっつけで作った感が否めない. ある程度機能作って書き直していこうと思っていたけど,ある程度の機能さえ作っていない. 何ができるアプリか ビデオを登録して, 見れます. 説明もつけれます. それだけです. (ログインとかヘルプとかリンクつけてみましたが,ハッタリです) テスト動画にはNHKのクリエイティブライブラリを使わせてもらいました. ライブラリとか 今回は自分に縛りを課していて, サーバサイドは標準ライブラリのみで実装している. (SQLのDriverだけはmattn/go-sqlite3を利用.twtyといいid:mattnさんには感謝.) アプリ自体もSPAとかじゃなくてベーシックなWebアプリ. golangだとWebAPI実装とか
Go言語の主な特徴として、「実行が高速である」「言語仕様がシンプルである」という点が挙げられます。 発表当初の対応OSはOS X(Mac)とLinuxのみでしたが、Go 1.0(2012年3月リリース)からはWindows、Go 1.4(2014年12月リリース)からはAndroidも対象となり、開発範囲が広がりました。 次世代のプログラミング言語として注目を集めるGo言語をこれから学ぼうと考えている方のために、Go言語が基礎からわかるサイト・記事、スライドを12個まとめてご紹介します。 Go言語が学べるサイト・記事 golang-jp - The Go Programming Language http://golang-jp.org/ Go言語の本家サイト(golang.org)を日本語に訳しているサイトです。 未翻訳の部分もありますが、英語が苦手な方にはとても役に立つサイトでしょう。
[追記] id:mattnさんのgodmineがあるので, xlsxをコマンドラインから扱うツールを作りました. たぶん組み合わせて使ったほうが使い勝手いいです.たぶんね. golangでRedmineの情報をExcelにするコマンドラインクライアントを作りました. github.com 使い方 準備 RedmineのRESTful APIを利用するので設定が必要です.設定は以下のリンクを参考に. REST API - Redmine インストールはgoが入っていれば下記で大丈夫なはずです. $ go get golang.org/x/text/encoding/japanese $ go get github.com/twinbird/rdm 起動するとRedmineのURLとAPI Keyが求められるので入力してください. (ホームに.rdmファイルを作って記録されます) 機能 プロジ
PC間でのファイル受け渡しのときにファイルサーバを使うことがたまにありますが、OSによってファイルパスやその書式が違ったり、受け渡し用のディレクトリをつくるとか、ファイル渡したいだけなのに、なんだか小さなひっかかりがあってスマートじゃないなあといつも感じてました。 なので、もっと直感的に「ほい、これ」って渡せるツールをつくってみました。 Hoi Hoiはファイルの受け渡しを簡単に行うためのコマンドラインツールです。Go言語で書かれており、HTTPファイルサーバを利用して機能を提供します。 monochromegane/hoi (An easy file transfer tool using http file server.) ファイルを渡す 使い方は簡単でローカルのファイルパスをhoiコマンドの引数に渡すだけです。 そうすると以下のような、ダウンロード用のURLが出力されます。 htt
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く