前編 (平衡二分探索木編) はこちら http://www.slideshare.net/iwiwi/2-12188757

最近ではReactやVueを使ったリッチでインターラクティブなUIがどんどん主流になってきていますし、2020年以降もこの流れは加速し続けるでしょう。 SPA(Single Page Application)やPWA(Progressive Web Application)の普及によって今までモバイルでしかできなかったことがwebでもどんどんできるようになってきています。 また、Firebaseを使うことでクラアントサイドだけの高速なサービス開発が可能になってきていて、今後ますますWebフロントエンドのニーズは増えるのは確実です。 (サーバーサイドが必要ないという主張がしたいのではありませんが) Webフロントエンドをどのように勉強するのか 初心者に立ちはだかる壁 しかし、何か作ってみようと思ってもなかなかほどよいアプリがありません。TODOぐらい簡単なものだと雰囲気を掴むのにはちょうどい
サーバルだよ! 競プロの精進について書くよ。 精進の仕方や、精進に対する考え方はいろいろあるから、あくまで私の意見だと思って読んでね。 ■3行でまとめて ・復習が大事。解けた問題も解けなかった問題も、解説やいろんな子の実装を見てみる ・典型を身につけるのは大事。ABCは解説ACでもいいので解く ・写経はできればしない。一回自分で書いてみてから他の子の実装をパクる ■モチベーションについて レートがついて他の子と競う以上、やっぱりレートが下がると面白くないよね……。 私も最近は下がってこそないけど全然上がらなくて面白くないよ……。 モチベーションが低いときに無理してコンテストに出ても成績は悪くなりがちだから、そういう気分のときはしばらくコンテストに出ないというのももちろんありだよ。 だけど、私には「コンテストに出て悔しい思いをして、解けなかった問題をちゃんと復習する」って方が合ってるから、で
ハッシュテーブル 7. ハッシュテーブル(Hash Table) メモリー効率を犠牲にしてでも(たいていのケースで)O(1)でデータにアクセスすることを可能にするこの方法は、連想配列の実装に最適で、Perlで多用されたことから今では連想配列の代名詞にすらなってしまった。 現在のLLでは、いずれも組み込みでこれをサポートしているし、CやC++のライブラリーも充実していることもあって、自ら実装する機会はあまりないと思われるが、その特性は知っておいた方がよい。 404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ハッシュテーブルは以下のような利点を持っています。 ハッシュ関数に偏りがなく、十分なサイズの配列を取れるなら、ほぼ一定時間で要素の挿入・削除・検索ができます。 ただし、以下のような欠点もあります。 ハッシュ関数の作り方や、配列サイズに大
このエントリでは、Yegor Bugayenkoによる記事、Getters/Setters. Evil. Period.を紹介する。 (Yegorから和訳と転載の許可は得た。) 以下はその全文の和訳だが、意訳超訳が混じっているので、もとのニュアンスを知りたければ元記事を読んでもいいし、読まなくてもいい。 2003年にAllen Holubが書いたWhy getter and setter methods are evilという有名な記事に端を発する古い議論がある。それは、getter/setterはアンチパターンで避けるべきものなのか、 もしくはオブジェクト指向プログラミングに必須なものなのかというもの。 この議論に少しだけ私の意見を加えたいと思う。 上記記事の要旨はこうだ。 getterやsetterはひどい慣習で、これらを使うやつらはゆるせん。誤解の無いようもう一度言うが、 私はget
屋号「jumbo」で開業しようと思いますので、よろしくお願いします — ジャンボ@レアジョブEM (@jumboOrNot) November 22, 2017 どうやら開業から2年たち→3年目に突入した。アプリエンジニアとしてだけでなく、デザイナー・インフラ・企画・・・色んなものを作ってきました。そんな折、こんなイベントに出ます!!! 「誰でもかんたん!」とか「余暇時間を使って効率的に!」という話は一切出てきません。泥臭くいろんなことを好きだからやってきた感じです。やってきたからわかる勘所・コツとそもそもの副業への考察について整理していこうと思います。 今までに受けたお仕事・関わった技術・【C向け】旅行AIアプリiOS開発・改善・グロース案件 iOS(MVC)/javascript/css/html ・【B向け】運送サービスiOS/Android開発・AR調査案件 iOS(MVC)/An
TL;DR 「機械学習をやるなら線形代数はやっとけ」的な話が出るけど具体的な話があまり見当たらない 研究でなく実務レベルで機械学習を扱う場合にどのような線形代数の知識が必要になるのか考えてみた 高校でやるベクトル・行列+αくらいあれば概念的には十分で、計算が苦じゃない基礎体力が重要では? 機械学習が流行ることで、機械学習に必要な数学的基礎にも話が及ぶことが多くなってきている。 特に、線形代数や微積に関しては基礎を押さえとけみたいなことを言う人が結構いる気がする。 中身のない話をしたい場合はまあそれだけでもいいのだけれど、具体的に何が必要になるのかを説明してくれてる人はあまりいない。少なくとも自分の観測範囲では。 レベル感が様々なので万人に通用する議論はできないのはしょうがないが、「自分としてはこれは必要だと思っている」みたいな意見は聞いてみたい。 自分の考えはどうだろう、ということで線形代
作成日:2006.03.30 修正日:2016.10.17 更新記録 (2006.03.30) 2006/3/10 と2006/3/11 の日記の内容を元に作成。 (2006.04.07) SPARC 32 ビットプロセッサのページテーブル構成を修正。 (2006.05.25) 3.2節ページテーブルエントリを追加。 (2012.05.29) PowerPC のセグメントサイズの誤りの修正と図の追加。 (2016.10.17) Intel64 の Process-Context Identifiers(PCIDs) と Protection Keys の説明を追加。また TLB エントリの無効化と ARM の情報も追加。タイポの修正。 1. はじめに 2. 仮想メモリの全体像とページング以外の機構 事前処理 事後処理 3. ページング 3.1 ページウォーク 3.2 ページテーブルエントリ
Advent of Code というのがある。 https://adventofcode.com/ 日本ではまだあまり 知っている人/やっている人 は多くないかもしれない。検索してみても、日本語の紹介記事はこれくらいしか見つからなかった。 Advent of Code の紹介 - Qiita 僕も、去年 元同僚の @ExAdamu に教えてもらうまでは存在すら知らなかった。 どういうものか、っていうのは上に貼った記事でも書かれている通りで、12/1 〜 12/25 まで 毎日1つずつ、プログラミングを使うパズル問題が出題される、というもの。 puzzle input の入力値が与えられ、それに対する回答を自分の書いたコードで計算し、出力値を submitして正解すれば星が貰える。 入力値とそれに対する正解はどうやらユーザごとに異なるものになっているようで、誰かに正解を訊く みたいなものは出
ラムダ式とStream APIで学ぶモダンJava ― 関数型を取り入れて変化するJava言語の現在 20年以上の歴史を持つJava言語ですが、近年は関数型を取り入れるなど大きく変化し、リリースサイクルも格段に短くなってますます進化しています。モダンなJavaプログラミングで必要となるラムダ式とStream APIについて、谷本心(cero_t)さんによる詳細な解説です。 1996年にJava 1.0が登場して、もう20年以上がたちました。この間、Javaにはさまざまな言語機能やAPIが追加され、変化し続けています。 これだけ長い歴史を持つプログラミング言語ですから、利用者が多かったり、フレームワークやライブラリが充実していたりする一方で、書籍やWebに掲載されている情報が少し古かったり、研修で学ぶJavaが最新の動向を踏まえていなかったりするなど、長い歴史を持つが故の問題もあります。 特
/// <summary>契約コントローラー</summary> public class ContractController { private ContractAmount _contractAmount; /// <summary>税込金額を計算する。</summary> /// <param name="amountExcludingTax">税別金額。</param> /// <param name="salesTaxRate">消費税率。</param> /// <returns>税込金額。</returns> public int CalculateAmountIncludingTax(int amountExcludingTax, decimal salesTaxRate) { return (int)(amountExcludingTax * (1.0m + sales
BackgroundIn this post I’m gonna discuss about scala cake pattern, its usage and some real world examples of cake pattern. One of the main usage of cake pattern is for dependency injection(there are other usages as well). As an alternative for cake pattern we can use Reader Monad for the dependency injection. I have discussed about using Reader Monad for dependency injection in another post. Follo
2011-04-23 Akka の作者として益々注目を集めている Jonas Bonér が 2008年に書いた “Real-World Scala: Dependency Injection (DI)” を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2008年10月6日 Jonas Bonér 著 2011年4月22日 eed3si9n 訳 さて、実戦での Scala シリーズ第二弾の今回は、Scala を用いた Depenency Injection (DI) の実装をみていきたい。Scala は、備わっている言語機構だけを用いても何通りかの DI を実現できる非常に豊かでディープな言語だが、必要に応じて既存の Java DI フレームワークを使うこともできる。 Triental では、一つの戦略に落ち着くまで三つの異なる方法を試した
Dependency Injectionとはコンポーネント間の依存関係をプログラムのソースコードから排除し、外部の設定ファイルなどで注入できるようにするソフトウェアパターンである ってwikipedia先生が言ってました。 Scalaにおける最適なDependency Injectionの方法を考察する 〜なぜドワンゴアカウントシステムの生産性は高いのか〜 - Qiita を読んでいろいろ考えたので、なんで今さらって感じのことを書きます。 ScalaでDIというとDIコンテナとかCake PatternとかReader Monadとかって話になっちゃうんですが、これらはいかにかっこよくDIするかの話であって、別にこういった道具やパターンを使わなくてもDIは可能という話です。 Constructor Injection 簡単な例で考えます。今ここにUserRepositoryにべったり依存し
これまで未婚の父として娘のヤギさくらちゃんを育ててきましたが、2日後に命を奪う決断をしました。 (12/3(火) 14:22 さくらちゃんは旅立ちました) ある日、突然目が見えなくなり、次の日には立つことができなくなっていました。 自由にならない体にもどかしさを感じ、目が見えない恐怖にのたうち回りながら 体をぶつけ、顔をぶつけ、歯も折れてぼろぼろになってしまいました。 信頼できる獣医さんの愛にあふれた治療の結果、危篤状態は免れたものの 根本的な回復にはいたらず、2週間の介護を経て安楽死の判断をしました。 1月生まれで間もなく3歳でしたが、その日を迎えることはありません。 人間で言えば18歳くらいでしょうか。 人間の都合で親や兄弟と引き離し、最後は自分の意志とは関係ない第三者によって命を奪われる。 死後は一面のきれいなお花畑で、仲間たちとお花を片っ端からむしゃむしゃ根こそぎ貪り食って過ごして
Austin Z. Henleyのブログより。 更新12/14: この投稿は、Hacker NewsとRedditに関する多くの議論に拍車をかけました。 提案されたプロジェクトのいくつかを収集し、この投稿の最後にリストに入れました。 私はよくサイドプロジェクトを始めたいが、何を作るべきか分からない多くの学生やプロの開発者と話します。以下は、私に多くを教えてくれたいくつかのソフトウェアプロジェクトです。実際、それらは何度も作ることができ、毎回新しいことを学ぶことができるので素晴らしいです。従って、何を作るのか分からない場合、または新しいプログラミング言語またはフレームワークを学びたい場合は、私は次のいずれかから始めます。 テキストエディタ 2Dゲーム - スペースインベーダー コンパイラ - Tiny BASIC ミニ・オペレーティング・システム スプレッドシート (難しい!) ビデオゲーム
Javaのジェネリクスでしばしば話題に上がる「イレイジャ」について整理しておきたい。 イレイジャについては僕もいろいろと誤解しており、過去に誤った発言をしている。本エントリはその贖罪として書かれたものである。 「イレイジャ」という方式についてはネガティブな誤解が広まっていると思う。「イレイジャ方式」が問題の根ではない事象について、それを「イレイジャのせい」であると誤って理解することはエンジニアとしてはマイナスである。 しばしばイレイジャのせいとされる事象にnew T()できないという論点があるが、これはJavaのジェネリクスがC#でいうnew制約(型変数の制約としてデフォルトコンストラクタを持つことを要求する機能)を持たないことに起因する問題である。 そのため、この点についてJavaの言語仕様に改善を求めるのであれば、new制約を導入せよという現実的な要求とするべきである。 イレイジャ方式
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く