タグ

ブックマーク / gihyo.jp (44)

  • プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで

    2022年4月22日紙版発売 2022年4月19日電子版発売 鈴木僚太 著 B5変形判/424ページ 定価3,278円(体2,980円+税10%) ISBN 978-4-297-12747-3 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 TypeScriptは,JavaScriptに静的型付けの機能を加えたオープンソースのプログラミング言語です。書では,根幹となるJavaScriptの仕様・機能とともに,TypeScript独自の仕様・機能を解説します。TypeScriptの基礎知識はこれ一冊だけで学べます。 静的型付き言語は世にいくつもありますが,Type

    プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで
  • エンジニアのためのリスクマネジメント入門

    2020年2月27日紙版発売 2020年2月27日電子版発売 田邉一盛 著 A5判/192ページ 定価2,508円(体2,280円+税10%) ISBN 978-4-297-11193-9 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 伝統的なリスクマネジメントは,すでに体系化された分野と言えます。しかし,FinTechやIoTの普及により多様化する複雑な事業には,これまで大企業で培われた画一的なリスクマネジメントでは限界があります。このような状況の中,ITベンチャーなど企業の規模を問わず,多くの企業でリスクマネジメント資格や知識を持つエンジニアの採用ニーズが高

    エンジニアのためのリスクマネジメント入門
  • はじめにオートメーションありき ―創業者が語るVagrant、Packerを生んだ"HashiCorpのプリンシプル" | gihyo.jp

    はじめにオートメーションありき ―創業者が語るVagrant、Packerを生んだ"HashiCorpのプリンシプル" 2012年、ワシントン大学で出会ったふたりの若者 ―ミッチェル・ハシモト(Mitchell Hashimoto)とアーモン・ダドガー(Armon Dadgar)がサンフランシスコで立ち上げた小さなスタートアップ「HashiCorp」は現在、Disney、Huawei、eBayといった大企業を顧客に抱える、シリコンバレーでも有数の注目企業へと成長しました。HashiCorpの名前を聞いたことがなくても、「⁠Vagrant」や「Packer」「⁠Terraform」といったオープンソースのDevOps関連ツールを使ったことがある開発者/運用担当者は多いのではないでしょうか。データセンターやクラウドが多様化し、オンプレミスも含めて複数の環境をまたいだアプリケーション開発/運用が

    はじめにオートメーションありき ―創業者が語るVagrant、Packerを生んだ"HashiCorpのプリンシプル" | gihyo.jp
    f-suger
    f-suger 2017/09/29
  • 第6回 Vue.jsの高度なアプリケーション開発 | gihyo.jp

    はじめに これまでの連載で、Vue.jsの基礎文法やコンポーネントを学習し、Vue Routerを使ってシングルページアプリケーションの基的な実装を行いました。連載最終回である今回は、より現場を意識した実践的なアプリケーションの開発について紹介します。 これまでの連載ではVue.jsの気軽に使えるメリットや質的な機能を理解してもらうために、ES5のJavaScriptを使い、各種のコマンドラインツールなしで解説してきました。より実践向きな高度なアプリケーション開発になるため、ES2015以降のJavaScriptを使用し、エディタ、コマンドラインや開発を補助するライブラリなどの様々なツールを活用しながら学習していきます。 vue-cliによるアプリケーション開発 前準備 開発にnpm(Node.js)を利用します。Node.jsは日語公式サイトを参考にインストールしてください。npm

    第6回 Vue.jsの高度なアプリケーション開発 | gihyo.jp
    f-suger
    f-suger 2016/12/28
  • WEB+DB PRESS Vol.92

    2016年4月23日紙版発売 2016年4月23日電子版発売 B5判/168ページ 定価1,628円(体1,480円+税10%) ISBN 978-4-7741-8054-0 ただいま弊社在庫はございません。 Amazon 楽天ブックス ヨドバシ.com Fujisan(定期購読のみ) 電子版 Gihyo Digital Publishing honto 書のサポートページサンプルファイルのダウンロードや正誤表など 特集1 Web開発新人研修 手を動かして学ぶ開発の全体像 Web開発を行うのに必要になる知識は膨大です。サーバサイド,フロントエンド,インフラ,そしてモバイルも登場し,それぞれの分野ではどのようなことを行うのか,自分が何を行うのかわからず不安に思っている方も多いと思います。そのような方のために,特集ではWeb開発の世界を旅するための地図をプレゼントします。それぞれの分野で

    WEB+DB PRESS Vol.92
  • Track.4 マップ、3Dオブジェクト、ダンジョン……なんでも自動生成してみよう ~「WorldComposer」「Skyshop」「Random Dungeon Generator」編 | gihyo.jp

    Unity仮面が教える! ラクしてゲームを作るためのAssetStore超活用術 Track.4 マップ、3Dオブジェクト、ダンジョン……なんでも自動生成してみよう ~「WorldComposer」「Skyshop」「Random Dungeon Generator」編 仮面:ダァス!Unity仮面だ! 秋山:秋山でーす。年末ですねー。今年一年お疲れ様でした! 仮面:おう、そうだな。今年はイロイロと戦ってきたぞ! 秋山:そういえば、Unity仮面さんって今年デビューなんですよね 仮面:言われてみるとそうだな。だいぶ長いこと戦ってきたと思うが 秋山:……。さっきから戦っている戦っているってどこと戦ってるんですか? 仮面:今は言えん…… ある巨大組織だ…… 秋山:(この厨二病が……) 仮面:お前、今バカにした目で見たな? 秋山:いや、してませんよ。じゃあ早速題に行きましょうかー 仮面:クッ…

    Track.4 マップ、3Dオブジェクト、ダンジョン……なんでも自動生成してみよう ~「WorldComposer」「Skyshop」「Random Dungeon Generator」編 | gihyo.jp
  • 第9回 MySQL Clusterによるスケールアウト構成 | gihyo.jp

    第9回はMySQL Clusterを用いたスケールアウト構成に関して、アーキテクチャと特徴的なSQLとNoSQLのハイブリッドAPIについて解説します。 MySQL Clusterとは MySQL Clusterはシェアードナッシング型(共有ディスクや共有ストレージ不使用)のアクティブ・アクティブ型データベースクラスタです。MySQL Cluster内の全てのコンポーネントが多重化され、単一障害点(SPOF:Single Point Of Failure)がなく、データを管理するノードに障害が発生した場合はそのノードを切り離すだけで処理を継続できるため高い可用性を持っています。 システム拡張性の観点からは、MySQL Clusterのノードを追加することで処理負荷の分散と格納できるデータ容量の拡張ができる、スケールアウト型の構成となります。特に重要なのは、参照処理性能の向上だけではなく、M

    第9回 MySQL Clusterによるスケールアウト構成 | gihyo.jp
    f-suger
    f-suger 2015/08/12
  • 第10回 JWT(JSON Web Token)に対応したMilkcocoaの認証機能を使ってみよう | gihyo.jp

    はじめに 2014年8月からベータ版として公開されていたMilkcococaがこの度2015年5月8日から正式バージョンアップしました。それに伴い前バージョンからの変更点がいくつかあるのですが、今回はその中でも認証機能に絞って紹介したいと思います。 今回のゴール Milkcocoaの認証機能を使って、サイトにユーザ登録/ログイン機能を実装してみます。応用的な内容として、セキュリティルールを使ってユーザ毎に権限を変える実装についても触れますので、余裕のある方はチャレンジしていただきたいです。 ちなみに、まだMilkcocoaを触ったことが無い人はチュートリアルでチャットを作ってみることをお勧めします。ものすごく簡単にチャットが作れる感動を体験しましょう。 図1 10 minutes Tutorial 新しくなったMilkcocoaの認証機能でログインしてみよう 新バージョンMilkcocoa

    第10回 JWT(JSON Web Token)に対応したMilkcocoaの認証機能を使ってみよう | gihyo.jp
    f-suger
    f-suger 2015/05/17
  • 第1回 BaaSとはなにか? | gihyo.jp

    BaaSとは、バックエンド機能を提供するサービスです。近年BaaSの市場が拡大しており、様々なBaaSが登場しました。特集はBaaSを紹介し、Milkcocoaを使用して、BaaSを利用したアプリケーション開発について紹介いたします。 第1回では、BaaSに関する一般的な事項を紹介し、最後に簡単にですがMilkcocoaについて紹介します。 BaaSとはなにか? BaaSの基的な機能について まず、BaaSについて提供されている基的な機能について紹介します。 バックエンドとは まず、BaaSにおけるバックエンドとは何か? についてですが、これはWebアプリケーションのサーバサイドのことです。BaaSはこのサーバ機能をクラウド上で実現し、BaaSの利用者に提供します。利用者はバックエンドを開発せずに、Webアプリケーションを構築できるというわけです。 バックエンドの自動生成、運用、削除

    第1回 BaaSとはなにか? | gihyo.jp
    f-suger
    f-suger 2015/03/05
  • 第4回 Webアプリとスマホアプリの同期 | gihyo.jp

    テーブル名を文字列で格納するなどスマートでない設計ですが、DUPLICATE以外の動作はシンプルです。 テーブル名で示されたテーブルを、プライマリキー値で検索し、そのデータに基づいてスマホ側で実行されるSQL文を生成しています。 図4 更新情報テーブルのレコードからスマホ用SQL文を生成 なお、DELETEとRESTOREは特別な更新種別です。DELETEは鉄道事業者・路線・駅の廃止または長期休止を表し、RESTOREはいったんDELETEされた鉄道事業者・路線・駅の長期休止からの復活を表しています。しかしこれらはいずれも、UPDATEで代替可能です。両者はともに、対象テーブルのenabledカラムが変更された、という意味であり、他のカラムの更新と等価だからです。 ただし、駅の休止や復活は、ユーザデータの無効・有効に直結する重要な項目です。これは、このupdatesテーブルのメンテナーにと

    第4回 Webアプリとスマホアプリの同期 | gihyo.jp
    f-suger
    f-suger 2013/09/02
  • 「NO」と言えるプロダクト開発 | gihyo.jp

    最近サンフランシスコのスタートアップでもよく名前を聞くようになった次世代CRM(Customer Relationship Management)プラットフォームを作っているIntercomのブログから、プロダクト開発に関する記事を紹介します。 もしあなたがプロダクト開発をしているなら、"No(それはやらない)"と言えなくてはいけない。"Maybe(やるかも)"や"Later(あとでね)"ではない。"No(それはやらない)"だけだ。すばらしい製品を作るというのは、近視眼的には役に立つが質とは関係のない機能の開発ではない。よく考えられた選択肢を持つ一貫性のある製品を提供することだ。 この後“⁠Yes(やろう)⁠”と言いたくなる12のシチュエーションが並んでいます。いくつか抜き出してみます。 「でもデータがいいって言ってるし」……このアプローチは選択的な分析の結果。プロダクトは非常に複雑なシ

    「NO」と言えるプロダクト開発 | gihyo.jp
    f-suger
    f-suger 2013/08/30
  • ソフトウェア開発に「ちょっと変えるだけ」などない | gihyo.jp

    「SMSを使う場面があるからレビューの長さを140文字以内に制限したいんだ。ちょっと変えるだけだよね?⁠」⁠、ソフトウェア開発の現場でこんな要望を受けることはよくあります。 カスタマーサポート向けのSaaS(Software as a Service)を提供するIntercomのブログにて、「⁠高品質のソフトウェアを提供しよう思うのなら、ちょっと変えるだけなんてことはありえない」という主張とともに機能の全体像をしっかり検討し、その価値と見積りのバランスを熟考することの重要性が説かれていました。 冒頭のような場合、経験の浅いプログラマは熟慮することなくif文を追加して数分で対応してしまうかもしれませんが、ソフトウェアやサービスの質を高めることを目指すのであれば、考えることは山ほどあります。 レビューが140文字を超えたらどうなる? エラーはどこにどんな文言で表示する? 文字数制限の理由をユー

    ソフトウェア開発に「ちょっと変えるだけ」などない | gihyo.jp
    f-suger
    f-suger 2013/08/28
  • プロダクトの大々的なローンチはやめよう | gihyo.jp

    Origamiという家族向けSNSを運営するVibhu Norby氏が、その前身であるEverymeというアプリを大々的にローンチさせた際の苦い経験をもとに“⁠Don't Launch Your Product⁠”というブログ記事に書いていました。 Everymeは2012年4月10日に公開されたiPhone向けアプリで、チームは3週間前からカウントダウンページを用意したり、TechCrunchなどのテックサイト向けインタビューを準備したりとローンチに向けて万全の体制が作られていました。 計画では、まず公開後に2万5,000~5万件のダウンロードを集めてApp StoreのSNSカテゴリでトップになり、それをベースに自然流入によるダウンロードを増やしていき、翌月にはAndroidアプリとWeb版も公開、うまくいけばMark Zuckerbergからディナーの誘いがきて10億ドルの小切手を手

    プロダクトの大々的なローンチはやめよう | gihyo.jp
    f-suger
    f-suger 2013/08/27
  • 第1回 大規模データではRDBMSのどこがボトルネックになるのか? | gihyo.jp

    RDBMSはオワコン? 「右を向いても左を向いても“⁠ビッグデータ⁠”というキーワードが闊歩する時代に、いまさらRDBMSの話題?」 連載のタイトルを見てそう思われたかもしれません。 「ディスクベースのRDBMSはオワコン、これからは○○(お好きなアーキテクチャを入れてください)の時代だ!」 とおっしゃる方もいるかと思います。 しかし、むしろ多くの企業がビッグデータに注目しているおかげで、RDBMS側でも大規模データを取り扱うニーズが増えています。 大規模データを取り扱う時にボトルネックとなる5つのポイント 数百ギガバイトといったレベルのRDBMSであれば、現場のエンジニアの方にとってはあたりまえの世界でしょう。しかし、テラバイトを大きく超えたデータを扱う場合には、ボトルネックの傾向が変化するのはご存じでしょうか。 次の図は、RDBMSにまつわるボトルネックを示したものです。 図1 大規

    第1回 大規模データではRDBMSのどこがボトルネックになるのか? | gihyo.jp
  • 第16回 生産性を上げるソースコードの書き方 | gihyo.jp

    ソフトウェア開発の難しさ ソフトウェアの開発プロジェクトに少しでも関わった人は誰でも知っていると思うが、ソフトウェア作りで最も難しいのは「スケジュール通りにソフトウェアを完成させること」である。 バグがなかなか修正できず泥沼にはまってしまったり、変更され続ける仕様のために当初立てたスケジュール表がまったく役に立たなくなってしまったり、スパゲッティコードに頭を抱えたりということはよくある。出口の見えない状況でソフトウェアエンジニアが過酷な労働を強いられる状況を「デスマーチ」(⁠death march)と呼ぶが、そんな言葉が存在すること自体が、ソフトウェア作りの難しさを表している。 ソフトウェアの開発は「生産活動」ではあるのだが、建物を建てる、料理を作る、野菜を育てる、ハードウェアを組み立てるなどの生産活動とは大きく違うのだ。 建物の場合で言えば、明確に定義された「設計図」がある。そして、その

    第16回 生産性を上げるソースコードの書き方 | gihyo.jp
    f-suger
    f-suger 2012/11/22
  • 第4回 JavaScript読み込み位置による起動時間パフォーマンス差を計測する | gihyo.jp

    WebアプリケーションではJavaScriptの読み込み位置をHTMLの最後に行うことで、ページが表示されるまでの体感速度を向上させる手法があります(プログレッシブ・レンダリング⁠)⁠。PhoneGapアプリケーションでも<script>の読み込み位置によってアプリケーションの起動速度に影響が出てくるのでしょうか。いくつかパターンを用意して検証してみます。 JavaScript読み込み位置における起動時間パフォーマンス差 PhoneGapに付属しているターミナル/コマンドプロンプト用のcreateコマンドで作成したプロジェクトでは、Jasmineによるテスト用のコードが付属しています。また、サンプルアプリケーションではJavaScriptの読み込み位置が<head>要素内の末尾から、<body>要素内の末尾に移動しました。 外部JavaScriptファイルの読み込みをHTMLの最後に行うこ

    第4回 JavaScript読み込み位置による起動時間パフォーマンス差を計測する | gihyo.jp
  • 第2回 エミュレータ/実機なしで動作確認─Ripple Emulatorを使ったPhoneGapアプリ開発 | gihyo.jp

    通常PhoneGapを使ったアプリ開発では、iOSシミュレータやAndroidエミュレータ、実機を使った動作確認をすることになります。各エミュレータの起動や実機へのインストールは、それなりの時間が発生します。今回は、機能実装・修正→確認のサイクルを効率良く回すためのモバイルエミュレータ「Ripple Emulator」をご紹介します。 Ripple Emulatorとは Ripple Emulatorは、Google Chromeベースのモバイルエミュレータです。各モバイルの画面サイズや、GPS、コンパス、モーションセンサを再現し、モバイルアプリの動作テストを行うことができます。 通常PhoneGapアプリを開発する場合、devicereadyイベントが発火した後でネイティブの機能を呼び出すことになります。このdevicereadyイベントはPhoneGap(Cordova)特有のイベント

    第2回 エミュレータ/実機なしで動作確認─Ripple Emulatorを使ったPhoneGapアプリ開発 | gihyo.jp
  • 第7回 Herokuをもっと活用しよう! | gihyo.jp

    はじめに 前回は、FacebookにAPIを通して投稿する方法を紹介しました。FacebookのAPIの呼び出し方や権限についてを理解できたと思います。今回は、Herokuを利用する上でよく利用される便利な機能を紹介します。今回紹介する機能は、すべて無料で提供されています。 ステージング環境 一般的にサービスを運営するときは、番環境と同時にステージング環境を用意するのではないでしょうか? Herokuでは、基機能を無料で利用できることもありステージング環境を低コストで用意できます。 ステージング環境を用意するには、以下の作業が必要です。 Herokuにアプリケーションを追加する $ heroku create manga-dojo-staging Herokuのアプリケーションのレポジトリをローカルのレポジトリにリモートとして追加する$ git remote add staging g

    第7回 Herokuをもっと活用しよう! | gihyo.jp
    f-suger
    f-suger 2012/10/04
  • 第4回 File APIを使ったiOS/Androidアプリケーション作成[その1] | gihyo.jp

    前回は、weinreを使ったアプリケーションのデバッグについて紹介しました。今回から、File APIを用いたファイル操作について紹介していきたいと思います。その前に、iOS/Androidのアプリケーション構造や、File APIのオブジェクトについてチェックしておきましょう。 Cordova File APIとは Cordova File APIは、ファイルやディレクトリを操作するためのAPIです。W3CのFile APIに準拠しています。 ファイルの移動や削除を行う処理を実装したい場合、このFile APIを利用します。File APIを紹介する前に、iOSとAndoridのアプリケーション構造について簡単に整理しておきましょう。 iOSアプリケーションの構造について 各アプリケーションには、そのアプリケーション専用のサンドボックスと呼ばれるスペースが与えられます。ファイルの操作が行

    第4回 File APIを使ったiOS/Androidアプリケーション作成[その1] | gihyo.jp
  • 第3回 PhoneGapを支えるAPIたち~jQuery Mobileでメモ帳アプリ | gihyo.jp

    前回はHello, Worldアプリケーションの作成とビルド、PhoneGap:Buildの使い方を紹介しました。今回はPhoneGapを支える各種APIの紹介と、jQuery Mobileを用いたメモ帳アプリを実際に作成してみるところまでを紹介していきたいと思います。 PhoneGap APIの紹介 それではPhoneGap APIといくつかのメソッド・オブジェクトをチェックしてみましょう。 Accelerometer(モーションセンサ) デバイスのモーションセンサにアクセスし、端末がどの方向に動いたかの情報を取得します。対応しているおもなプラットフォームはAndroidBlackBerry WebWorks(OS 5.0以上⁠)⁠、iOSの3種です。 accelerometer.getCurrentAcceleration X/Y/Z軸の傾きとタイムスタンプを取得します accele

    第3回 PhoneGapを支えるAPIたち~jQuery Mobileでメモ帳アプリ | gihyo.jp
    f-suger
    f-suger 2012/08/10