タグ

ブックマーク / qiita.com (29)

  • 結局、Go言語をやめる理由はなかった件 - Qiita

    この記事は Go 2 Advent Calendar 14日目の穴埋め記事です。 はじめに @okdyy75 さんによる Go 5 Advent Calendar 14日目の の記事「だから僕はGo言語を辞めた」 が「ベンチマークっていうのはこうやるんだよ」というのを説明するために反面教師的な意味で良い教材だと思ったので、反証記事を書きたいと思います。 ベンチマークを取りながらコードを改善して、最終的にGoは遅くないからやめる必要はないということ、そして、なぜ遅いという結論になってしまったのかを掘り下げていきたいと思います。 下準備 幸いなことに、ベンチマークのソースコードがGitHubにある ので、こちらを実行しながら問題点を改善していきましょう。 ちゃんとコードが上がっているのは素晴らしいですね! 一方で、元記事には測定環境が明記されていませんでしたので、同じ環境で測定することはできま

    結局、Go言語をやめる理由はなかった件 - Qiita
    dulltz
    dulltz 2020/12/17
  • 世の中のエンジニアのalias設定 - Qiita

    先日、同僚と「世の中のエンジニアはターミナルにどんなalias設定をしているんだろう?」という談義になったので、GitHub上の1000リポジトリのコードから調査してみました。 2019/04/10 コメントを元に微修正しました。コメントくださった方々、ありがとうございます。 2019/04/11 こんなのも書いてみました。 よく使われているvimrcの設定ランキング 2019/04/15 プラグイン版も書きました。よく使われているvimのプラグイン top20 aliasとは wikipediaより UNIXなどにおいてコマンドを別名で登録したもの。別名を登録するコマンド名。 長いコマンドやいつも利用するオプションを毎回入力するのは手間ですよね? ターミナルの設定ファイルにaliasを記述することで、別名として定義することが可能というわけです。 調査方法 GitHub APIを利用 do

    世の中のエンジニアのalias設定 - Qiita
    dulltz
    dulltz 2019/04/11
    「よその環境でこまるからalias設定しない」って趣旨のブクマに共感してる人多いけど alias 設定くらいならクリップボードにコピーしてきて $(cat) > source やってそのあとに貼り付けるだけで済むからいつもやっていいと思う
  • 謎のコンテナランタイムlinuxd - Qiita

    はじめに 記事はLinux Advent Calenda 2018の最終日、25日目の記事です。 ここ数年、一つないし複数のプロセスから成るアプリをコンテナと呼ばれるサンドボックス上で動かすのが流行っています。このときアプリを動かす実行環境のことをコンテナランタイムと呼びます。このコンテナランタイムには例えば次のようなものがあります。 runC: アプリをそれぞれ別々のnamespace上で実行。カーネルは全アプリで共有。世間的に「コンテナ」というと今はだいたいこれを指す Kata Containers: アプリを個々のアプリ専用VM上で実行 gVisor: アプリをユーザ空間で独自実装されたLinuxカーネルのサブセット上で実行 記事は最近筆者が気になっているlinuxdというコンテナランタイムについて簡単に紹介したいと思います。 何がどう"謎"なのか タイトルに「謎の」と書いている

    謎のコンテナランタイムlinuxd - Qiita
    dulltz
    dulltz 2018/12/26
  • Chrome拡張の高速な英語辞書ツールをつくりました(Mouse Dictionary) - Qiita

    経緯 もともとMouseoverDictionaryという素晴らしいFirefox用辞書があったのですが、Quantumの登場とXULの廃止とともに使えなくなってしまったため、自分用にChrome拡張をつくった次第です。 ソースコード 実装に関わる技術寄りの用語: React, esbuild, chrome.storage.local, chrome.storage.sync, Cross-extension messaging, Hogan, debounce, resizable/draggable, intl.v8BreakIterator, deinja, クロスブラウザ, など。 ※詳細は「Mouse Dictionaryの技術的な話」をご参照ください https://qiita.com/wtetsu/items/2a5568cb0b5a38c003fb 使い方 インストール

    Chrome拡張の高速な英語辞書ツールをつくりました(Mouse Dictionary) - Qiita
    dulltz
    dulltz 2018/09/19
    英辞郎買って入れてみた
  • ぼくたちのかんがえたさいきょうのi18n国家

    記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一瞬で滅びそう — Masaki Hara (@qnighy) 2018年8月6日 長い前置き ソフトウェアのi18nは難しい。自文化では当たり前と思っていてハードコードしてしまった仮定が崩れて、大幅な再設計を余儀なくされるからだ。気づいて再設計できればまだ良

    ぼくたちのかんがえたさいきょうのi18n国家
    dulltz
    dulltz 2018/08/07
  • 人工知能でバレンタインチョコが本命か義理かを判別する - Qiita

    2月14日といえばバレンタインデー(Valentine's Day)ですね。 日では、女性から男性へチョコレートを贈る日というイメージが強いと思います。この日を心待ちにしている方も多いのではないのでしょうか。 このように楽しいイベントと認識されているバレンタインデーですが、一方、重要な課題として、命チョコ(Honmei Chocholate)と義理チョコ(Obligation Chocholate)が判別できないという問題が挙げられます。 実際、この問題を解くため多くの先行研究がなされています。(参考[1], [2], [3]) 義理チョコと命チョコの見分け方!義理チョコをあげる意味や理由って何だろう? バレンタインの命と義理の違い&見分け方!手作りは!?男性必見! 【バレンタイン】やっぱり気になる、“命か義理チョコ”かを判断するポイントまとめ しかし、既存手法には主観的な要素が

    人工知能でバレンタインチョコが本命か義理かを判別する - Qiita
    dulltz
    dulltz 2018/02/13
  • 実用 awk ワンライナー - Qiita

    AWK(オーク)を使ったワンライナーはとても強力で簡便なテキスト処理を可能とします.最近は,PerlRuby でもほとんど同様のことができ,取って代わられて久しいですが未だにその枯れ力といいますか,汎用性に関しては群を抜いているように思います. また,awk とは AWK の処理系のことを指しています. 一般に元祖 awk と呼ばれる処理系が最初と言われています.実際はわかりませんが,絶滅種の如く見かけることはなく,その文法などに関しても関数定義などの基的な部分が抜けていたので New awk(通称,nawk)として多少の文法が追加された処理系が,その流派を継いでいます. そして GNU プロジェクトによって大幅強化された awk が gawk です. よく見かけるのは,gawk か nawk のどっちかだと思います. 現在,Linux では標準で gawk が,OS X では 2

    実用 awk ワンライナー - Qiita
    dulltz
    dulltz 2017/08/14
  • 質問は恥ではないし役に立つ - Qiita

    一年半SEとして働いてきた中で、私自身が苦手だと思っており、他人からもそのように評価されていたのが「質問の仕方」でした。 それが先日、他人から「質問の仕方がうまいね」と褒められることがあり、ようやく一人前の質問の仕方ができるようになってきたので、どのようにして克服できたのか紹介したいと思います。 質問の基形 私が入社したばかりの頃は、わからないことがあればすぐに先輩に質問していました。 そのときにしていた質問の内容はだいたいこんな感じです。 「環境構築を手順書通りにやったんですけど、○○のコマンドでエラーがでてしまいます!なんとかなりませんか?」 このような質問を受け取ったら、先輩は暇ならばエラーメッセージを見てくれ、エラーメッセージに書かれていることに対して調査してくれるかもしれませんが、忙しいときにはそんなことはしてもらえません。 こんな質問を繰り返しているうちに先輩からは「技術系メ

    質問は恥ではないし役に立つ - Qiita
    dulltz
    dulltz 2017/08/08
  • 効率的に安全な Dockerfile を作るには - Qiita

    結論 以下の手順で作るのが効率的です。 ベースにする Docker イメージを決める docker run -it <docker-image> sh でコンテナ内部で作業 1行ずつ、うまくいったらどこかにメモ 失敗したらいったん exit して再度 docker run ファイルの取り込みやポートの外部公開が必要ならオプション付きで docker run 全部うまくいったら Dockerfile にする ネットで見たことはないですが、もし docker build で試行錯誤しながら Dockerfile を作るとしたら、それはさすがに苦行です。 遅い デバッグしにくい!コンテナ爆発しろ!!って気持ちになります。 これが原因で「Docker 使えない 便利じゃない 」と思っていたのならそれは勘違いです。 手順詳説 試しに ip-api.com にリバースプロキシするだけの Nginx

    効率的に安全な Dockerfile を作るには - Qiita
    dulltz
    dulltz 2017/07/08
  • React+Redux未経験者のプロジェクト受入 - Qiita

    自己紹介 渡辺 貴明 EngFrontend follow me! アジアクエスト株式会社 フロントエンドエンジニア 今日の話 React未経験者が、 Reduxプロジェクトにスムーズに参加するため 何をしたか? 想定する状況 ソースはreact-redux-universal-hot-example を元に複雑にした感じ 大事 アーキテクチャはこんな感じ これから物量をこなす段階 新しく人を追加する ES5のjsはできるがReact触ったことない 必要なこと Reactを覚える必要がある Reduxも覚える必要がある BFFでのAPIの叩き方も覚える必要がある ES2015も覚える必要がある 問題 Reactだけ覚えても仕事に入れない 丁寧に覚える時間はない しかし、覚えないと渡せる仕事がない やったこと 専用のチュートリアル的なものを作成 最小構成のサンプルを作って真似して書いてもら

    React+Redux未経験者のプロジェクト受入 - Qiita
    dulltz
    dulltz 2017/05/25
  • 『理論から学ぶデータベース実践入門』の間違いを指摘する - Qiita

    『理論から学ぶデータベース実践入門』というを読んでいて、2章の論理学の説明に多くの誤りを見つけたので指摘しておく。 このはデータベースについての技術書であり、数学書ではないのでこれらの誤りがこのの価値を完全に損なうとは思わない。しかし、述語論理に基いてリレーショナルモデルを説明するという趣旨のである以上、その基礎である論理学の説明が不正確なのは大きな問題である。また著者が論理学の専門家でないなら、専門家にレビューを頼むか、最低でも適切な論理学の教科書へのリファレンスが必要ではないかと考える。 この文章は特定のを参考にしたわけではないが、以下に定評のある論理学の入門書をいくつか挙げておく。 戸田山和久『論理学をつくる』(名古屋大学出版会) 小野寛晰『情報科学における論理』(日評論社) 以下、論理学についての誤りのうち比較的大きなものを指摘する。これはすべての誤りのリストではないし

    『理論から学ぶデータベース実践入門』の間違いを指摘する - Qiita
    dulltz
    dulltz 2017/01/03
  • WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita

    WebAPIの仕様を記述する方法はいくつかあると思う。 普通に日語で記述する JSON Hyper-Schema、WADL、RAML、Swaggerなどを使う 仕様書の代わりにプログラムを書く HTTPメッセージそのものを記述しておく でも、文法にばらつきがあったり、読みにくかったり、ツールのセットアップが面倒だったり、どれもイマイチな所があって、手軽な方法が欲しいと思っていた。 何気なくcurlコマンドのオプションを調べていたら、「もうこれでAPIドキュメント扱いにしちゃえばいいんじゃね?」と思えてきたのでメモしておく。 curlコマンドのおさらい curlコマンドはlibcurlの付属コマンドで、最近のUnix系OSなら大抵最初から入っていると思う。コマンドの詳細はmanを読んでいただければ。 cURL - How To Use (マニュアルページ日語訳) curlコマンドのオプシ

    WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita
    dulltz
    dulltz 2016/10/03
  • もう保守されない画面遷移図は嫌なので、UI Flow図を簡単にマークダウンぽく書くエディタ作った - Qiita

    はじめに Webサービスやアプリを企画したり、立ち上げたりする際にプロトタイピングツールや、ExcelPowerpoint、Illustraterなどを駆使した謎のファイルで画面遷移図を描くことがある。 こういう図を元に仕様を決めて行って、サービスを作っていくのは以下の点で困る。 画面遷移図が保守されない。 書くのが非常に面倒くさい ユーザーのモチベーションの流れが追いづらく、見た目ばかりに注目してしまうものになりがち マシンリーダブル(ソフトウェアで構造を取り出せない)でない。 このような欠点があってどうにも扱いづらい。 そんなわけで、markdown風のテキストから簡単に画面遷移図を描けないかなとコンパイラを作成し、次にそれをインタラクティブに編集できるエディタを作成した。 UI Flows図について 画面遷移図的なものを書く際に、僕が個人的につかっていた表現方法として、UI Flo

    もう保守されない画面遷移図は嫌なので、UI Flow図を簡単にマークダウンぽく書くエディタ作った - Qiita
    dulltz
    dulltz 2016/04/04
  • 研究室インフラを支える技術? その1 ~管理用サーバー編~ - Qiita

    背景 修論発表も終わり一息ついた3月上旬.晴れて(?)博士課程一年生となる僕とIくんは研究室サーバーシステムの管理を任される.実験用サーバーは年度と共に新しいOSが導入されていたが,それらのサーバーにファイル共有システム (NFS)とユーザー情報共有システム (NIS)を提供する管理用サーバーは,10年前にリリースされたUbuntuで構築されていた.管理用サーバーは辛うじて動いているものの,数値計算で使うソフトウェアの新しいバージョンに対応できなかったり,休み明けに起動するたびに原因不明のエラーを吐いたりと,様々な問題を起こして過去の管理者を困らせてきた.そこで僕とIくんの管理者二人は,ボスである先生の「システム新しくしたら?」という呟きもあり,研究室サーバーシステムの新規構築に取り組むのであった. サーバーシステムに対する要件 研究室では,手元のパソコンで行うには重たくて時間のかかる数値

    研究室インフラを支える技術? その1 ~管理用サーバー編~ - Qiita
  • Test::Unitのassert一覧 - Qiita

    Test::Unitを使っているんだけどassertのタイプ何があったっけなと毎回調べてるのでまとめておく 参照 : http://ruby-doc.org/stdlib-2.1.0/libdoc/test/unit/rdoc/Test/Unit/Assertions.html 大体こんだけ assert assert_block assert_equal assert_no_match assert_not_equal assert_not_nil assert_not_same assert_not_send assert_nothing_raised assert_nothing_thrown assert_raise assert_raise_with_message assert_respond_to assert_send assert_throw assert(test, [

    Test::Unitのassert一覧 - Qiita
  • Ruby標準のテスティングフレームワークで手軽にテストコードを書く方法 - Qiita

    はじめに 僕が一番使い慣れているテスティングフレームワークはRSpecです。 普段の業務でも大半はRSpecでテストコードを書いています。 しかし、ごくごく簡単なRubyのコードを書く場合は「わざわざRSpecを書くのは大げさかな」と思うことがあります。 簡単なコードであれば、テストコードも簡単なものになるのでassert_equalが使えれば十分だったりします。 というわけで今回の記事ではgemを使わず、Ruby標準のテスティングフレームワークでテストコードを書く方法をまとめてみます。 やりたいこと 「素のRuby」でぱぱっとシンプルなテストを書きたい(assert_equalだけで十分なケースを想定) gemのインストールはしたくない、他の人にもさせたくない Ruby 2.0以降ならどのRubyでも動いてほしい つまり、 「いつでもどこでも動くテストコードを書きたい」 というのが今回の

    Ruby標準のテスティングフレームワークで手軽にテストコードを書く方法 - Qiita
  • Rails のアーキテクチャ設計を考える - Qiita

    はじめに ここ一年くらいずっと Rails の何がダメでどうすれば良くなるのかを考えていました。 Rails を使ってそれなりの規模のアプリケーションを作ったことがある人なら、メンテナンスのしづらさを感じたことがあるのではないでしょうか。 メンテナンスの問題は Rails 以外の開発でも発生することですが、実のところメンテナンスしやすいアプリケーションはどうすれば作れるのでしょうか? この難問に対して私も答えを持っていませんが、考え続けています。 少なくとも、 Rails Way や Rails Tutorial をベースにしたアプリケーション開発は、業務で用いるには簡単すぎるように思います。 「レールに乗る」という言葉がありますが、私は考え方を変えました。 Rails は規模の大きいフレームワークですが、土台に過ぎません。 Rails Way の設計方針は小規模な開発では有効ですが、規模

    Rails のアーキテクチャ設計を考える - Qiita
    dulltz
    dulltz 2015/12/24
  • MacのVimでHomebrewを使ってクリップボード連携を有効にする - Qiita

    Mavericksで標準インストールされているVimではクリップボード連携ができません。 クリップボード連携できるようになるとVimで書いたプログラムなどをコピーしてその他のエディターなどに貼り付けることができるようになります。 特に何もしていないVimでは以下のように表示されると思います。 $ vim --version | grep clipboard -clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments -xterm_clipboard -xterm_save #-clipboard=クリップボードが無効

    MacのVimでHomebrewを使ってクリップボード連携を有効にする - Qiita
    dulltz
    dulltz 2015/12/09
  • go言語でベンチマーク - Qiita

    2015年のISUCONにgo言語で挑戦するにあたって、これまで触れてこなかったアクセス高速化・効率化について考える機会ができました。 また、go言語の学習を進める過程で標準で提供されているtestingパッケージ内のベンチマーク機能の存在を知りましたが、Web上ではあまり日語の記事がなく苦労したので、公式ドキュメント(http://golang.org/pkg/testing) に沿って少し書いてみたいと思います。 ベンチマーク実行方法 ベンチマークを行う方法はgo test -benchを使う方法とコード中で直接ベンチマークを行う方法の2種類があります。 go test -bench まず、前者から。 go test -benchでは、特定のフォーマットに従った関数を作成することでその関数に対するベンチマークを実行できます。そのフォーマットですが、以下の通りです。 func Benc

    go言語でベンチマーク - Qiita
    dulltz
    dulltz 2015/08/31
  • Ubuntu 12.04でLaTeX環境を構築する - Qiita

    Ubuntu 12.10のTex Liveバックポートを利用することでとても簡単に環境を構築できるようになっています。 それにしても、あまりに簡単でUbuntu 10.10の頃を考えると…(笑) 1.TeX Liveバックポートリポジトリ

    Ubuntu 12.04でLaTeX環境を構築する - Qiita