タグ

goに関するaki77のブックマーク (27)

  • Go言語を嫌う6個の理由 - さめたコーヒー

    ある仕事でそれまでRubyで書かれていたサーバーサイドをGo言語ですべて書き直すことになって、それまでRubyのコードを書いていた僕はそのままGo言語を書くことになった。その仕事そのものはお客様(僕は外部委託のエンジニアとして参画していた)との関係も良好で素晴らしい仕事をさせてもらうことができたと思っているが、Go言語だけは好きになれなかった。 はじめは流行っている言語だから何か素晴らしい魅力があるのではないかと期待していた。しかし書き始めるうちにどうも自分には合わないなと思うようになり、2年ほど書いて案件の契約が終わる頃にはGo言語でサーバーサイドを書くことは危険だとさえ思うようになった。 あれから数年がたちますますGo言語の案件は増えている。サーバーサイドを書く選択肢としてGo言語を選択する会社も増えている。しかし当にそれでいいのか?ただ流行っているからという理由だけで選択するにはあ

    Go言語を嫌う6個の理由 - さめたコーヒー
  • ファイルをエディターで一括リネームするツールをGo言語で作った! ― 機能を増やさない信念と、OSSとの付き合い方 - プログラムモグモグ

    ファイルを一括でリネームしたいことはありませんか。私はあります。ということで作りました。 インストールはHomebrew brew install itchyny/tap/mmv または以下のコマンドでできます。 go get github.com/itchyny/mmv/cmd/mmv スクリーンショットではvimが起動していますが、 $EDITOR が設定されていればそれを使って編集することができます。 エディターでファイル名を編集して一括でリネームするというのは、新しい発想ではありません。 実際、多くのソフトウェア (特にファイラー) がこの機能を実装しています。 massren vimv qmv Vim plugin vimfiler Defx Vaffle fila.vim Emacs Dired 私はvimfilerの一括リネーム機能をよく使っていました。 特に不満はないのです

    ファイルをエディターで一括リネームするツールをGo言語で作った! ― 機能を増やさない信念と、OSSとの付き合い方 - プログラムモグモグ
    aki77
    aki77 2020/01/10
  • Pixelaを支える技術 - えいのうにっき

    Pixelaの技術的な話(といっても高度なことは殆どしてないんだけど......)とか、あと今回の個人的な頑張りポイントである利用規約・GDPR対応といったところは、後日別エントリとしてまとめたいな〜と思っています。そのうち書くので、よろしかったらそちらも楽しみにしてやってくださいっ。 commit以外の数値でも草を生やせる、PixelaというAPIサービスを作った! - えいのうにっき blog.a-know.me などと書いておきつつ、3週間ほど経ってしまった。ということで、今回はこの点に関して書く。あと、過大なタイトルについてはすみません。これ以外もう何も思いつかなかった。 思い当たる限りで、ざっと箇条書きにしていく。この記事に限らないことだけど、なにか間違ってることとか、もっといいやり方あるよ、というところがあれば、ぜひ教えて欲しい! サーバーサイド GCPGoogle Clou

    Pixelaを支える技術 - えいのうにっき
    aki77
    aki77 2018/11/12
  • google/codesearch が便利 - HsbtDiary(2016-02-04)

    google/codesearch が便利 Ruby でコアの機能を変更する時に gem-codesearch を用いて、 rubygems の全ての gem を調べて、傾向を見るということをよくやるのだけど google が作った codesearch というのもあるというのを akr さんがつぶやいていたので試してみた。 https://twitter.com/tanaka_akr/status/695195509351264256 go で書かれているようなので何も考えずに go get github.com/google/codesearch/cmd/... してから、gem-codesearch のディレクトリで cindex latest-gem を実行したところ、驚くことに 40 分程度でインデックスが完成してしまった。gem-codesearch の groonga だ

    google/codesearch が便利 - HsbtDiary(2016-02-04)
  • イベントループなしでのハイパフォーマンス – C10K問題へのGoの回答 | POSTD

    この投稿は、私が去年OSCONで行ったプレゼンテーションを基に作成しています。プレゼンよりは簡潔に編集し直し、プレゼン後にいただいたいくつかのフィードバックに応える形で記事を書いています。 Go言語に関してよく言われるのは、Go言語はサーバでうまく機能し、静的なバイナリや強力な並行処理、高いパフォーマンスを見せくれるということです。 この投稿では、その後半の2つの項目に関して焦点を当てます。プログラマとってGo言語とそのランタイムは、スケーラブルなネットワークサーバをスレッド管理やブロッキングI/Oを気にせずに書くのにどんなに有効かを説明していきます。 効率的なプログラミング言語に関しての議論 技術的な話に入る前に、Go言語をターゲットにしたマーケットを説明する2つの議論に関してお話したいと思います。 ムーアの法則 画像は以下より引用; 2005年5月にHerb Sutter氏が書いたDr

    イベントループなしでのハイパフォーマンス – C10K問題へのGoの回答 | POSTD
  • nginxとGoでつくるメルカリのプッシュ通知システム | メルカリエンジニアリング

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

    nginxとGoでつくるメルカリのプッシュ通知システム | メルカリエンジニアリング
    aki77
    aki77 2015/08/21
  • go-setlock - Go port of setlock - その手の平は尻もつかめるさ

    [2015/08/10 12:47 追記]なんか一部のOS Xで動かないので調査中です…… [2015/08/11 10:15 追記]v1.1.0で直っています setlock は daemontools に同梱されているコマンドラインツールで,非常に便利かつ強力なツールであることが知られています.この件については以下の記事などが参考になります. Kazuho@Cybozu Labs: setlock を使って cron をぶんまわす方法 Linux - setlockを使って簡単に多重起動防止機能を実装する - Qiita そしてこの度,その setlock を golang で移植した go-setlock というものをこさえました. go-setlock は setlock と同等の機能を持っており,かつ以下の様なメリットが挙げられます. daemontools から独立しているので

    go-setlock - Go port of setlock - その手の平は尻もつかめるさ
    aki77
    aki77 2015/08/10
  • モノリシックなRubyからGoによるマイクロサービスへ | POSTD

    過去9年わたりWebアプリケーションを開発してきたNiket氏( @nexneo )は、2013年からGoを使って作業をするようになりました。この講演では、彼がどのようにRubyのモノリシックアプリケーションを分解しつつ、Goで記述されたマイクロサービスへと至ったかについて説明しています。講演のスライドは、 speakerdeck.com/nexneo/joy-of-single-purpose-services-in-go で閲覧可能です。 Single purpose servicesというのは、単一の問題を解決するサービスのことです。 一般的に マイクロサービス としても知られています。 Niket氏は、学校側が親御さんたちと連絡したり成績表や出席を管理したりするための人気オンラインプラットフォーム、 Beehively の開発者です。BeehivelyはRubyベースのアプリケーシ

    モノリシックなRubyからGoによるマイクロサービスへ | POSTD
    aki77
    aki77 2015/07/24
  • Golang でのウェブ開発を考えてみる - Qiita

    Help us understand the problem. What is going on with this article? 仕事Golang を使ってウェブアプリを作ることになりそうなので、どんな構成がいいのか考えてみる。あくまで前提ありきの選択なので、何でもかんでも適用できるわけではない。 JS や静的ファイル部分は今のところ考慮していない。単によく知らないので。 突っ込み大歓迎です。これいいよ!とか教えてください 前提 多機能なフレームワークよりシンプルなフレームワークに色々組み合わせる方法をとりたい。 開発者は数名程度。Golang に精通している開発者が 1 名いる。残りはこれから。 開発者は Django での開発経験が豊富な人が多い 全員ウェブ開発経験はそれなりに積んでいる。 HTML と JSON 両方のパターンが存在するのでテンプレートエンジンは重要。 JS

    Golang でのウェブ開発を考えてみる - Qiita
    aki77
    aki77 2014/10/06
  • Goの変数名が短い理由(あるいはGoがほかの言語と違う理由) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Goの変数名が短い理由(あるいはGoがほかの言語と違う理由) - Qiita
  • Web+DB Press vol.82 で Go の特集を書かせて頂きました #wdpress - Block Rockin’ Codes

    update 2015/4/20: 技術評論社さんのおかげで、 無料で公開されることになりました! intro タイトルのとおり、 Web+DB Press の vol.82 に 「はじめての Go」 というタイトルで特集記事を書かせていただきました。 Web+DB press vol.82 届いた。特集で「はじめての Go」を担当させていただきました。 初見ももちろん、「Tour of Go の次」を探していた方の参考になれば幸いです! #wdpress #golangjp pic.twitter.com/UbUue18wlp— Jxck (@Jxck_) August 20, 2014 WEB+DB PRESS Vol.82 作者: 山口徹,Jxck,佐々木大輔,横路隆,加来純一,山伶,大平武志,米川健一,坂登史文,若原祥正,和久田龍,平栗遵宜,伊藤直也,佐藤太一,高橋俊幸,海野弘

    Web+DB Press vol.82 で Go の特集を書かせて頂きました #wdpress - Block Rockin’ Codes
    aki77
    aki77 2014/08/23
  • LedisDB - A high performance NoSQL like Redis powered by Go.

    Data structure Rich data structure: KV, List, Hash, ZSet, Set. Various Backend Various backend databases to choose: LevelDB, goleveldb, LMDB, RocksDB, BoltDB or Memory. Expiration & TTL Supports expiration and ttl in all kinds of data structures. CLI Support Redis clients, like redis-cli, are supported directly. Easy Embedding Easy to embed in Go application. Data Protection Replication to guarant

    aki77
    aki77 2014/07/26
  • Node.js & Go: スタートアップのテクノロジーの選択 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=Iebb5dXaScE 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 GopherCon 2014における、PoptipのCEOであるKelsey Falterの講演。同社はCNN、ESPN、L’Orealなどメディア & コンシューマグッズ大手に、ソーシャルメディアコンテンツの分析やアンケートのプラットフォームを提供しているNew Yorkのスタートアップです。 最初はNode.jsで開発したが、スタートアップにありがちな大手顧客の対応のためのスケールアップと、平行して資金調達活動を続ける中での時間がないバタバタの状況で、 インスタンスが落ちるとシングルポイント障害点になってしまう。ホストしているサーバの障害やアプリのクラッシュなどが

  • Farewell Node.js (翻訳) - from scratch

    「visionmedia、Node.js辞めるってよ」って事で、今回はこの話の翻訳ですね。 Farewell Node.js — Code adventures — Medium 最近のnode.jsはホントTJ Fontaine のリーダー就任から始まってNode.jsでできたエディタであるAtomがreleaseされたり、gemのモジュール数をnpmのモジュール数が抜いたり、socket.io v1.0が出たりと色々あるんですが、今回の話は飛び抜けて衝撃的だったなぁと思ってます。 一応知らない方のためにvisionmediaについて説明しておくと、以下のモジュールは全てvisionmedia製です。 express (Web Applicaiton Framework) mocha (Testing Framework) jade (hamlライクなtemplate engine) s

    Farewell Node.js (翻訳) - from scratch
  • Farewell Node.js

    I’ve been fighting with Node.js long enough in production now that I don’t enjoy working with it anymore unfortunately, so at least for now this my formal farewell! And more importantly I need maintainers! Node does some things well, but ultimately it’s not the right tool for the type of software I’m interested in these days. I still plan on using Node for web sites, but if you’re interested in ma

  • Open Sourcing Our Go Libraries

    Dropbox owes a large share of its success to Python, a language that enabled us to iterate and develop quickly. However, as our infrastructure matures to support our ever growing user base, we started exploring ways to scale our systems in a more efficient manner. About a year ago, we decided to migrate our performance-critical backends from Python to Go to leverage better concurrency support and

    Open Sourcing Our Go Libraries
  • Go/Migemo の紹介 — KaoriYa

    Migemo とは Migemo とはローマ字を入力して漢字を検索するためのライブラリです。詳しく言うとローマ字をひらがなへ変換し、そのひらがなを基に漢字として変換可能な候補を列挙し、それら複数の候補を合成して正規表現パターンを生成する、それが Migemo の主機能です。Migemo が生成した正規表現パターンを用いて検索すれば「ローマ字を入力すれば漢字を含む日語を検索できる」ようになるのです。 1つ具体的な例を示しましょう。ローマ字「kikai」を考えましょう。これはひらがなで示すと「きかい」です。漢字に変換すると「奇怪」「機械」「機会」…まだまだありますが、ひとまず複数候補があるということはわかります。ここまであげた5個の単語に一度にマッチする正規表現は以下のようになります。

  • 高速にGo言語のCLIツールをつくるcli-initというツールをつくった

    高速にGo言語のCLIツールをつくるcli-initというツールをつくった tcnkms/cli-initGitHub cli-initを使えば,Go言語コマンドラインツール作成時のお決まりパターンをテンプレートとして自動生成し,コア機能の記述に集中することができる. デモ 以下は簡単な動作例. 上のデモでは,addとlist,deleteというサブコマンドをもつtodoアプリケーションを生成している.生成結果は,tcnksm/sample-cli-initにある. 背景 Go言語で作られたコマンドラインツールを見ていると,codegangsta/cliというパッケージがよく使われている. これは,コマンドラインツールのインターフェースを定義するためのライブラリで,これを使えば,サブコマンドをもつコマンドラインツールを簡単につくることができる(Usageを自動で生成してくれたり,bash

  • 300万人をGoで捌いた話

    GoCon 2014(5/31)発表資料

    300万人をGoで捌いた話
    aki77
    aki77 2014/06/07
  • A Tour of Go を一通りやってみて、 Go言語の印象に残った機能や特徴などの感想 - おんがえしの blog

    はじめてのGo言語 - ブログのおんがえし に続いて A Tour of Go を最後までやってみました。 コードを実際に実行させながら基的なGoの使い方を学ぶことで出来るのでおすすめです。日語版もあります。 英語の勉強にもなるので私は英語版を使いました。どうしても意味が分からない時だけ日語版を読むようにしたのですが、コードもあるし全体の80%くらいは英語だけでなんとか分かりました。プログラマはコード例などが付いているものの方が英語学習が捗ると思っています。 解答例 以下を大分参考にさせてもらいました。 A Tour of GoGo に入門した - ゆううきブログ 私の解答は GitHub に。 ongaeshi/tour-of-go 演習問題は少し難しいけどGo言語の得意分野がなんとなく分かるのでおすすめです。どうしても分からない時は解答を読んで理解してみるといいです。 印象

    A Tour of Go を一通りやってみて、 Go言語の印象に残った機能や特徴などの感想 - おんがえしの blog