フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
コンテンツ 第1章 基本的な用語 第2章 オブジェクト指向開発 第3章 設計の問題 第4章 オブジェクト指向設計の原則 第5章 単一責任の原則 第6章 Visitor パターン 第7章 LSP、DIP、ISP 第8章 パターン技術 第9章 ユースケース 第1章 基本的な用語 クラスとオブジェクトの違い 第2章 オブジェクト指向開発 オブジェクト指向開発 オブジェクト指向分析 機能外要求 User インタフェース Student クラスとTeacher クラス Student クラスのソースコード Teacher クラスのソースコード 演習2-1 UserLocator クラスのソースコード 演習2-2 演習2-2 の解答 Teacher.java UserLocator.class 第3章 設計の問題 演習3-1 演習3-1 の解答1(返却値を利用した方法) 演習3-1 の解答2(条件分岐
通勤時間の有効活用 3月に VPS + iPad の作業環境を整えました。 blog.kondoumh.com この時は数日の出張や帰省の荷物を軽くしたいというモチベーションでした。一応コード書けるけど、iPad 1台では作業が完結しないという結論でした。 最近、勤務地が変わり通勤時間が往復3時間を超えてしまいました。読書やゲームなどの消費活動だけだと間が持ちません。MacBook Pro を持ち歩いたりしてみたのですが、座れないことが多くほとんど使えません。そこで再び iPad Air を生産活動に活用すべく試行錯誤中です。iPad Pro ではなく手持ちの Air で頑張ってみるというテーマです。 物理キーボードは使わない blog.kondoumh.com Magic Keyboard と iPad の相性はとても良いのですが、膝上に置いて使えません*1。iPad Pro のキーボー
インデントにタブとスペースのどちらを使うのがいい? JavaScriptにセミコロンは付けるべき? JavaScript Standard Styleを使えばそんな論争にけりがつくかもしれません。 最近、注目を集めている@ferossのJavaScriptスタイルガイド、JavaScript Standard Styleを紹介します。チーム内での開発が円滑になり、プログラミングがより楽しくなります。 JavaScriptスタイルガイドのコーディング規約は、タブとスペースのどちらが良いかといった不毛な議論を無くし、コードに一貫性を持たせてくれます。JSLintやJSHint、ESLintといったLinterで使用できる多くのスタイルガイドのうちの1つです。 もしLinterが分からなければ、SitePointの記事『A Comparison of JavaScript Linting Too
『SHENZHEN I/O』でプレイヤーは、中国深センのエンジニアリング企業“深圳龙腾科技有限公司”の新人開発者として、マイクロコントローラーやメモリー、論理ゲート、LCDディスプレイなどの電子パーツを組み合わせ、アセンブリ言語でプログラムを書いて、ちょっとした電子機器を作るのだ。 これは世間一般にある「そういった設定のパズルゲーム」というわけではなく、本当に30ページ長のマニュアル(PDF)を読みこなしてデータシートやリファレンスガイドを把握し、実際にプログラムコードを書かなければいけないというハードコアな内容。 本当にアセンブリ言語でプログラムを書くゲームだった『TIS-100』や、エンジニア的な最適化センスが問われる『Infinifactory』や『Spacechem』といったタイトルをプレイしたことがある人なら、その作者の新作と聞けば納得だろう。 なお限定版として、専用バインダー付
私がリスペクトするエンジニアの一人であり、ITエンジニア界隈の三大野球バカの一人*1であるござ先輩が本を出版されました. gothedistance.hatenadiary.jp 大変ありがたい事に、献本を頂いたので久々に書評など書いてみようかなと思います. [書評]「独習Python入門」 どんな本なのか 私の感想も含めて. Pythonを元にしたプログラミングの入門本 一人で学ぶ(独習)するときにハマりがちなポイントや、ステップアップするときに必ず覚えたほうがいい事を言葉の緩急を駆使していい感じに解説している! 本を一冊やり切った(写経)した後も自宅の本棚に置いておきたい&必要に応じて再び読みたくなる本 私は読者層に当てはまらないのですが(汗)、初心者の気持ちになって思い出しながら読んで、 「ああ、最初にプログラミングを学ぶ本がこの本みたいなスタンスだと凄くいいな」 と素直に思いました
読んだことあるものについて、いくつか抜粋でおすすめしてみますね。 リーダブルコード 圧倒的大差で1位を獲得したのは、『リーダブルコード』。 良いコードを書くために必要な基本的な知識が詰まった良書ですね。 リブセンス社内でも、他のエンジニアのデスクや本棚などいろいろな場所で、この特徴的な青い背表紙を見かけます。 ランキングには入らなかったけれど『コードコンプリート』もよろしければどうぞ。 Team Geek 良いものを作るには良いチームであることが必要だ。 「だったらどうしたら良いの?」が書かれた本。 結局、決まりきった絶対的な方法はなく、問題解決のためにはお互いを尊敬して、諦めずにコミュニケーションを取り続ける必要があるんだと感じました。 たまに読むと大いに反省したくなること請け合いです。 ハッカーと画家 良いソフトウェアを設計、デザインするハッカーのマインドが散りばめられたエッセイ。 「
ありあ @aria_nico 某頭のとてもいい大学院卒の方がプログラム修正してくれたら、元々200行くらいコードが書いてあったはずの場所に何もなくなっていて、凡人には理解しきれない正規表現が一行だけ書いてあった。 #本当にあった怖いプログラム 2016-04-20 08:34:08
「Programming Language Influence Network」はプログラミング言語の相関図を表したサイトです。指定した言語がどの言語から影響を受けて作られたか、また他の言語にどう影響しているかの相関図が閲覧できます。 以下に使ってみた様子を載せておきます。まずProgramming Language Influence Networkへアクセスしましょう。 相関図から気になるプログラミング言語を探してもよいですし、キーワードで検索することもできます。また、オブジェクト指向のプログラミング言語のみ抽出したり、プログラミング言語のカテゴリごとに絞り込むことも可能。 興味のある言語を調べると類似した言語が見つかるので、新しい言語を学ぼうと思ったときに一度見てみるとよいかもしれません。ぜひエンジニアの方は一度覗いてみてはいかがでしょうか。 Programming Language
(訳注:2016/3/2、いただいた翻訳フィードバックをもとに記事を修正いたしました。) (訳注:著者のMattより、「本文中で明言はしていないが、この記事の内容はx86-64 Unix/Linux/POSIXでアプリケーションをプログラミングする場合にフォーカスしている。他のプログラミング領域では、対象とするシステムに応じた(例: 8-bitの組み込みシステム、10年前のコンパイラ、多くの異なるCPUアーキテクチャで動く必要のあるアプリケーション、Win/Linuxでのビルド互換性など)特有のアドバイスが必要」との補足を頂いております。) 以下の文章は2015年の始めに書いたドラフトで、今まで公開していませんでした。私のドラフト用フォルダの中で誰の目も引かなかったため、大部分が書いた時のままです。公開するにあたり、単純に2015年を2016年に変更しました。 必要な修正、改善、苦情があり
プログラマ向けノートアプリQuiverが素晴らしい(Mac用アプリ)Markdownをサポートしたメモアプリは数多くありますが、技術系のメモやスニペットを書き溜めるのに適したものはそれほど多くありません。 個人的な要件としては、 データフォーマットがオープンで好みのクラウドサービスで同期できることMarkdown(GFM)を扱えてプレビューできることコードの取り扱いが簡単なこと(できればシンタクスハイライトも)ファイルを意識しないで使えること(ファイル名を考えたりしなくて良い。オートセーブされる)ノートブック、タグなどでノートを整理・分類できることぐらいなのですが、すべてを満たしたアプリをなかなか見つけられず、Day OneやUlysses、Kobitoなどを併用して凌いでいましたが、最近、知ったQuiverというアプリがこれらの要件をすべて満たしており、これに一本化することに。 あまりに
iOS用のアプリは通常、開発アカウントを取得し、Macを使って開発します。 開発アカウントを取得するほどではないが、iOSデバイス上で何かやりたい処理がある、という人はいるでしょう。 あるいは、プログラム好きな人なら率先してiOSデバイス上でプログラミングをしたいと思うのではないでしょうか。 そうしたニーズに存分にこたえることができる、iOSデバイス上で動作する統合開発環境がPythonista 3です。 2016年9月21日に開催されたPyCon JP 2016で @equal_001 さんがPythonistaについて発表されていたのでご紹介。 Python支持者のことをPythonistaといいますが、アプリ名はそこから取ったんでしょうね。 正真正銘のPythonが内蔵されていて、ローカルで動きます。 [参考] Kazuhiro AbeさんはTwitterを使っています: 「インタプ
PHPの生みの親、ラスマス・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ
いつも「ママテナ」「Conobie(コノビー)」をご利用いただき、まことにありがとうございます。 この度ママテナの姉妹サイト「Conobie」は2025年3月31日(月)10時をもちまして、運営を終了することとなりました。 突然のお知らせとなりますことを、お詫び申し上げます。 ■サービス名:Conobie ■運営終了日時:2025年3月31日(月)10時 ■サイトクローズ日時:2025年4月7日(月)10時 ■各SNSアカウントの停止およびアカウント名の変更:2025年3月31日(月)10時以降随時 ※運営終了およびサイトクローズ日時は場合によって変更になることもございます ※一部SNSアカウントは「ママテナ」に名義変更し、継続運営いたします 運営終了に伴い、サイトクローズ日以降は記事や画像も閲覧できなくなりますのでご注意ください。 改めまして、これまで多くの皆様にご愛読いただきましたこと
こんにちは、アプリケーションエンジニアの id:pokutuna です。 「はてな教科書」は、はてなで Web 開発に携わるエンジニアのために作られた1週間で Web アプリケーション開発の基本を身につけるための教科書です。はてなサマーインターンシップや、入社時研修に利用されています。2012年から GitHub 上で公開しており、どなたでも読むことができます。 はてなでは継続的に教科書を更新していますが、特に毎年のインターンの講義内容をフィードバックしています。今回の更新では、新しくはじまったScalaとSwiftのコースで利用した教科書を追加しました。アプリケーションの学習や研修題材としてどうぞご利用ください。 Scala の教科書を追加しました 今年のインターンでは Mackerel の開発に取り組む 「クラウドサーバ管理システムコース」コースが開催されました。去年までのインターンで
みんなのウェディングの高井です。 クラスベースのオブジェクト指向プログラミング言語を利用している人であれば、クラスとは、ありふれていて普段から利用するものです。にもかかわらず、良いクラスをつくるというのは、なかなかに難しいことです。 先日、みんなのウェディングでアルバイトをしてくれている学生さんのコードレビューをしていたときにも、それを強く感じました。 実践的プラグマティックには「ソフトウェアの規模や文脈にあわせて、適切に抽象化していただきたい」という以上のことを言っても仕方がないところなのですが、それだけでは経験の浅いプログラマーにとって、まったく分からないという話になってしまいます。 というわけで、今回はクラス設計の原則についてのお話しです。 Bertrand Meyerのクラス設計の原則 Bertrand Meyerは『オブジェクト指向入門 第2版』の中で、クラス設計について章をひと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く