並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 512件

新着順 人気順

Hatenaの検索結果1 - 40 件 / 512件

  • アルゴリズムの勉強のしかた - きしだのHatena

    この記事で、アルゴリズムの勉強はアルゴリズムカタログを覚えることじゃないよということを書きました。 プログラムの理論とはなにか アルゴリズムの勉強というのは、スポーツで言えば腕立て伏せや走り込みみたいな基礎体力を養うようなもので、「ソートなんか実際に自分で書くことないだろう」とかいうのは「サッカーは腕つかわないのに腕立ていらないだろう」とか「野球で1kmも走ることなんかないのに長距離の走り込みいらないだろう」とか言うようなものです。 Twitterでアルゴリズムの勉強とはなにかと尋ねられて、「アルゴリズムの基本的なパターンを知って、それらの性質の分析のしかたをしって、いろいろなアルゴリズムでどのように応用されているか知って、自分が組むアルゴリズムの性質を判断できるようになることだと思います。 」と答えたのですが、じゃあ実際どういう本で勉強すればいいか、ぼくの知ってる本からまとめてみました。

      アルゴリズムの勉強のしかた - きしだのHatena
    • ちょっと慣れてきた人の為のハテブの使い方 - ぼくはまちちゃん!(Hatena)

      こんにちはこんにちは!! 近頃は、はてなブックマーク人口もめっきり増えてきた感じがしませんか! 2chまとめサイトのようなアクセス多いところがどんどん活用しはじめたり ベストセラー本で紹介されたりとかの影響なんでしょうか! 数年前とくらべてアクティブなユーザーも増えて、 人気エントリーだと1000や2000といった4桁ブックマーク数もあたりまえになってきました!! そんなこんなで、最近はてブをはじめた人も結構いるんじゃないかと思いますが…! 最初のうちは、トップページとか、人気エントリーを眺めているだけでも充分楽しいですよね! でも慣れてしまって、つい「記事に飢える」状態になっちゃったりすると 注目エントリーまでも追いかけるようになったり… それでもまだまだ飢えがおさまらなくって気がつけばハテブ依存症…! …あるいは、単なる外部ブックマークとして使っているだけの人も多いのかも? だけど、は

        ちょっと慣れてきた人の為のハテブの使い方 - ぼくはまちちゃん!(Hatena)
      • 「はてな教科書」をgithub上に公開しました - Hatena Developer Blog

        こんにちは、id:shiba_yu36です。 はてなのエンジニア陣によって執筆されたウェブアプリケーション作成の基本を学ぶための「はてな教科書」をgithub上に公開しましたのでお知らせします。 はてな教科書は、はてなサマーインターンでも利用されている、約1週間でウェブアプリケーションの基本を身に付けるためのものです。はてなでは日々のウェブ開発で得られたノウハウをこの教科書を継続的に盛り込みながら、インターンシップやエンジニアの新人教育などに利用しています。今回、はてな教科書をgithub上で公開することで、広くPerlを使ったウェブアプリケーション開発に興味を持ってもらえれば、と思います。 いまのところ公開されている資料は、以下の4つになります。 Perl によるオブジェクト指向プログラミング ORM によるデータベース操作 (DBIx::MoCo を使った開発) MVC によるウェブア

        • 1分でWebアプリを作れて、3分で公開できた!オールJavaScriptでWebアプリを開発できるMeteorを触ってみた - IT-Walker on hatena

          もうJavaもRubyも要らない?–JavaScriptオンリーの未来派WebアプリフレームワークMeteorがデビューという記事で知った、新しいフレームワークMeteor。 ちょっと気になったので、軽く触ってみました。すごすぎるフレームワークの登場です!! 正確に言うと、実行環境&フレームワーク&クラウドPaaS&パッケージマネージャーといったところでしょうか。Node.jsとHerokuとnpmが一緒になったようなもんだと思えば、イメージがわくと思いますが、実態はそれらを上回っています(パッケージ数はnpmの比じゃありませんが・・・使い勝手という意味で)。 インストール ターミナルをたちあげて、以下のコマンドを実行するだけ。 (行頭の$はターミナルであることを表してるだけで、コマンドの一部じゃありません) $ curl install.meteor.com | sh これで /usr/

            1分でWebアプリを作れて、3分で公開できた!オールJavaScriptでWebアプリを開発できるMeteorを触ってみた - IT-Walker on hatena
          • インフラを意識してコードを書くということ - Hatena Developer Blog

            チーフエンジニアの id:Songmu です。 4月に 新人エンジニア研修を行なった のですが、その際に、「インフラを意識したアプリケーションの書き方」という講義を担当しました。そこでおこなった講義の内容について整理しながら書き起こしていきたいと思います。 インフラを意識すると何が良いか 業務でWebアプリケーションを扱うと、個人ではなかなか扱えないトラフィックであったりデータ量を扱うことになります。小規模サービスでは考えなくてよかった多くのことを考慮する必要がでてきます。なかなか体験できないことでもあるので、楽しく、やりがいもあります。 また、そういった経験を通して、インフラを意識しコードをかけるスキルを身につけることは、Webエンジニアとしては大きな強みとなります。ISUCONで優勝できるかもしれません*1。 インフラを意識すると何が良いか 〜 中規模ベンチャーの場合 そもそも、はてな

              インフラを意識してコードを書くということ - Hatena Developer Blog
            • オブジェクト指向は禁止するべき - きしだのHatena

              プログラムがまだ不慣れな人が「プログラムちょっとわかるようになったけど、まだぜんぜんオブジェクト指向とかできてません」のように言ったり、ちょっと慣れた人が「このソース、ぜんぜんだめ。オブジェクト指向ができてない」にようなことを言ったり、まるで、オブジェクト指向ができてるかどうかがよいプログラムかどうかを表すことになってるようだ。 Javaのアルゴリズムの本に、「Javaなのにオブジェクト指向ができていない」のような書評がついているのを見たときには、お前は何を求めてるんだと思ったりもした。 そのようなオブジェクト指向は、窓から投げ捨てるべきだ。オブジェクト指向はプログラムのよしあしの基準にならない。 むだにHogeインタフェースとHogeImplクラスがあったり、むだにnewするだけのcreateメソッドがあったり、どこで値が設定されてるかわからないオブジェクトがひきまわされてたり、ソースコ

                オブジェクト指向は禁止するべき - きしだのHatena
              • プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena

                JJUG CCC 2022 Fallで「Javaの入門が終わったら何の勉強をすればいいの?」という内容で発表を行いました。 基本的なものが作れるようになったけども、イマイチプログラムが組めないというときに、何を勉強すればいいかをまとめました。 入門が終わって作りたいものがあれば作っていきましょう、業務で言われたものが作って行こう、でもなんだかちゃんとしたものが作れないな、もっとちゃんとしたものを作りたい、次のステップに進みたいというときに勉強していく感じです。 資料はこちらです とりあげた本についてまとめておきます。 開発作業について 概要 プログラミング言語 アーキテクチャ ミドルウェア ネットワーク デプロイ 理論 開発手法 開発プロセス まとめ フレームワークは入門でやってる前提です。Java入門書「プロになるJava」ではJavaの基本から簡単なDB操作、Spring Bootまで

                  プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena
                • はてなの書けない「はてなダイアリーでアフィリエイトをはじめよう」 - ぼくはまちちゃん!(Hatena)

                  こんにちは! いよいよぼくも月に4000円くらい稼げるようになって、すっかり大物アフィリエイターの仲間入りのはまちや2です! さて今日は、ちょっと書評とかでアフィリエイトやってみたいなーなんて人に向けて、 はてなダイアリーでアフィリエイトをやる時のコツなんかを書いてみようかと思います! あ! 今回は先に結論を書いておきますね! はてなダイアリーは無料ユーザーでもアフィリエイトしてOK 実はAmazonの貼り付けコードは、全種類そのままダイアリーに貼り付けられる(iframeでもobjectでもscriptでも) 「はまぞう」は使ってはいけない できればAmazonの貼り付けコードもそのままじゃない方がいいよ はてなダイアリーはじめて間もない人なら、「過去の日記」で審査を通す ニックネームはユニークに、だけど、アソシエイトIDは非ユニークに そんなの常識じゃん!なんて思っちゃったようなプロの

                    はてなの書けない「はてなダイアリーでアフィリエイトをはじめよう」 - ぼくはまちちゃん!(Hatena)
                  • ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena

                    ChatGPTのヤバいところは、論理処理が必要だと思っていたことが、じつは多数のデータを学習させた確率処理で解決可能だと示したことだと思います。 たとえば、このように正規表現にマッチする文字列を生成するには、特別に専用の論理処理が必要だと思っていました。 前のブログのときには特殊処理が必要だと考えてましたね。 ウソはウソと見抜ける人じゃないとChatGPTを使うのは難しい - きしだのHatena けど、123_45678world.mdはマッチするのにマッチしないと言っているので、そのような誤りが入ることを考えると、どうも確率処理だけでやっているようです。 考えてみると、3層以上のニューラルネットであれば論理素子を再現できるので、ディープラーニングで論理処理を模倣することは可能なんですよね。 バックプロパゲーションでニューラルネットの学習 - きしだのHatena そもそも論理は、多数の

                      ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena
                    • 澤なんて大したことない。 - Yukibou's Hideout on Hatena

                      2015 - 12 - 17 澤なんて大したことない。 サッカー なでしこ 大したことないシリーズ Tweet その女、怪物につき。 澤なんて大したことない。 1978年9月6日、東京都府中市に生まれる。 6歳の時に、1歳年上の兄 典郷の後を追いサッカーを始める。 小学校2年生の時に、地元のサッカーチーム「府ロクサッカークラブ」に入団を希望するも、「女子である」という理由で仮入団となる。だが、澤は初めて出場した大会でゴールを決めるなどの活躍をし、正式に入団を認められた。 当時のチームメイトは、当然全員が男子である。2つ下の後輩に現川崎フロンターレ所属の中村憲剛がいるが、彼は澤について「僕が最初に出会った怪物」というコメントを残している。 チームで頭角を現し、もう誰も澤を「女の子」扱いするものはいなくなった。男子との練習でテクニックやスキルを磨き、50メートル7秒台前半の快足も大きな武器とな

                        澤なんて大したことない。 - Yukibou's Hideout on Hatena
                      • はてな ( hatena )のオリジナルグッズ・アイテム通販 ∞ SUZURI(スズリ)

                        はてな ( hatena )の公式アイテムの通販サイト。はてなブックマーク、はてなブログなどを運営する株式会社はてなの公式アカウントです。(GMOペパボ社の承諾を受けて販売しています。)

                          はてな ( hatena )のオリジナルグッズ・アイテム通販 ∞ SUZURI(スズリ)
                        • 文字列アルゴリズムの学びかた - Hatena Developer Blog

                          こんにちは!はてなアプリケーションエンジニアの id:takuya-a です。 みなさんは、このような疑問をもったことはありませんか? grep はどのように文字列を検索しているのか? MeCab はどうやって辞書を高速にルックアップしているのか? パーサやコンパイラを作りたいけど、何から始めればいいのか? 本稿では、「文字列アルゴリズムとはどんなものなのか?」「なぜ重要なのか?」「何を知っておくべきか?」「どうやって勉強すればいいのか?」といった疑問にお答えしていこうと思います。 文字列アルゴリズムの意外な応用や、モチベーションを保ちやすい勉強のしかた、文字列アルゴリズムを勉強するために行った社内での取り組み、実装するときのコツといったトピックについても触れています。 このエントリは、はてなエンジニアアドベントカレンダー2016の22日目の記事です。昨日は id:syou6162 さんに

                            文字列アルゴリズムの学びかた - Hatena Developer Blog
                          • プログラマが勉強すること - きしだのHatena

                            今日もプログラマになる勉強する人のところで話をしてきました。 で、また適当にいろいろ書いてました。 http://www.slideshare.net/nowokay/20140228-31742219 今日は特に、この図の内容についてまとめておきます。 ※ このエントリは、主に今日の話を聞いた人を対象としています。前提や補足については省略しています。 まずはプログラミング言語を プログラマというのは、利用者に直接サービスを提供することはできません。コンピュータの上でプログラムを動かして、そのプログラムを使ってもらうことでサービスを提供します。 ※組み込みは前提から外しています。 そのプログラムも、コンピュータで動くものを直接記述することは現実的にできません。 なんらかのプログラミング言語で、プログラムを書くことになります。つまり、プログラマの仕事は直接的にはプログラミング言語をいじくる作

                              プログラマが勉強すること - きしだのHatena
                            • TRANS [hatena] - 印刷用CSSをまとめてみた。

                              以前、絵文禄のことのはさんのところで、サイトの横幅を640ピクセルにする理由――統計と現状に基づく結論というエントリーがあった。それから、ちょっと印刷用CSSに興味を持って、色々と調べてみたり、自分で書いてみたりした。そのまとめ。 ちなみに、#naviがグローバルナビゲーション、#primaryがメインコンテンツ、#secondaryがサブメニュー、#footerがフッター。 とりあえず、最低限やっておいたほうがよいこと。 body { font-size: 12pt; color: #000000; background-color: #FFFFFF; } a:link, a:visited { text-decoration: underline; color: #000000; } img { border: 0; } 印刷で読まれることを勘案するのなら、font-sizeはある程度

                                TRANS [hatena] - 印刷用CSSをまとめてみた。
                              • Web開発におけるコンピュータサイエンス - 機械学習編1 - Hatena Developer Blog

                                この教科書は、はてなサマーインターンの講義資料として作成されたものです: https://github.com/hatena/Hatena-Textbook この章では機械学習について、Webサービスの開発で必要とされる知識を中心に、とくに自然言語処理にフォーカスしながら解説します。 Webサービス開発と機械学習 実現困難な機能の例 闇雲な実装 もう少しましな実装 機械学習によるパラメータ決定 分類問題のための機械学習手法 パーセプトロン 判別アルゴリズム 学習アルゴリズム 特徴量のとり方 形態素解析 量をともなう特徴 組み合わせ特徴量 モデル 機械学習の種類 教師あり学習 分類 (質的変数の予測) 回帰 (量的変数の予測) 教師あり学習でのデータセット 教師なし学習 クラスタリング 次元削減(次元圧縮) 頻出パターンマイニング 異常値検出 アルゴリズムの評価 訓練データとテストデータ 学

                                  Web開発におけるコンピュータサイエンス - 機械学習編1 - Hatena Developer Blog
                                • ITが面白い時代はすでに終わっているし変化も遅くなった - きしだのHatena

                                  ITはもう面白くなくなってますね。 技術が面白いときには、いろいろ新しいものが出て性能あがったりできることが増えたりします。調べたらどんどん新しいものが出てくるし、新しいものもたくさん作るし、面白い。ですが、IT技術は一通り出そろって、成熟期に入っています。そうすると新しい技術に出会うことも新しいものを作ることも減っていきます。その結果、いままでの変化のあった状況を知っていれば、つまらんってなりますね。 ※2024/8/24 追記 言いたいことをまとめると、IT素振りのネタ探しに苦労するようになったよねってことです。 結局のところITというのは新しいハードをどう動かして社会に実装していくかというものなので、新しいハードが出ないとどうしようもないのです。けれどもだいたい飽和してしまった。 雑にいえば、これまで1980年くらいにBASIC搭載8bitパソコンが普及するとBASICプログラミング

                                    ITが面白い時代はすでに終わっているし変化も遅くなった - きしだのHatena
                                  • コミュニティノートがTwitterを壊している - きしだのHatena

                                    コミュニティノート、案の定暴走している。 どんな改悪、利用制限よりも大きくTwitter*1を壊してるんじゃなかろうか。 ※ 2024/3/12追記 コミュニティノートの、「追加の背景情報が必要ない理由を説明するノート」がうまくまわって、初期に見られた正義の暴走のようなノートは表示されないようになってきています。 コミュニティノートは、多数派に有利な仕組みです。 「コミュニティノートでは、さまざまな視点を持つユーザーにとって役に立つノートが特定されます」 となっていますが、多数派であればさまざまな視点を持つユーザーが確保しやすく、逆に少数派は視点が収束する傾向があるので不利になります。 そのため、なんらかの不満をもっているけどその不満を表明して言葉にするとだいたい間違っているという層には非常に居づらくなっています。 「間違ったツイートをしなければいい」のような発言をみかけるけど、裏を返せば

                                      コミュニティノートがTwitterを壊している - きしだのHatena
                                    • エンジニアのためのChatGPTプラグイン3選+1 - きしだのHatena

                                      前のブログでも紹介したのだけど、ChatGPTプラグインのローリングアウトが始まって使えるようになっていて、結局みんな使うのはこの3つくらいかなーとなったので、まとめておきます。 前のブログはこれ。 Bardも世の中のサービスぜんぶGoogle製と思ってるらしい - きしだのHatena 同時に使えるのは3つまでのようだけど、他のプラグインはアメリカの不動産情報など日本からは使いづらかったり、作ってみたレベルだったりなので、結局この3つに落ち着くかなーという気がします。 WebPilot これは手放せなくなります。Web記事を読み込んでくれるプラグイン。 ChatGPTには「この記事を要約して」しか入力しなくなりそう。 このエントリを要約してもらっています。 大規模言語モデルの「脳波」が反応してる部分を壊すとどうなるか試した - きしだのHatena ※ 追記 15:21 ぼくのところには

                                        エンジニアのためのChatGPTプラグイン3選+1 - きしだのHatena
                                      • Hatena::Monolith

                                        平素よりはてなモノリスをご利用いただき、ありがとうございます。 はてなモノリスは、2014年7月1日をもちまして、サービスの提供を終了させていただきました。 これまでご利用いただきましたユーザーの皆さまに深く感謝いたします。 誠にありがとうございました。 詳しくは下記をご覧ください。 http://d.hatena.ne.jp/hatenamono/20140512 株式会社はてな

                                        • はてなで新しくWebサービスを作るときのインフラの作り方 - Hatena Developer Blog

                                          この記事ははてなデベロッパーアドベントカレンダーを始めます - Hatena Developer Blogの17日目の記事です.昨日は id:yashigani_w の Promiseを学ぶためにSwiftでPromiseを実装してみた話 - yashigani?.days でした. こんにちは、はてなの id:wtatsuru です。はてなのインフラ全般をみています。 はてなでは、しばしば新サービスを構築する機会があります。正式サービスもあれば、はてラボ のような実験的サービス、内部の Microserviceの一部になっているものなど多種多様なものがあります。新規サービスのインフラを構築する際は、最小構成でありつつ後のスケールやメンテナンスを考えた仕組みを作っていくことになります。この記事では、2015年12月現在のはてなでの標準的な構成を紹介していきます。 新サービスの最小構成 こち

                                            はてなで新しくWebサービスを作るときのインフラの作り方 - Hatena Developer Blog
                                          • 画像対応ChatGPTで設計図からコードの世界が実現しててやばい - きしだのHatena

                                            アマチュア驚き屋のきしだです。 ChatGPTが画像入力に対応するよという話があって、来週くらいに使えるようになるかなーと思ったら、もう使えるようになってました。 で、写真から「カレー食べてる男の人です」くらいを言えるイメージで試してたら、なんかふつうに画面設計やクラス図からコードを書いていてびっくりしてしまいました。 まあ、起きたらこういうのが来てたわけですね。 で、まあ試してみて「あぁ、いままでのマルチモーダルよりちゃんと画像認識してるなー」くらいに思ったわけです。 で、NetBeansでの画面設計を読ませてみたらこう。 こういうコードが生成されました。 import javax.swing.*; import java.awt.*; public class SimpleForm { public static void main(String[] args) { JFrame fr

                                              画像対応ChatGPTで設計図からコードの世界が実現しててやばい - きしだのHatena
                                            • はてなブログのキャッシュ周りをきちんと改善したら、アプリケーションサーバの台数を半分にできた話 - Hatena Developer Blog

                                              はてなブログでSREをやっているid:cohalzです。 2019年12月頃からid:utgwkkやid:onkとともに、はてなブログにおけるキャッシュ周りの改善を行いました。その結果、次のような成果が得られました。 ブログ記事のキャッシュヒット率が、1日平均で8%から58%に向上 アプリケーションサーバの台数を、以前の半数以下に削減 DBに届くリクエスト数が、以前の3分の2まで減少 レスポンスタイムの平均が、以前の8割まで減少 この記事では、実際にどういった改善を行ったのか、その際に気をつけたことや大変だったことを紹介します。 はてなブログがVarnishを導入した経緯と課題 開発合宿をきっかけに問題が明らかになる 進め方をまず考える ホストのメモリをできるだけたくさん利用する メモリを積んだホストでなぜかレイテンシが悪化 キャッシュが分散しないようVaryヘッダを使う デバイス情報を適

                                                はてなブログのキャッシュ周りをきちんと改善したら、アプリケーションサーバの台数を半分にできた話 - Hatena Developer Blog
                                              • iPhoneが便利になる!まとめ記事のまとめ - Mikatty@hatena

                                                Mikatty はてブやコメント付けて下さった方、 どうもありがとうございました。 今はこっちで色々やってます。 http://d.hatena.ne.jp/mikatty810/ サイトも作ったよ! http://www.mikatty.com/

                                                • Googleでブロックすると便利なサイトを教えて下さい http://www.google.com/reviews/t 例: b.hatena.ne.jp, ceron.jp

                                                  Googleでブロックすると便利なサイトを教えて下さい http://www.google.com/reviews/t 例: b.hatena.ne.jp, ceron.jp

                                                  • 4月にプログラム始めた人がゴールデンウィークに積んでおく本 - きしだのHatena

                                                    大きく挙げたのは7冊なので、7日の休みで1日1冊ですね! 連休の間に読んでおいて、友達に差をつけよう! うっかり、先輩にも差をつけちゃえばいいと思います。 プログラムを組むとはどういうことか 本を挙げる前に、まずプログラムを組むとはどういうことかということを考えておきます。 ざっくりとした説明なので、だいたいこういう感じ、だと考えてください。 その上で、どのような本が必要かを考えて、本を選んでいきます。 以前描いたものですが、プログラムを作るということと各分野の関係はこのようにあらわせます。 まず、プログラムは最終的にユーザーに使ってもらうためのものです。 ただ、ユーザーはプログラムを直接使うことはできません。プログラムはハードウェアで動かす必要があります。そして、ユーザーインタフェースを介してユーザーが使います。 (ハードウェアからプログラムへの矢印は逆のほうがいいですね) このような、

                                                      4月にプログラム始めた人がゴールデンウィークに積んでおく本 - きしだのHatena
                                                    • プログラマになるための勉強をしている人の前で話をしてきた - きしだのHatena

                                                      イデアルITスクールというところで、1時間ほど話をしてきました。 プログラマとしてやっていくために大事なことというテーマ。 資料を作らずに、というか構想すら練らずにやってしまったので、ここで整理とまとめと補足を。実際にこれをしゃべったというのではなくて、だいたいこんなことをしゃべろうとしてたという内容をかなり盛って書いてます。 当然ですが、プログラマの仕事はプログラムを書くことです*1。 プログラマとしてやっていくためには、どこで動くプログラムを書くか、なにをするプログラムを書くかということを意識することが大事です。 ということで、まずはプログラムが動くところがどう変わったかという話。 1970年代ころは、デバイスを動かすためのプログラムが多かったのではないかと。 あと、ここには書いてないけど、業務アプリはほぼメインフレームで動いてたと思います。 それが、1980年代くらいからパソコンが出

                                                        プログラマになるための勉強をしている人の前で話をしてきた - きしだのHatena
                                                      • インターン講義4日目「JavaScript で学ぶ イベントドリブン」 - Hatena Developer Blog

                                                        今日行なわれたインターン4日目の講義「JavaScript で学ぶ イベントドリブン」by id:cho45の資料と録画を公開します。今回は、JavaScriptの概要からDOM、イベントドリブンまでを2時間で網羅した密度の高い講義となっています。今回の放送は安定していましたので、音質・画質とも良好にできました。 明日もAM10:30より、JavaScript界の貴公子id:nanto_viによる「ユーザーインターフェース, HTML5」を放送しますので、是非ご覧ください。 自己紹介 id:cho45 - vimmer うごメモチームのエンジニア (7月後半〜) 少し前までブックマークチーム Perl, JS (Scala, Ruby, etc...) サーバサイド・クライアントサイドUI・スマートフォンなど Java や AS も場合によっては書いています 特技 1行コードを書くごとにハ

                                                          インターン講義4日目「JavaScript で学ぶ イベントドリブン」 - Hatena Developer Blog
                                                        • Bing検索の裏側―BitFunnelのアルゴリズム - Hatena Developer Blog

                                                          はてなアプリケーションエンジニアの id:takuya-a です。 この記事では、Microsoft の検索エンジン Bing で採用された BitFunnel アルゴリズムを紹介します。 昨年のエンジニアアドベントカレンダーでは、文字列検索のアルゴリズム全般について紹介しました(文字列アルゴリズムの学びかた - Hatena Developer Blog)。今年はそのなかでも、インデックス(索引)を使った全文検索アルゴリズムについてのお話になります。 この記事の前半は全文検索の入門にもなっていますので、検索技術になじみがない方にも楽しんでいただけるのではないでしょうか。 逆に、「そんなのもう知ってるよ!」という方は、本題である「BitFunnel アルゴリズムの詳細」から目を通していただければと思います。 この記事は、はてなエンジニア Advent Calendar 2017の21日目の

                                                            Bing検索の裏側―BitFunnelのアルゴリズム - Hatena Developer Blog
                                                          • VSCodeの拡張機能、なに使ってますか? はてなエンジニア世論調査 #2 - Hatena Developer Blog

                                                            こんにちは、Webアプリケーションエンジニアのid:hogashiです。 半年ほど前に公開した「開発環境のフォントなに使ってますか?」に続く、はてなエンジニア世論調査の第2回「VSCodeの拡張機能、なに使ってますか?」です。 ソースコードエディタであるVisual Studio Code(以下、VSCode)は多くのエンジニアに利用されています。VSCodeにはソースコードのシンタックスハイライトやデバッグなど、さまざまな拡張機能をインストールして使うことができますが、公開されている拡張機能は膨大にあります。 その中から、はてなのエンジニアはどんな拡張機能をインストールして、日頃の開発に使っているのでしょうか? 前回と同様にアンケート調査してみました。 アンケート方法 アンケート結果から見える人気の機能拡張 6割の拡張機能は1人だけが使用 人によってかなり異なるインストール数 興味深いコ

                                                              VSCodeの拡張機能、なに使ってますか? はてなエンジニア世論調査 #2 - Hatena Developer Blog
                                                            • 「はてな教科書」にSwift 2の教科書を追加しました - Hatena Developer Blog

                                                              本日、はてな教科書に新たにSwiftの教科書を加えました。先進的なプログラミング言語であるSwiftを学習するのに最適な教材です。 「はてな教科書」はもともと、およそ1週間でWebアプリケーション開発の基本を身につけるために、PerlやJavaScript、MySQLなどを用いて実際にWebアプリケーションを作ってみる教材として作られてきました。はてなサマーインターンシップや、はてなの入社時研修に利用されています。最初はWebアプリケーションのための教科書でしたが、はてなでは近年の多様なニーズにあわせて年々内容を更新してきました。 はてな教科書 はてなサマーインターン2015では新しく様々な内容が追加されましたが、今回はそのうちSwiftに関する部分を先行して公開します。昨日Appleが正式にリリースしたSwift 2を全面的に採用した教科書で、Appleプラットフォームアプリ開発の学習や

                                                                「はてな教科書」にSwift 2の教科書を追加しました - Hatena Developer Blog
                                                              • 開発速度と品質のトレードオフの判断基準の合意 - Hatena Developer Blog

                                                                Webサービスの開発は、ユーザ/顧客へ価値を早く届けるため、競合より早くリリースするため、人的リソースを無駄使いしないためなど、とにかく素早く進めたいものですね。一方で、開発を急ぐあまり品質を犠牲にすればかえって価値が失われたり、技術的負債が溜まって長期的なコストが大幅に増大する可能性もあります。開発速度とプロダクト品質は基本的にはトレードオフの関係にあるのでしょう。 開発速度と品質のどちらを優先するかはプロダクトの性質や、チームもしくは会社の状況によって異なるとおもいます。この状況の認識がチームメンバー間でずれていると、チームのパフォーマンスを最大限に発揮できないばかりか、チーム内の関係悪化も招きかねません。エンジニアたちとプロダクトオーナーの間の対立のようなありがちな問題の原因の一つかもしれません。 そこで、開発速度と品質のトレードオフをどう判断すべきかの基準を明確にして、原則それに従

                                                                  開発速度と品質のトレードオフの判断基準の合意 - Hatena Developer Blog
                                                                • 小学校低学年へのプログラミング教育には効果がないと考えたほうがいい - きしだのHatena

                                                                  子どもへのプログラミング教育は早ければ早いほどいいというものではない。 最近子どもへのプログラミング教育が話題になることが多いけど、恐らく小学3年生までの子どもへの効果はほとんどなく、小学4年生でもほとんどの子どもには難しいと思う。 人間の知能の発達には段階があって、必要な段階に達していないうちにそれが必要な教育を行っても効果は望めない。 まず、なんでこのエントリを書いたかというと、プログラミングには適した発達段階があるということを知らないと、その発達段階に達する前にプログラミング教育を行って、もちろんプログラミングは出来なくて、その子には適性がないという判断をしてしまうとうことが起きてしまうんじゃないかと思ったからだ。 まだ適した段階まで来てないだけなのにプログラミング教育をして失敗して「この子にはプログラミングができなかった/興味をもたなかった」という実績を作ってしまうことによって、将

                                                                    小学校低学年へのプログラミング教育には効果がないと考えたほうがいい - きしだのHatena
                                                                  • はてなブログにおけるページ表示速度改善の取り組みについて - Hatena Developer Blog

                                                                    こんにちは、id:hakobe932です。はてなブログではユーザ体験の改善のために、ページ表示速度を向上させるための様々な取り組みを行っています。このエントリーでは、はてなブログで行っている、ブラウザキャッシュの活用、JavaScriptのページ最下部での読み込み、JavaScriptの圧縮、という3つの取り組みについて解説します。 ブラウザキャッシュの活用 同じ内容のJavaScriptやCSSを、ページを表示するたびにダウンロードすると、余分なHTTPリクエストが発生しますし、読み込み時間がかかります。 ブラウザのキャッシュを利用できれば、余分なリクエストを減らすことができます。はてなブログでは、なるべく長い間ブラウザにキャッシュを保存するために、JavaScriptなどの一部の種類のファイルのレスポンスに、以下のようなヘッダを指定しています。 $ curl -I http://hat

                                                                      はてなブログにおけるページ表示速度改善の取り組みについて - Hatena Developer Blog
                                                                    • 「新機能作成時に開発ブランチに細かくmergeしていく戦略」について社内勉強会で発表しました - Hatena Developer Blog

                                                                      はてなのアプリケーションエンジニアのid:shiba_yu36です。社内技術勉強会で「新機能作成時に開発ブランチに細かくmergeしていく戦略」という発表をしたので、資料を公開します。 speakerdeck.com 以下、簡単に文字でまとめておきます。 戦略 ユーザーに新機能が見えないようにする工夫をし、新機能のbranchもどんどん開発ブランチにmergeしていく mergeされたものは随時本番にリリースされるが、ユーザーに見えない工夫をしているので問題なし PRは可能な限り細かくする 機能が完成したら最後にユーザーに新機能を見えるようなPRを作り、mergeしてリリースする なぜこの戦略を使うのかいろんな失敗を経験して、この戦略を最近使っている。 失敗パターンその1: 巨大PRパターン 失敗パターンその2: 新機能リリースブランチパターン 失敗パターンその1: 巨大PRパターン 新機

                                                                        「新機能作成時に開発ブランチに細かくmergeしていく戦略」について社内勉強会で発表しました - Hatena Developer Blog
                                                                      • シンギュラリティは来ない - きしだのHatena

                                                                        ChatGPTが思いがけずいろいろなことを人間より賢くやっているのを見てシンギュラリティという言葉を使う人が増えたように思いますが、逆に、シンギュラリティは来ないのではという思いを強くしています。 まず、この文章でのシンギュラリティがなにかという話ですが、レイ・カーツワイルが「シンギュラリティは近い」の1章の終わりで「さあ、これが特異点だ」といっている特異点、そのシンギュラリティです。 シンギュラリティは近い―人類が生命を超越するとき 作者:レイ・カーツワイルNHK出版Amazon この特異点は単にAIが人間より賢くなるというだけではありません。人間より賢くなるだけだと、便利な道具が増えるだけなので、大騒ぎするほどの変化は起きません。人の仕事を奪うといっても、蒸気機関ほどでもないですね。印刷機などと並んで、人の生活を変える転換点にすぎず、ただひとつの点をあらわすシンギュラリティには なりま

                                                                          シンギュラリティは来ない - きしだのHatena
                                                                        • 2017年も安定して使い続けているもの10選 - QuzeeBlog@Hatena

                                                                          年の瀬ですね。この時期は◯◯年購入してよかったものというブログ記事がたくさん投下されますが、流行り廃りのありそうなものよりも長く使えるものを紹介してほしいと思うのは私だけでしょうか。というわけで長く使っているものを棚卸ししました。 オーソドキシーの小さい財布 以前も書きましたが銀座にあるオーソドキシーの小さな財布(ジーヴス)は本当に便利で5年ほど使い続けています。小さな財布・薄い財布シリーズは数多くありますが、個人的な要望にうまく合ったのはこの財布でした。 小型財布に望むことは若干の余裕があるかどうか。小銭が増えすぎた場合やカードが増えたときにも許容できるくらいの余裕があると安心です。この財布は結構無茶がきくのでファッキン自販機が全部100円玉でお釣りを返してきても全然大丈夫です。カードは10枚程度なら入りますし、もう少し増えてもたぶん大丈夫。紙製のスタンプカードも入れることが出来ます。

                                                                            2017年も安定して使い続けているもの10選 - QuzeeBlog@Hatena
                                                                          • 図解 ネット刺殺事件の全貌「低能先生」と記号化された人間とHagexとネットいじめの温床Hatena - fhome’s blog

                                                                            このブログエントリの目的は、ネットコミュニティであるHatena界隈で有名人であったハンドルネームHagex(岡本顕一郎)氏が、「低能先生」と揶揄された別のHatenaユーザーである松本英光氏(現在、殺人事件の容疑者)によって刺殺された事件について、あくまで筆者の観点からその全貌について論評するものです。 なお、この筆者の観点とは、筆者単独の独自視点というわけではないことは、本文中引用させていただいている複数個人の見解や、 fhome.hateblo.jp というサービスのヘビーユーザからの視点からも明白ですので「筆者は何も知らないから」という揚げ足取りのような反論は妥当性に欠けると思っています。 また関連議論として、当記事を引用したうえでの記事コメント欄での、当方からの反論もあわせてご覧ください。 teruyastar.hatenablog.com さて、わざわざ新規ブログを立ち上げて、

                                                                              図解 ネット刺殺事件の全貌「低能先生」と記号化された人間とHagexとネットいじめの温床Hatena - fhome’s blog
                                                                            • MVCは死んだ。MOVEするときがきた - きしだのHatena

                                                                              Conrad Irwinさんの「MVC is dead, it's time to MOVE on.」を訳してみました。 MVC is dead, it's time to MOVE on. この訳文も原文のライセンスを引き継いでCC-BY-3.0ライセンスで利用可能とします。 追記13:58 すでに訳してた方がいました。MVCの時代は終わった。MOVEを使い始めましょう。 - ふじこのプログラミング奮闘記 MVCは死んだ。MOVEするときがきた MVCはすばらしいアイデアだ。モデルを持ち、モデルは内部に少しの状態をもつ。ビューは内部に少しのUIをもつ。そして、コントローラは内部に少しの・・・ 何を持つ? 私は確かにこのことに気づいた最初の人物ではない。しかし示されたようなMVCの問題のために、あなたは最後には過剰なコードをコントローラに詰め込むことになる。なぜなら、他にどこに入れていいか

                                                                                MVCは死んだ。MOVEするときがきた - きしだのHatena
                                                                              • セキュリティ過敏症 - ぼくはまちちゃん!(Hatena)

                                                                                初心者はPHPで脆弱なウェブアプリをどんどん量産すべし ↑のブックマーク うん。増田くんはいつもいいこと書くね! ブックマークの方には 危険だとか迷惑だとか踏み台だとか色々かいてあるけれど(というか踏み台ってなんだろ?) そんなに大切な個人情報をたくさん扱ってるサイトなんてどれだけあるかな。 みんなそういうサービスつくってるの? なんかすごいね。 ぼくの使っている範囲だと、(提供側が気をつけていないと) 本当にまずいのは銀行と証券とカード会社のような、お金のからむサービスくらいだよ。 もちろん、他にメール内容だとか、購読しているフィードだとか、知られたくない個人情報なんてのは、人によってたくさんあるよね。 だけど、例えばぼくがメールサービス作りましたなんて言ったら誰か使う? それか無名の団体だったらどうかな。それで大切なメールやりとりしちゃうの? そう。そもそも、利用者もそれほどバカじゃな

                                                                                  セキュリティ過敏症 - ぼくはまちちゃん!(Hatena)
                                                                                • オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena

                                                                                  某所でオブジェクト指向についていろいろ書いたのでまとめておく。 問題意識としては初学者がなにかというと「オブジェクト指向できるようになりたい」のようなことを言うけどそこまでの優先順位でがんばるものではないんでは、というところです。 まず前提として、オブジェクト指向は1980-2000年くらいに流行って発達したものの、それ以降は時代にあわせた進歩はしていない20年以上前の技術ってのがあります。 そのころは今だとCPUのキャッシュにも満たないようなメモリをやりくりしてプログラムを書く必要があったので、オブジェクト指向はメモリ上のデータをコピーすることなくうまく使いまわせるようなプログラム技術になっています。 そしてオブジェクト指向にはそこから目だった更新はなく、タイトルに書いたように、カメラがやっとついたくらいのガラケーのような古い技術という感じがします。 オブジェクト指向について、アプリケー

                                                                                    オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena