タグ

programmingに関するstealthinuのブックマーク (818)

  • あなたの生産性を向上させるJupyter notebook Tips | リクルートテクノロジーズ メンバーズブログ

    このエントリは全9回を予定する18卒新人ブログリレーの第3回です. はじめまして.今年度よりリクルートテクノロジーズに入社した河野 晋策です. 7月からQassチームにて検索ロジックの改善を行っています. Qassチームは,検索基盤の運用や検索ロジックの改善を行っているチームです. 詳しくは以下の記事をご覧ください. 検索組織の機械学習実行基盤 リクルート全社検索基盤のアーキテクチャ、採用技術、開発体制はどうなっているのか Elasticsearch+Hadoopベースの大規模検索基盤大解剖 記事の想定読者:普段Jupyter notebook・Jupyter Lab,Google Colaboratoryを使っている方,またこれから使おうと考えている方 記事の概要:jupyter notebookの知見共有 はじめに Jupyter notebookとは 近年,データの重要性が様々な

    あなたの生産性を向上させるJupyter notebook Tips | リクルートテクノロジーズ メンバーズブログ
    stealthinu
    stealthinu 2018/10/17
    Jupyterのtips。当然colabでも使えるというかcolabのための情報もあって良い。
  • コンピュータを理解するにはExcelが最適だった 83歳の現役プログラマーが語る、アプリ開発秘話 - ログミー

    2018年9月6日、ビジネスエアポート六木にて「米国アップル社、マイクロソフト社、そして国連部も認めた83歳のアプリ開発者 若宮正子氏登壇!『MY SMART WORK LIFE』セミナー②。世界を魅了する理由に迫る!!」が開催されました。パートでは、若宮正子氏の生い立ちからアプリ開発に至るまでのエピソードについての講演模様をお送りします。 突然世界中で有名人になってしまった、若宮正子氏の講演 若宮正子氏:みなさん、こんばんは。若宮正子です。どうぞよろしくお願いいたします。だいたいの人はみんな「マーちゃん」って言っているみたいなんですけども、戸籍上の名前は若宮正子です。 今日お話しすることは、まず自己紹介。それから、今日のテーマであります「私は創造的でありたい」というお話。それから最後に、最近の活動から得られたものです。といいますのも、私は1年半ぐらい前に、急に「にわか有名人」になっ

    コンピュータを理解するにはExcelが最適だった 83歳の現役プログラマーが語る、アプリ開発秘話 - ログミー
    stealthinu
    stealthinu 2018/09/27
    すっげえ面白かった。読むべき。単にぽっと出でアプリ書いたのが当たったおばあさん、という程度の人では全くなくこう注目されるべくしてなった人だった。
  • 「世界最悪のログイン処理コード」を解説してみた

    概要 ところでこのツイートを見てほしい。このソースコードをどう思う? 世界最悪のログイン処理コード。 実際のサービスで可動していたものだとか……https://t.co/C2bG93ZCkj pic.twitter.com/EfVNAEslrn — はっしー@海外プログラマ🇳🇿元社畜 (@hassy_nz) 2018年8月10日 すごく……セキュリティーホールです…… 一応は動いていますが、あまりに問題がありすぎるため、Twitterでも話題になっていました。 問題点は片手に入り切らないぐらいある気がしますが、一つづつ解説していきます。 ※元記事のタイトルに記載されていますが、このコードはイントラネット内で動作していたものです。 問題点リスト 1. クライアント上のJavaScriptで書かれている 他の問題点を全部ぶっ飛ばすぐらいの重大な不具合です。 クライアントと言うのはこの場合、

    「世界最悪のログイン処理コード」を解説してみた
    stealthinu
    stealthinu 2018/08/14
    全く同様のログイン処理のコードを以前見たことがある… イントラ用のコードしか書いてないとこがWeb系書くとやばい。その時は指示系統こっちじゃなかったが流石に受注元経由で指摘し修正させた。
  • ぼくたちのかんがえたさいきょうのi18n国家

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

    ぼくたちのかんがえたさいきょうのi18n国家
    stealthinu
    stealthinu 2018/08/07
    普段は文字コード程度のことくらいしか考えてなかったわすんません…という気持ちになる。国際化対応って難しい。
  • LINEの新卒エンジニアが入社後どのような数ヶ月を過ごすのかご紹介!研修のお題は「LINEクローンを作る」 - LINE ENGINEERING

    LINEの新卒エンジニアが入社後どのような数ヶ月を過ごすのかご紹介!研修のお題は「LINEクローンを作る」 By Yusuke Kushii | 2018.06.11 2021.01.08Developer RelationsチームでCulture Evangelistをしています。LINE Engineering Blogや技術イベントなどを担当。 こんにちは、LINEでCulture Evangelistをしている櫛井です。 今回はLINEに新卒エンジニアとして入社した場合、どのように最初の数ヶ月を過ごすのかご紹介したいと思います。 はじめに LINEでは新卒採用を2013年から開始し、その後、採用数は年々増加しています。技術職は、開発/データ/インフラ/セキュリティの4職種でエンジニアを採用しており、オフィスも東京・福岡・京都の3拠点から選択が可能です。 年度の新卒研修では技術職2

    LINEの新卒エンジニアが入社後どのような数ヶ月を過ごすのかご紹介!研修のお題は「LINEクローンを作る」 - LINE ENGINEERING
    stealthinu
    stealthinu 2018/06/11
    新卒でこのくらいのことが出来る人だけを取ってるってことか。うらやましい話だ。
  • コードを2つに分けて書く - 一つは自分のため、もう一つは顧客のために - hkoba blog

    はじめに この記事は、身近なプログラマー仲間に向けて書かれたまとめです。 私的な、身内向けの解説文ではあるのですが、 仕事でプログラムを組む人全般に通じるように書く、つもりです。 主張 私は基的に Perl プログラマーです。ですが仕事では、 Perl で 1ファイルで全部書けるような小さな案件でも、 Perl で書かれたモジュールと、 (上記を呼ぶ) Zsh で書かれたスクリプト のように、2つのプログラムに分けて書いたほうが良いと考えています。 この記事ではその理由を解説します。(この考えは Perl と Zsh の組み合わせ以外にも、応用できます) どんなコード量・規模を想定した話か分からないと納得できない人もいると思うので、 参考として、この考えに基づいて書いた昔のコードを載せておきます。 (コードの解説はありません。要望があれば書きます) github.com 仕事のコードを2

    コードを2つに分けて書く - 一つは自分のため、もう一つは顧客のために - hkoba blog
    stealthinu
    stealthinu 2018/05/16
    小さなコードでも、汎用性があるコードとその案件に特化したコードとを2つに分けて書いたほうが良い、という話。
  • クライアントサイドのモデルとは何か 前編 ~ クライアントサイド MVC の死 - mizchi's blog

    前置き この記事、来は Flux には Model がないのではないかと思った覚書 - ナカザンドットネット と Flux の Store が ViewModel かって話からの MVW とかどうでもいいって話 - 型の蓄音機は 1 分間に 45 回にゃあと鳴く のアンサーとして書き始めた記事だが、前置きだけで別テーマとなったので、前後編に分割する。 僕は元々がゲームクライアント屋だったときの発想を引きずってるのと、既存の Web の開発の文脈に対して距離を置いていることを明言しておく。あとこういうテーマでとある原稿書いていたので、頭の整理も兼ねて。 ActiveRecord の功罪を振り返る このテーマを語るにあたって、まず Rails の MVC について述べなければならない。なぜなら、フロントエンドのアーキテクチャとは、サーバーサイドの MVC の模倣に始まり、破綻し、結果として

    クライアントサイドのモデルとは何か 前編 ~ クライアントサイド MVC の死 - mizchi's blog
    stealthinu
    stealthinu 2018/05/16
    『Modelという名前のストレージ兼ロジック抽象の何かになった。そしてたぶんCakePHPで導入されたその思想はRails等の他のMVCに受け継がれていった』Cake発祥なの?Railsかと思ってた。
  • 「悪い方が良い」原則と僕の体験談|Rui Ueyama

    ソフトウェアの世界には「悪い方が良い」原則という有名なエッセイがある。キレイにレイヤ分けされた一貫性のある良いデザインよりも、一見手抜きっぽい悪いデザインのほうが実は良いときもあるという話だ。この逆説的なデザイン原則を僕は身をもって体験したことがある。それについてちょっと書いてみようと思う。 僕はlldというリンカの現行バージョンのオリジナル作者だ。リンカというのはコンパイラと組み合わせて使うもので、実行ファイルやDLLを作るのに使用される。lldはプロダクトとしてはかなり成功していて、標準のシステムリンカとして採用しているOSがいくつかあったり、GoogleやFacebookなど皆が知っているような大規模サイトの中で広く使われていたりする。 現在のlldは2世代目で、第1世代のlldは僕がプロジェクトに参加する前から存在していたのだけど、数年前にそれを捨てて一から書き直すということになっ

    「悪い方が良い」原則と僕の体験談|Rui Ueyama
    stealthinu
    stealthinu 2018/04/10
    『「賢いやり方」や〇〇原則といったものにこだわりすぎないこと。実装の単純さはとてもとても重要』
  • 「プロエンジニアになるための「アジャイル開発」再入門」が素晴らしい - プログラマの思索

    倉貫さんの資料プロエンジニアになるための「アジャイル開発」再入門が素晴らしいのでリンクしておく。 新入社員向けのアジャイル研修の資料は、これを使えば十分ではないかな、と思った。 以下はラフなメモ書き。 【研修資料】 【参考】 アジャイル開発とウォーターフォール型開発の違いについて再考: プログラマの思索 アジャイルとウォーターフォールは文化や価値観のレベルで異なるという話 - たなかこういちの開発ノート アジャイル開発の質 ? アジャイルとウォーターフォールの違いとは | Social Change! ソフトウェアは完成しても価値はない ? アジャイル開発は何を解決するのか | Social Change! アジャイル開発とは:「アジャイル開発」をエグゼクティブサマリにまとめてみた | Social Change! ドキュメントをなくしてもうまくいく? ? 人に依存するリスクへの対処とは

    「プロエンジニアになるための「アジャイル開発」再入門」が素晴らしい - プログラマの思索
    stealthinu
    stealthinu 2018/04/05
    アジャイルの理想が書いてある。がなかなかそうできない。それは契約の仕方から変えなければならないが、契約をする人たちは通常アジャイルに興味ないから。
  • Perl の正規表現リテラル中の変数展開を読む

    Perl の正規表現リテラル中の変数展開では、文法上、 解釈にあいまいさが生じることがあります。 この文章では、Perl インタプリタのソースコードから、 実装上でどのようにあいまいさが解決されるのかを説明します。 更新履歴 2008-06-05: 公開 Perl の判断 Perl では、文字列リテラルや正規表現リテラルの中で変数展開を行えます。 use Test::More tests => 2; my $name = 'Alice'; $_ = "My name is $name"; is($_, 'My name is Alice', '$name として Alice が展開される'); s/$name/Bob/g; is($_, 'My name is Bob', 'Alice が Bob に置き換えられる'); しかし、正規表現リテラルのなかで配列の要素を展開する際には、 [ 〜

    stealthinu
    stealthinu 2018/03/28
    perlでなんで$hoge[1]と$hoge[001]で動作の違いが出るのこれでわかった。そしてこれは${hoge[1]}とブレース使うべきというのがよくわかった。シェルもそうだけどperlも気をつけよう。
  • Interactive Reading Community (Ver.6)

    Interactive Reading Community (Ver.6)
    stealthinu
    stealthinu 2018/03/23
    replaceAllに「$」をエスケープして渡すのはどうするのがいいんだと思ったらちゃんとそれ用のメソッドがあるのね。Matcher.quoteReplacement でエスケープしてやってから渡せば良い。
  • Illegal group reference - とけび開発記録

    自前のサイトで今までにない例外(Illegal group reference)が発生していたので調査していたら、どうも「replaceAll」によるものみたい。 文字列の置換は「replace」と「replaceAll」の二つがあるのだけど、replaceだと最初の一文字だけ置換かと思って、いままではすべて変換は「replaceAll」を使っていた。 でもどうもどちらもすべて変換してくれるようです。 違いは、replaceは正規表現ではなく、replaceAllは正規表現であるということみたいです。 では、なぜ「replaceAll」は上記例外が発生しているか? それは置換後文字列に「$」が入っているためでした。 正規表現では、「(」と「)」で結ばれた文字を、置換後文字列の「$1」「$2」で置き換えるということができるのでそのために「$」を検出したら置き換えをしようとしている模様。 「$

    Illegal group reference - とけび開発記録
    stealthinu
    stealthinu 2018/03/23
    JavaでIllegal group referenceという例外出てなにかと思ったらreplaceAllで置換するとき文字中に「$」が入ってるとエラーが出るのね。置換元語句を「\\$」にエスケープする必要がある。
  • フロントエンドの負債と向き合う - mizchi's blog

    某所で書いたものを公開用に書き直したもの 前提 フロントエンドでTDDは難しい、というかほぼ不可能である。なぜなら事前に副作用をデータとして表現できるか不明だからだ。たとえばあなたのプロダクトの画面の何処かにボタンを追加するために、その内部表現を事前に思い浮かべることが可能だろうか? react-redux などのFluxフレームワークは如何に副作用をアクションとして表現することで、テスト・デバッグのための情報を残すか、という視点で発展してきた側面がある。あの冗長なアクション定義は、全てデバッグのために書いていると言っても、過言ではない。それすら「Textは文字がある」といったトートロジーなデータになりがち。 フロントエンドの現実的な単体テストは、他の開発者のために、自分が書いたコードの要求を満たしているか検知する手段として、防衛的にテストアフターしておく。これぐらいしか現実的な手法がない

    フロントエンドの負債と向き合う - mizchi's blog
    stealthinu
    stealthinu 2018/03/14
    つらみしか感じられない… ここまで苦労してもやはりやらねばならぬのだろうか…
  • How to Convert RFC-1123 date-time formatter, to local time

    stealthinu
    stealthinu 2018/03/08
    javaでRFC1123形式の日時をパース・作成するにはDateTimeFormatter.RFC_1123_DATE_TIME使えば良いらしい。
  • JSPの基本「暗黙オブジェクト」をさらに極める

    クライアントへの応答を制御する-responseオブジェクト- outオブジェクトがコンテンツ体の出力を制御する役割を担っていたのに対し、responseオブジェクトはむしろコンテンツ体に付随するヘッダ情報やステータスを制御する際に用います。 一見、outもresponseも「クライアントへの出力手段を制御するための手段」を提供するオブジェクトですので区別がつきにくいかもしれませんが、ざっくりと区分するならば、前者は可視的な情報を、後者は不可視の情報を制御するものであると思っていただければよいでしょう。 ヘッダ情報の発行 先のrequest_header.jspでは、クライアントから送信された一連のヘッダ情報を取得してみました。ここでは、サーバ側での処理結果にカスタムのヘッダ情報を付加することで、クライアント側をコントロールしてみることにします。 以下サンプルは、クライアント側の「キャ

    JSPの基本「暗黙オブジェクト」をさらに極める
    stealthinu
    stealthinu 2018/03/08
    JSPでレスポンスヘッダにLast-Modified追加する方法。2018にもなってこんなこと調べてる人僕の他にどんだけいるんだろう…
  • 提案:エンジニアに気軽に「バグ」というのはやめませんか? - worker experienceの日記

    もしかしたら私だけかもしれないです。ずれているかもしれません。 一般論ではないかもしれません。 でも、同じような気持ちになっているエンジニアがいるかもしれないので、 代表して言わせてください。 エンジニアに、気軽に「バグ」と言うのをやめませんか? 最近立て続けに以下のようなことが起こっており、私と同僚が消耗しています。心がすり減ってます。ワーカーエクスペリエンスが低下しています。。。 ~~~~~~~~~~~~~~~~~~~ 「○○さん、この数値がバグなんだけど直してもらえる?」 →調べたらその週は祝日影響で、営業日が少ないだけだった。 「あのデータのバグはいつ直りますか?」 →データの集計定義の変更の依頼があり、変更前の状態をバグと呼ぶ 「この前入ってなかったバグなんだけど、次の開発に入れてもらっていい?」 →スコープ外のこと(担当がそれを忘れていた)をバグと呼ぶ ~~~~~~~~~~~~

    提案:エンジニアに気軽に「バグ」というのはやめませんか? - worker experienceの日記
    stealthinu
    stealthinu 2018/03/01
    あー、これはわかるわ。まあ言う方はそこまで意識してないんだろうけど。医者に風邪引いたって言って風邪かどうかの診断はこちらがするからってたしなめられるのと通じる感じか。
  • テンプレートエンジンmustacheを使ってみる - CLOVER🍀

    いろんな言語で使うことができるテンプレートエンジン、mustacheというものがあるそうです。 「ロジック・レス・テンプレート」といってるだけあって、構文もシンプルな感じです。 mustache http://mustache.github.com/ manual http://mustache.github.com/mustache.5.html 正確には、いろんな言語で使うことができるというよりはいろんな言語の実装が用意されている、というのが正確な表現なのでしょうが。 今回は、Java版を使ってみます。 mustache.java https://github.com/spullara/mustache.java的な使い方 Mavenなり、Gradleなりを使って、依存関係の定義をしましょう。自分は、Gradleを使用しました。 apply plugin: 'java' vers

    テンプレートエンジンmustacheを使ってみる - CLOVER🍀
    stealthinu
    stealthinu 2018/02/20
    mustacheの構文javaから使ってる例。
  • mustache記法について簡単にまとめてみた

    今回の記事ではmustacheの記法について書いていきます。 もともと社内共有用にドキュメントを日語&適当に端折って簡単にまとめてたのですが、せっかくなのでQiitaにも投稿してみることにしました。 mustache is 何 様々な言語で組み合わせて使えるテンプレートエンジンです。 Loopなどロジック地味たことをする構文が存在しないので、Logic-Less templatesと呼ばれています。 タグの記法が{{hoge}}みたいになっていて、 { が口ひげみたいに見えるためmustache(口ひげ)というらしいです。 早速記法について書いていきます。 ドキュメント 英語のドキュメントがあるよ。日語はないよ(´・ω・`) https://mustache.github.io/mustache.5.html デモ これ書き方あってんの?を簡単に確認したい場合は以下のリンクが便利でした

    mustache記法について簡単にまとめてみた
    stealthinu
    stealthinu 2018/02/20
    mustacheでHTMLエスケープしないためには「{{{」にする。インクルードするには「{{> file}}」
  • ビット演算 (bit 演算) の使い方を総特集! 〜 マスクビットから bit DP まで 〜 - Qiita

    はじめに はじめまして。 NTTデータ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 C や C++ を使用しているとしばしばビット演算を行う場面が出て来ます。 計算機リソースが限られている状況では、ビットを用いることでデータ量を少なく済ませたり、計算コストを小さく抑えたりすることができるメリットがあります。 記事では、ビット演算を用いて実現できる処理について、簡単なものから高度なものまで集大成します。極力わかりやすく頑張って執筆しました。特に前半 4 つはビットの説明の中でもかなりわかりやすい方だと思います。後半の 7 つのテーマは比較的高度なアルゴリズムの話題ですので、フラグ管理やマスクビットについて詳しく学びたい方は前半 4 つを中心に読んでいただいて、後半 6 つは必要に応じて読んでいただければと思います。反対にビットの知識はあってビットを用いたアルゴリズ

    ビット演算 (bit 演算) の使い方を総特集! 〜 マスクビットから bit DP まで 〜 - Qiita
    stealthinu
    stealthinu 2018/02/20
    ビット演算の件が話題になると必ず「複数のビットフィールドを持つ数値の並列演算」http://www.emit.jp/prog/prog_b.html を思い出す。
  • 技術選定の審美眼 / Understanding the Spiral of Technologies

    初演: 2018/02/15 デブサミ2018 15-D-1 ハッシュタグ: #devsumi #devsumiD https://togetter.com/li/1199564

    技術選定の審美眼 / Understanding the Spiral of Technologies
    stealthinu
    stealthinu 2018/02/20
    これはぼんやり思っていたことが言語化されたという感じ。さすがのまとめ。