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

  • “プログラミング言語Rust: 2nd Edition”の日本語版PDFを作成した - Qiita

    はじめに https://doc.rust-jp.rs/book-ja-pdf/book.pdf プログラミング言語Rust: 2nd Edition1の日語版PDFを公開しました! 組版上のエラーなどを見つけたら気軽にIssueなどで報告してほしいです 改善してほしい点なども歓迎します! 頃合いをみてrust-lang-jaに移すかも 移した 実はWeb版もあります! https://doc.rust-jp.rs/book/second-edition/ HTML版のソースはhazamaさんのMarkdownからRustコミュニティがフォークしたもので、PDF版と同じものを参照しています GitHub Repository https://github.com/rust-lang-ja/book-ja-pdf エラー報告などをお待ちしています。 追記 アスキードワンゴさんから出版されま

    “プログラミング言語Rust: 2nd Edition”の日本語版PDFを作成した - Qiita
    cocoasynn
    cocoasynn 2018/04/19
  • かゆいところに手が届くvue-routerの機能 - Qiita

    Help us understand the problem. What are the problem?

    かゆいところに手が届くvue-routerの機能 - Qiita
    cocoasynn
    cocoasynn 2018/04/16
  • レビューコメントにラベルをつけるだけで開発効率があがって幸せになれそうな話 - Qiita

    はじめに コードレビューを受けている時,これは修正が必須なレビューコメントなのか,出来たら修正した方がいいものなのか,判断に迷う時ってありませんか? 付き合いの長いチームや, メンバー同士でレビューをしていると感覚的に分かることもあるけど, 新しいチーム, 新しいメンバーなど関係性が出来上がる前だと, 温度感が分からず判断に迷うことがありそうです. 結果, 全てを対応しようと頑張りすぎてしまい, 修正に恐ろしく時間がかかってリリースが遅れるなど末転倒な不幸なケースも起こりえそうです。 例)先輩がいってるし全部直さなきゃ...! [must] 必ず対応してほしい! [imo] 自分の意見や提案・好み。 自分ならこう書くけどどうかな? [nits] 些細な指摘。 ほんの小さな指摘だけど出来れば直してほしい。インデントやタイポ [ask] 質問,確認。 コードの意味や背景が分からないから教えて

    レビューコメントにラベルをつけるだけで開発効率があがって幸せになれそうな話 - Qiita
    cocoasynn
    cocoasynn 2018/04/05
  • 58歳の文系エンジニアがCourseraのMachine Learningを苦労して完走した話 - Qiita

    老害と呼ばれそうなお年頃ですが、2018年3月の1ヶ月間でCourseraでスタンフォード大学が提供しているMachine Learning講座を修了しました。定年間近の老兵がどうやってこの講座を完走し、これから何を目指しているのかをお話ししたいと思います。 動機(≠動悸) 2月のデブサミ2018で、ウルシステムズの漆原さんの講演を聴いて、一生エンジニアで飯をっていきたいなら何か新しいことを始めなきゃダメだなと思ったのが始まりです。 2017年は、Xamarinを使ったiOS/Androidアプリ、Raspbian上でC#を使ったREST APIサーバー、さらに、iPhone/Apple Watchに話しかけて機械を制御するVUIなど、製造業に勤めるソフトエンジニアとしてはかなり異質なことをやらせてもらったと思います。 でも、新しいことをやってる感が足りず、何となく消化不良な感じでした。

    58歳の文系エンジニアがCourseraのMachine Learningを苦労して完走した話 - Qiita
    cocoasynn
    cocoasynn 2018/03/28
  • GitHub Issuesでブログを作る - Qiita

    GitHubのIssueをNuxtとNetlifyでブログ化するというのをやってみたので解説します。 デモサイト: https://gh-blog.netlify.com/ Issues: https://github.com/miyaoka/gh-blog/issues Headless CMS はじめにHeadless CMSについて解説しておきます。旧来のAPI無しのWordPressのような一体型CMSではなく、コンテンツ管理部分を切り離してAPIでやりとりできるようにするのがHeadlessなCMSです。これによりフロントの実装やデプロイが疎結合になり、好きにできるようになります。 例としてCMSにContentful、デプロイにNetlifyを使う構成だとこんな感じになります。 参考) 次世代Headless CMS「contentful」事始め - Qiita Nuxt.js

    GitHub Issuesでブログを作る - Qiita
    cocoasynn
    cocoasynn 2018/03/14
  • 大学を合格してから始めるwindowsでプログラミング 1日目 - Qiita

    自己紹介と記事の紹介 どうもこんにちは、この度某コンピュータ系の大学に進学することになった しゃーまん (twitter -> oinori_man ) です。 なんでこんな記事を書こうと思ったの? 今回から、私が大学に進学するまでにプログラミングを始めるということで、父からの勧めでこのような記事を書くことにいたしました。父は私が生まれたころに某IBMで働いており、現在も現役バリバリでコードを書いているような人間です。 父の背中を負うというわけではありませんが、父の羽田頼している姿に少しあこがれを持っていて、実際にこの大学に入ろうと志したわけです。 無事入試も合格し、父親にPCを買い替えてもらったということで、実際にプログラミングについて学ぼうと思いました。 そこで父に聞いたところこういうところでアウトプットを重ねて行って、実際にプログラミングをしていく方がためになる(間違っていたら怖い人

    大学を合格してから始めるwindowsでプログラミング 1日目 - Qiita
    cocoasynn
    cocoasynn 2018/03/08
    """お前を育ててくれたPCだ、大切に使え"""
  • 「暗号化」の反対は「復号化」じゃなくて「復号」なんだよ - Qiita

    言いたいことはタイトルで全部言ってしまってますが、以下細かい内容を。 scivolaさんのQiita などの技術系の記事で残念に思うポイントに触発されて、普段から思っていたことを書いてみました。 まず「暗号化」とは何か。これを説明する時には以下のような図が使われます。 暗号化 ----------------------------------> 平文 暗号 <---------------------------------- ??? 元になる「平文」があって、それを「暗号」「にする」から「暗号化」ですね。 じゃあ「暗号化」の逆の操作をする、上の図の「???」の部分はなんと言えばいいのでしょうか。 平文にするから「平文化」? 流石にこんな言い方をする人は見たことないですね。 元になる単語が「encrypt / decrypt」で"en"と"de"が対になるためか、「復号」という訳語が当て

    「暗号化」の反対は「復号化」じゃなくて「復号」なんだよ - Qiita
    cocoasynn
    cocoasynn 2018/03/03
    どっちでもいいとか言う人わりといるけど、実際復号化って書いてるとその筋の人じゃないんだなってだいたい当たりがつくから気をつけるべきなんだよな
  • 統計検定 1 級に合格する方法 - Qiita

    はじめに: 統計学の重要性 NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 今回は統計検定 1 級について記します。 統計検定とは日統計学会による公認の資格であり、統計に関する知識や活用力を評価するものです。 日常的に大量のデータが溢れている昨今、データ分析機械学習に対するニーズは最高の高まりを見せています。最近では何も考えずともただデータを入力するだけでデータ分析機械学習手法を実行してくれるツールも多数出回るようになりました。 データ分析機械学習を実際に遂行するにあたって、統計学は強力な基礎になります。確かに最近は便利なツールの発達のおかげで、統計を学ばずともデータ分析を実行できる環境が整いつつありますが、その状態でデータ分析手法や機械学習手法を実際に適用しようとすると、しばしば誤った推論をしてしまったり、複雑な状況に対してどのようなアプロー

    統計検定 1 級に合格する方法 - Qiita
    cocoasynn
    cocoasynn 2018/03/01
  • TypeScriptの型入門 - Qiita

    TypeScriptは型がついたJavaScriptです。プログラミングにおいて型があることの恩恵は大きく、近頃AltJSの代表格として人気を集めています。TypeScriptはもともと型のないJavaScriptで書かれるコードに型を付けることを使命としていることもあり、たまに変な型が追加されます。例えばTypeScript2.8で追加されたconditional typesはずいぶん注目を集めました。これによってTypeScriptの型システムの表現力が広がりましたが、一方でTypeScriptを書いている人の中には、よく分からない型が増えてついて行けない、一部の人たちが長くてよく分からない型定義を書いて喜んでいるだけと思っている方もいるのではないでしょうか。実際、健全にJavaScriptを書いていれば、自分でそのような変な型を書くことはあまり多くありません。 そこで、この記事ではT

    TypeScriptの型入門 - Qiita
    cocoasynn
    cocoasynn 2018/02/19
  • Elasticsearch v1.7 -> v2.4 -> v5.5 段階的にバージョンアップした話し - Qiita

    この記事はElasticsearch Advent Calendar 2017の12/12分の記事です。 Elasticsearchは1.xから2.x、そして5.x(今月にはもう6が出ましたね)と年々バージョンアップしてきました。そんななかまだ1.x、2.x系を使っているという方は多いのではないでしょうか。Elasticsearchはバージョンアップごとに大きくクエリやマッピングが変わります、またサービスの稼働率を考えるとクラスタのリスタートやホットスワップは難しいシステムとなっていたりしていると思います。 そんな障壁を超えるほどの魅力が5.xにはありました。弊社の検索システムではElasticsearchのバージョンアップにより平均レスポンスタイムが2倍も速くなりました。それだけで十分アップグレードする価値はあるのではないでしょうか。 要点 検索クエリごとにきちんとテストを書きましょう、

    Elasticsearch v1.7 -> v2.4 -> v5.5 段階的にバージョンアップした話し - Qiita
    cocoasynn
    cocoasynn 2018/02/15
  • Cコンパイラをスクラッチから開発してみた(日記)

    以前に8ccというCコンパイラをゼロからひとりで開発していたときのログです。40日でセルフコンパイルできるところまで到達しています。日付はすべて2012年です。コードとヒストリはすべてGitHubで見れます。 3月4日 というわけでコンパイラを作っているわけだけど、1000行くらい書いたらそれなりに動き始めてきた。こんなのも動くし: int a = 1; a + 2; // => 3 こういうのも通る。 int a = 61; int *b = &a; *b; // => 61 文字列は文字の配列として扱っていて、配列をポインタに成り下げる振る舞いも実装しているので、こういうのも通る。関数呼び出しもある。 char *c= "ab" + 1; printf("%c", *c); // => b 前回もこのあたりはがんばって実装したからここまで作るのはわりと単純作業かも。二回目だから配列とか

    Cコンパイラをスクラッチから開発してみた(日記)
    cocoasynn
    cocoasynn 2018/02/13
  • ActiveRecordのモデルが1つだとつらい - Qiita

    Railsあるある 何気ないモデルの変更がアプリケーション全体を傷つけた TL;DR 最近の趣味アプリではコントローラーごとにモデル生やしてトップレベルのモデル使わない設計で書いていて、コールバックやデフォルトスコープ書き散らかしても影響範囲がコントローラー内だけで済むので便利だしFormオブジェクト書いてグルーしまくる必要もなく快適 — Miyagi (@hanachin_) 2018年1月30日 アプリ全体で1モデルだとグローバル変数と一緒、モデル全体に影響でる機能がアプリ全体に影響でてつらい。機能ごとにスキップしたり使い分けはできるけどモデルごと全部分けたほうが楽、コントローラーごとに分けると責務が明確になりやすい。みたいな感じです! 詳しい記事はやる気でたら書く... — Miyagi (@hanachin_) 2018年2月9日 自分自身ネームスペースどう切るかとかは興味なくてd

    ActiveRecordのモデルが1つだとつらい - Qiita
    cocoasynn
    cocoasynn 2018/02/12
    なんかDDDっぽいことをしたい的な雰囲気を感じる
  • 最近の私的 Golang 開発環境 - Qiita

    あらかじめ予防線を張っておくと Go 言語の開発環境で「これ!」という正解はない。特にチームで開発している場合は,チームの流儀に従うのが最善だと思っている。なので,この記事は「こういうやり方もあるよ」という参考程度に見ていただけるとありがたい。 GOPATH の構造 皆さん御存知の通り,環境変数 GOPATH は Go 言語パッケージや開発環境を指定するものだが,実は複数のパスを指定できる。Windows 環境ならこんな感じにセミコロン(;)で区切って指定する。

    最近の私的 Golang 開発環境 - Qiita
    cocoasynn
    cocoasynn 2018/01/29
    以前はGOPATHを複数指定していたけど、他の開発メンバーが書いたMakefileとかで困ることがあったので、シンプルに1つにするように変えた
  • Elasticsearchのランキング学習を試した - Qiita

    この記事は、Justsystems Advent Calendar 2017の23日目の記事です。 今回はElasticsearchでランキング学習をやってみます。 ランキング学習について ランキング学習は機械学習のモデルを用いて検索ランキングを最適化することをさします。 検索結果のランキングはtf-idfやBM25、ページランクなどを使うことが多いと思いますが、ランキング学習により検索サーバーのクリックログなどに基づき順位の最適化を行うことができます。 その際、処理速度などの問題から順位の最適化はトップN件のリランクという形で行われることが多いです (下図参照)。 Elasticsearchはこのようなランキング学習を行うことができるプラグインが開発されていますが、まだ詳細を確認できていなかったのでこの機会に試してみました。誰かの参考になれば幸いです。 この記事では次のことをします。 T

    Elasticsearchのランキング学習を試した - Qiita
    cocoasynn
    cocoasynn 2018/01/06
  • 新人達を1ヶ月でガチvimmerにした方法 - Qiita

    vim以外のエディタでコード書くと私の手は産まれたての子鹿みたいになります。 効率よくコーディングをしてもらうために、新人やvimを学びたい人にvimの研修を実施しています。今回は研修で非常に有効だった内容についてまとめておきます。 ※ なんだか誤解を生んでしまっているようなので追記しておきます。vimの研修は新人研修の一環として行ったわけではなく、vimを使って開発をしたがっていた新人へテスト駆動開発の研修を実施した際に並行して盛り込んだだけです。会社がvim強制とかではないのでご安心ください。言葉足らずで申し訳ありません。 2つの繰り返しキーの存在を認識させる vimは一度実行したコマンドの組み合わせを記憶する.(ドット)とfを使った移動の際のキーストロークを記憶しておく;(セミコロン)があります。これらを駆使することで他のエディタよりも高速な編集作業を行えます。 セミコロンはus配列

    新人達を1ヶ月でガチvimmerにした方法 - Qiita
    cocoasynn
    cocoasynn 2018/01/05
    トップブコメの冷たさにンフッってなった
  • TTY/PTYに関するクイズ - Qiita

    はじめに LinuxでCtrl-C打ったらコマンドが中断されるとか。皆さんご存知ですよね。こういうことに関連したちょっとした四択クイズです。Linux使い各位、当然、全問正解できますよね? 問題 いずれもPuTTYなりTeraTermなりのターミナルソフトでLinuxマシンにSSHで接続した、ログインシェル上での対話操作の上でのお話です。ターミナルソフトなんかは特に設定をいじらないことにします。一応。それと、シェルは大体なんでも同じだと思うのですが、念のためbashと指定しておきます。 Q1: シグナル送ったのは誰? 「はじめに」でも書きましたが、Ctrl-Cを入力すると、実行中のコマンドを停止させることができますね。例えば次のように。 これはSIGINTというシグナルが送られるためです。このシグナルはkill -INT プロセスIDなんてコマンドなんかで手動で送ることもできますね。 では

    TTY/PTYに関するクイズ - Qiita
    cocoasynn
    cocoasynn 2017/12/30
  • Rails と Vue.js の設計覚書 - Qiita

    はじめに これは Rails の View と Vue を馴染ませるための設計指針になります。 Rails 5.1 で webpackVue が公式サポートされました。SPA の場合はあまり気になりませんが、スタンダードな Rails 構成に Vue を適用する場合は、Rails の View と Vue をどのように管理すべきか悩むことになると思います。記事にはその対処例をまとめています。 環境 Rails 5.1+ Turbolinks 5.0+ webpack 2.0+ Vue 2.0+ Vuex 2.0+ 参考 【動画付き】Rails 5.1で作るVue.jsアプリケーション ~Herokuデプロイからシステムテストまで~ - Qiita RailsVue の導入に関しては、こちらが参考になります。 この内容を踏まえた上で、その先の設計周りについて考察していきます。

    Rails と Vue.js の設計覚書 - Qiita
    cocoasynn
    cocoasynn 2017/12/29
  • 新QiitaでReactをやめてhyperappを採用した背景 - Qiita

    12/1 に Qiita のトップページをリニューアルしました。これまで React を使っていましたが、それをやめて hyperapp を採用しました。まわりを見てもあまり採用事例が見当たらないので、この記事では一体なんで今をときめく React ではなく hyperapp を選択したのか、どういうところが魅力的なのかについて プレゼンテーション層を実装するためのツールとして 学習コスト の観点から書きたいと思います。なおこの記事に書かれていることは全て個人の感想であり、はっきりいって個人の日記レベルです。 それと hyperapp の開発者が社内にいるという事情もあるので、そこら辺さっぴいて読んでください。 TL;DR プレゼンテーション層を実装するためのツールとして React は機能過多だし、機能不足 hyperapp は過不足ない 学習コスト 仮想 DOM は学ぶ価値のある知識

    新QiitaでReactをやめてhyperappを採用した背景 - Qiita
    cocoasynn
    cocoasynn 2017/12/28
    ブコメ地獄すぎて笑った。個人的にはReactでもhyperappでもVueでもなんでも良いと思うけどこのタイミングでReactを切るってけっこう思い切ってるなとは思う(開発コストとか優先度とか)
  • わかりやすい画像のdiffを求めて - Qiita

    どうも。フロントエンドエンジニアの @Quramy です。 さて、前回、1日10万枚の画像を検証するためにやったことで書いているとおり、reg-suitという画像に特化した回帰テストツールをメンテしています。 画像回帰テストという文脈において、差分の可視化方法はとても重要なファクターです。なぜなら、画像(=スナップショット)に差分が発生したからといって、それすなわち棄却、というわけではなく、その差分の内容を判断して、意図せぬ変更であれば棄却、意図した変更であればexpectedを更新する必要があります。すなわち、ワークフローに目視による差分のレビューが発生するのです。 そこで、少しだけ異なる2枚の画像について差分を効果的に可視化する、というテーマに向き合ってみました。 主にC++OpenCVでの実装ですが、これらの知識が無くとも読めるよう、コードやAPIへの言及を少なくして、中間画像で説

    わかりやすい画像のdiffを求めて - Qiita
    cocoasynn
    cocoasynn 2017/12/22
    すごい。画像の拡大縮小とかも対応できそうだけど需要あるんだろうか。
  • sort.Slice に学ぶ高速化のヒント - Qiita

    sort.Slice の実装をかいつまんで紹介し、様々な型 (特に様々なスライス型) を受け取りつつ速度を落とさず処理をするヒントを探ってみようと思います。 Go 1.8 から追加されている sort.Slice は、従来の sort.Sort と同等の速度で動作します。 気になるのが、sort.Slice には様々な型のスライスを渡せるのに、要素の交換についての処理をユーザーが記述しなくても良いということです。 // 従来の sort.Sort では、ソート対象に関する操作を定義して sort.Interface として渡している。 type ByValue []string func (s ByValue) Len() int { return len(s) } func (s ByValue) Swap(i, j int) { s[i], s[j] = s[j], s[i] } fu

    sort.Slice に学ぶ高速化のヒント - Qiita
    cocoasynn
    cocoasynn 2017/12/22