タグ

関連タグで絞り込む (177)

タグの絞り込みを解除

golangに関するluccafortのブックマーク (47)

  • Go Binary Hacks - go buildせずにビルドする #golang - Qiita

    はじめに Goではルールに従いソースコードを配置してgo buildを実行するだけで実行バイナリを作ることができます。 とても便利なのですが、一体裏で何が行われているのでしょうか? この記事ではgo buildの仕組み、簡単なシンボルテーブルの説明、Goに用意されているバイナリ操作コマンドを学ぶことができます。 実行バイナリの作成 実はGoでもC言語と同様に以下のフローで実行バイナリを生成しています。 1. ソースコードをコンパイルをしてオブジェクトファイルを作成 2. オブジェクトファイルをまとめてライブラリを作成 3. オブジェクトやライブラリをリンクして実行バイナリを作成 go buildではこれらの処理を複数コマンドにより実現しています。 コマンドの詳細はgo buildの-xオプションで確認することができます。 同一パッケージに1つのファイルしかない場合

    Go Binary Hacks - go buildせずにビルドする #golang - Qiita
    luccafort
    luccafort 2017/01/24
    go buildが普段なにを行っているのかの参考になる非常によい記事なのだけどもどういうモチベーションが生まれればこれを調べよう!という気になったのかが少しだけ気になる。なんかきっかけあったのかな。
  • Goではじめてみたブラウザの自動操作 - Qiita

    はじめに 面倒なWEBブラウザの定型作業を自動化したくて。 WEBブラウザの自動操作には定番のSeleniumを利用する。 Seleniumは主にウェブブラウザのテストに利用されているが、テスト用途以外でも利用はできる。 なおウェブスクレイピングが目的であれば、scrapeとかgoqueryなどを利用するほうが簡単。 それでもSeleniumを利用するのは、 実際のブラウザが利用できるという点であり、以下のような利点があると思っている。 IEなど特定のブラウザのみをサポートしているサイトの自動操作 ごりごりのJavascriptやFlashを利用されているサイトの自動操作 証跡として画面のスクリーンショットを取得できる 前提知識 WebDriverを介することで、スクリプトとしてJava,C#,Pythonなど多くの言語から利用できる ブラウザごとにWebDriverが用意されており、1つ

    Goではじめてみたブラウザの自動操作 - Qiita
    luccafort
    luccafort 2017/01/21
    agouti知らんかったのでページに移動したら左側の花のバックグラウンド画像が主張強くてチョット異常にうざいw…でも良さ気。
  • Arukasを使って無料でGo製のslackbotを運用する - きょこみのーと

    はじめに SlackbotをHerokuで一日中動かすと課金が発生するので色々ハックが必要となったりするので、なんとかしたくArukasに出会いました。 今回は、自分が作ったgo製のslackbotを元につくったbotをgithubにpushしてWercker経由でdockerImageを作ってArukasへのDeployを行う方法を紹介します。 github.com 今回のコードとか設定をexampleとして公開してますので、よろしければ参考にしていただければと。 Arukasとは? いまのところ無料でDockerをホスティングできるサービスです。 arukas.io 一応CLIツールも公開されていて、結構便利です。 github.com ※注意点としては、CMDで起動したプロセス監視とかは無いので自分でとかgo-server-starterとかを入れてプロセス死んだときに再起動する仕組

    Arukasを使って無料でGo製のslackbotを運用する - きょこみのーと
    luccafort
    luccafort 2017/01/04
    お役立ちっぽい情報だこれ。ちょっと知識量が足らなくてわからんところあるのでexampleみながら勉強させてもらおう。
  • Goについて思うこと 2016

    あんまりこういう内容のポエム的なものは広まってほしくないなあ・・と思うのでこっちにひっそり書くことにする。 今年は僕にとってはGoの存在がとても大きい年だった。 5年前、僕が書くのはWebアプリケーションが中心で、PHPをメインで触っていた。それが気がつけばエンジニアリングのレイヤが広がったなあという所感があって、ここ最近Goがそれを加速してくれた。第二の言語としてのGoはとても良くできていて、小回りが聴くし、ミドルウェアをちょろっと書くにも心地よい。やっぱり最近の言語ならではの良さがある。たとえば、 * テストが標準ライブラリに組み込まれている * net/httpがとても良くできている。フレームワークを必要としない場面も多い。 * concurrencyを堅牢に扱える(うまい言葉が見当たらない) * そしてそれなりに速い というのがあげられる。特にgo toolの充実はすごい。Race

    luccafort
    luccafort 2016/12/27
    “まず「これを実現したいんだ」が一番最初にあって”わかる。無駄なところの議論が起きにくい言語なんだなって強く感じるところがGoの魅力の1つですよね。PHPに対する感覚もぼくにはわかりやすかった。
  • Goで読んだ本-とある同僚からの相談 - (ヽ´ω`) 

    この記事は Go (その2) Advent Calendar 2016 - Qiita の 18 日目の記事です。 Goを始めるにあたり、皆様はどうしているでしょうか? A Tour of Go Packages - The Go Programming Language Command Documentation - The Go Programming Language The Go Programming Language Specification - The Go Programming Language The Go Memory Model - The Go Programming Language などを見て始める方がいらっしゃる一方、 を手にとって始めて見る方も一定数いらっしゃるかと思います。やはり日語で書かれていること、を書かれた方の知見などが得られるのは大きいの

    Goで読んだ本-とある同僚からの相談 - (ヽ´ω`) 
    luccafort
    luccafort 2016/12/18
    プログラミング言語Goは教科書といった手堅い印象で過不足なく学べるけど最初に手を出すには手ごろさはない感じ。 みんなのGoは読めてないけどこの文章からだと初中級向けという印象、WEB+DBは会社で買ってもらうのが吉
  • Gogland – JetBrains発の新しいGo IDEのお知らせ | Post Blog

    3年前、JetBrainsgo-lang-idea-pluginに貢献するという戦略的な決断をいたしました。これはIntelliJプラットフォーム向けのオープンソースのGo言語用プラグインを開発するプロジェクトです。3年に渡る弊社の合計3千を超えるコミットによりプラグイン品質は底上げされ、より安定し拡張性の高く、機能豊富なものへと磨き上げていくことができたと確信しています。 ここ一年間、プラグインのユニークユーザー数を追跡してきましたが、月間アクティブユーザーは倍増して3万人となりました。この事実と、多くのユーザーによるIntelliJライクなGoコーディング体験は提供されないのかというリクエストを踏まえ、半年前に弊社はgo-lang-idea-pluginをフォークし、弊社独自のGo IDEをリリースするという決断に至りました。今ではGoツールサポートと開発体験全般の改善専門のチームを

    Gogland – JetBrains発の新しいGo IDEのお知らせ | Post Blog
    luccafort
    luccafort 2016/12/16
    さすがゴッグだなんともないぜ!!!…っていいたくなるプロジェクト名だよね。それはそれとしてぼくはAtomでGo書いてるんだけどそれ以上の魅力があるのか?という点が気になるなぁ。
  • テストしやすいGoコードのデザイン

    テストしやすいGoコードのデザイン golang.tokyo #2 12 December 2016 Taichi Nakashima 言いたいこと 明示的であれ! 2 whoami @deeeet / @tcnksm (GitHub) http://deeeet.com A PaaS Dev&Ops (Using go for CLI tool, API, Batch jobs) 3 OSS Tools gcli - The easy way to build Golang command-line application ghr - Create Github Release and upload artifacts in parallel Packages go-httpstat - Go package for tracing golang HTTP request latency

    luccafort
    luccafort 2016/12/15
    めっちゃいい資料だった。以前このウンコードなんとかしたいなーと思っていたときにこれを読みたかった…。
  • 究極的に簡単に始めることができるGoで作られたGitHubクローン「Gogs」 | ソフトアンテナ

    個人プロジェクトや社内プロジェクトでGitをプライベートで運用したいという要望は結構あると思います。 GitHubは世界的な大人気サービスですが無料プランでは非公開リポジトリを作成することはできません。GitHubクローンソフトを導入すれば思うままにリポジトリを作成することができますが、インストールや設定に時間がかかりがちという弱点がありました。 日紹介する「Gogs」はGitHubクローンの一つ。Goで作られていて最高に簡単に始めることができるのが特徴です。設定に手間取らないのですぐに試すことができます。 インストール方法 バイナリのダウンロード&サーバー起動 「Install from binary」から、Windows / Linux / Mac OS X用のバイナリをダウンロードすることができます。今回はMacで試してみました。 ↑gogs_v0.4.2_darwin_amd64

    究極的に簡単に始めることができるGoで作られたGitHubクローン「Gogs」 | ソフトアンテナ
    luccafort
    luccafort 2016/12/12
    手軽なギフハブクローンなのだろうけどもそもそもプライベートでないといけない理由ってなんかあるかなぁ?と考えてしまうので多分マッチしなさそう。個人的に気になるのはGoだと速いとかあるかな?という点かな。
  • Go言語 Web フレームワークはこれを使おう 2016年12月版 - Witch on the Other Shore

    2016 - 12 - 10 Go言語 Web フレームワークはこれを使おう 2016年12月版 この記事は Qiita Advent Calendar 2016 Go (その2) 10日目の記事です。 Go言語の Web アプリケーションフレームワーク (以下、Web フレームワーク) は、群雄割拠の時代を経てわずかばかりまとまってきた印象があります。今回、Go言語の Web フレームワーク を選定するさいの参考になればと思い、あらためていくつかのフレームワークの特長や最近の動向をまとめました。 結論 現時点では iris または Echo の選択をおすすめします。 選定と推薦の根拠 主観 GitHub Trending, Star, Issue プロダクトでの使用経験 (Gin, Echo) 現在、 株式会社ユーリエ のプロダクト eurie Desk 開発における主たる言語として G

    Go言語 Web フレームワークはこれを使おう 2016年12月版 - Witch on the Other Shore
    luccafort
    luccafort 2016/12/11
    まだGolangのフレームワークは黎明期なんだろうけども現時点だとEchoがベターなのか。それはそれでググラビリティーの低いフレームワーク名だなぁ。
  • Golangのconst識別子iotaの紹介 - Qiita

    Go AdventCalendar2016の9日目(2016/12/09)の記事です。 前の記事は massa142さんの「Hacker Newsを一覧表示してくれるCLIツールを書いた」でした。 はじめに ちょっとマイナーなGolangの言語仕様である、iotaについて紹介します。 結構入門書とかにも書いてあるんですが、読み飛ばしがちなんですよね。 特に新規性がある内容ではないので、タイトルでもう知ってるわ!という方はそっ閉じしてもらって大丈夫です。 iotaとは iotaは、定数宣言(const)の内での既定された識別子です。 型なしの整数の連番を生成します。具体例を見ましょう。 package main import "fmt" const ( zero = iota one = iota two = iota three = iota ) func main() { fmt.Pri

    Golangのconst識別子iotaの紹介 - Qiita
    luccafort
    luccafort 2016/12/09
    Byteサイズの管理をiotaで行えるのか!これは知らなかった。いいねスター的なもの欲しいめっちゃ連打したい。
  • Go言語の忘れがちなtime fomatの話 - ○△□ - yudppp techblog

    この記事はGo Advent Calendar 2016 - Qiitaの7日目の記事です。 apexの話でもしようと思ったのですが時間がなく別の記事を書くことにしました。 Golang仕事で書き始めて、もう丸2年になりますが、未だに必要になると毎回ググって調べてから利用するものがあります。 その一つがtimeパッケージのフォーマットです。 GolangではいわゆるYYYYMMDDのような形式ではなく20060102といった特定の日時をベースにした文字列で表す必要があります。 123の順で振られていること、2006年なこと等なんとなくは覚えてきているのですが、確認をしないと不安で仕方なくなります。 この2年間で最低でも10回以上はgolang time formatでググり、その度にmattnさんの記事に辿り着いていました。 同じ記事を何度も見るのは自分に負けた気になるので悲しいです。

    luccafort
    luccafort 2016/12/08
    "最低でも10回以上はgolang time formatでググり、その度にmattnさんの記事に辿り着いていました。"わかる。
  • Goのアンチパターン

    Go書いててなんとなく見えてきた Goでやっちゃいけないパターン WAF導入してらくらくWebアプリ WAF自体が現在群雄割拠状態。 WAF毎にハンドラインターフェースが違うので既存コードつなぐにはラッパーが必要。 どのWAFもLL言語に比べるとまだまだフィーチャーの網羅範囲が狭い。 なのでもちろんLL言語ほど楽には書けないことが多い。 リフレクション使いまくりでトータル性能はLL言語並みに遅いのもある。 Go1.7のcontextパッケージの導入で標準のHTTPハンドラが復権する可能性があり更に荒れる予想。 追記: 楽できるのを期待してWAFを導入するの「やっちゃいけない」とまでは言い過ぎだったかもしれないけれど例のsqlでPrepareを正しく使えていないで性能出なかった件とか、当面WAFを使うなら自分で概ね中身を理解して使う覚悟が必要。 構造体メソッドにロジックを詰め込む Goの思想

    luccafort
    luccafort 2016/08/02
    読んだ、基本的にはGoの思想を順守せよということなんだな。問題はGoの思想を知らずにコードを書いてしまったケースだな、ぼくのことだが。
  • Golangのエラー処理とpkg/errors

    GoConでは毎回エラー処理について面白い知見が得られる.Go Conference 2014 autumn においては(実際のトークではないが)居酒屋にて@JxckさんがRob Pike氏から以下のようなテクニックを紹介してもらっていた. Errors are values - The Go Blog Golang Error Handling lesson by Rob Pike これはWrite(やRead)のエラー処理が複数続く場合にerrWriter を定義して複数のエラー処理を一箇所にまとめてコードをすっきりとさせるテクニックであった. そして今回の Go Conference 2016 spring のkeynoteにおいてもDave Cheney氏から(僕にとっては)新たなエラー処理テクニックが紹介された. Gocon Spring 2016 実際に使ってみて/コードを読ん

    luccafort
    luccafort 2016/04/25
    途中まで「うんうんわかるわかる」と読んでいたのにerr.(temporary)という呼び出し方法を見て「えっなにこれこれで呼び出せんの???」と混乱のるつぼに突入してしまった。errorsも知見だけどこっちのほうが気になる。
  • 本物の 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
    luccafort
    luccafort 2015/12/17
    goいんだけどこういうの嫌いじゃない。
  • アメッシュをターミナルに表示して、ついでに雨降ってたらSlackでおしえてくれるところまで、Goでやったことのまとめ - DRYな備忘録

    このエントリはGo その2 Advent Calendar 2015 - Qiitaの8日目です。 7日目のS_Shiomtoriさんの記事もコマンドラインツールの話でした。 % go get github.com/otiai10/amesh/amesh % amesh -g 思ったことや詰まったこと書きます Goでコマンドラインツールをつくりはじめるとき なんでわざわざGoでコマンドラインツールつくるか コンパイルが非常に早いので、ほぼスクリプト言語のようにソースファイルをWrite&Runして開発することができるから クロスコンパイルが容易なので、Goのコンパイル環境を要求せず、実行可能ファイルを納品できるから 並行処理を書きやすく、わりとデカめのことをさくっとやってのけたりするから Goでコマンドラインツールつくるときいつもハマること flagパッケージわりと使いにくい flag.A

    アメッシュをターミナルに表示して、ついでに雨降ってたらSlackでおしえてくれるところまで、Goでやったことのまとめ - DRYな備忘録
    luccafort
    luccafort 2015/12/08
    結論のアメッシュ見に行ったほうが早いには反論したいね!だって見に行くのめんどくさいじゃん!だったらSlackに通知のほうが超楽じゃん!!!ということですごくいいと思いましたまる
  • RubyからGoの関数をつかう → はやい - Qiita

    この記事ではRuby2.2.3とGo1.5.1を使用しています。 すごい要約 Go and Ruby-FFI - Code7 Interactiveを読むといい。 Go、はやい 最初にRubyGoの計算速度を比べるため、フィボナッチ数を単純に計算するやつをそれぞれ書きました。

    RubyからGoの関数をつかう → はやい - Qiita
    luccafort
    luccafort 2015/11/16
    Rubyだと時間がかかる処理をGoで書くことで高速化してるって話か?共有ライブラリ化出来るってのは地味にいいのかも。
  • Go 1.5 がリリースされました

    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

    Go 1.5 がリリースされました
    luccafort
    luccafort 2015/10/06
    こういうGoで書いたコードがGoで動くというメリットってなんだろ?C書かなくていいとかGoやってれば言語の不具合見つけれるとかそういうの?ちょっと不思議、あとなんか卵が先か鶏が先かみたいな気持ちになる。
  • Goのデプロイを「もっと」簡単にする。ビルドプロキシCargo。改めTorokko。

    Goアプリのデプロイはバイナリをひとつ配布して完了なのでとても楽なのですが、バイナリ自体をどこで管理するかについては意外と頭を悩ませることになります。 Goを使うにあたって、コードさえあればあとはバイナリも簡単に配布できる状態というのが望ましいと思い、仕組みを作ってみました。 2015/08/16追記: CargoRustのパッケージマネージャーと名前がかぶってたのでTorokko(トロッコ)に改名しました! TorokkoはGoアプリのビルドと成果物ダウンロード用のAPIを提供するビルドプロキシです。 リクエストのURLで対象リポジトリ、GOOS、GOARCH、バージョンを指定します。 ビルドはDockerコンテナを用いて行い、バックエンドストレージに成果物が保存され、ビルドリクエストと同じURLでダウンロードを行うことができます。 Docker Hub の Automated Bui

    Goのデプロイを「もっと」簡単にする。ビルドプロキシCargo。改めTorokko。
    luccafort
    luccafort 2015/08/17
    Rustのパッケージマネージャと名前がかぶってるというマサカリを受けて改名したっぽい。南無…。
  • nginxとGoでつくるメルカリのプッシュ通知システム | メルカリエンジニアリング

    原稿の締め切りを越えた先にあるもの、それは校正です。「俺達の戦いはこれからだ!」的な展開に胸が熱く・・・いえ、ちょっと胃のあたりがチクチクする@cubicdaiyaです。 今回はメルカリのプッシュ通知システムとその変遷について紹介します。 メルカリとプッシュ通知 メルカリではアプリ内でのさまざまなイベントの発生時に対象ユーザに対してプッシュ通知を行うようになっています。アプリ内で発生するイベントというのは例えば、 商品の購入 購入した商品の発送 商品に対するいいね!、コメント といったものです。通常アプリ内でイベントが発生した際はAPIサーバにHTTPSリクエストを発行し、MySQLデータベースへの参照・更新が行われた後ユーザにレスポンスを返します。そして必要であればプッシュ通知を行います。 メルカリのプッシュ通知システムの課題と変遷 メルカリのプッシュ通知システムはこの1年間で2度刷新さ

    nginxとGoでつくるメルカリのプッシュ通知システム | メルカリエンジニアリング
  • GoだけでAndroidアプリを作る その1 〜インストール編〜

    連載目次 その1 〜インストール編〜 その2 〜画像の表示とイベント〜 その3 〜タッチイベントとライフサイクル〜 その4 〜音の再生とセンサー〜(予定) その5 〜簡単なゲームをつくってGoogle Play Storeに公開しよう〜(予定) はじめに @tenntennです。 もうすぐGoのバージョン1.5がリリースされる予定ですが, みなさまはどの機能に注目しているでしょうか? コンカレントGCだったりshared libraryが作れるようになったりと,Go 1.5は非常に楽しみです。 その中でも私は,Go 1.4で入ったGo Mobileのアップデートに注目しています。 Go Mobileは,Goを使ってモバイルアプリを書くためのツール類を提供するプロジェクトです。 Go 1.5では,iOS向けのアプリがビルドできるようになったり,Androidのサポートが強化されるようです。

    GoだけでAndroidアプリを作る その1 〜インストール編〜