翔泳社が主催する『Security Online Day 2016』・『Developers Summit 2016 FUKUOKA』の開催を記念し、電子書籍セールを実施します。 半期に1度のエンジニア応援祭ですので、ぜひお見逃しなく!
パラレルプログラミングとは、要件定義や設計中にプログラミングを並列に(パラレルに)実施するという手法です。この手法は、近年自分がチームリーダーを務める全てのプロジェクトで採用している手法です。今回は「パラレルプログラミング」を導入するメリットについて考えていきます。 これは、一般的にシステム開発では最も行なってはいけないとされている方法の1つです。通常は要件定義で何を作るかを明確化し、そして設計でどのように作るかを決めてから実装に入ります。アジャイルではイテレーション開発などで開発期間を短く何度も繰り返す進め方をすることが多いと思いますが、それでも要件定義で何を作るのかを明確化し、設計でどのようにつくるかを決定してから進めることが多いはずです。 パラレルプログラミングでは要件定義すら決まらないうちに作り出すというのですから、どういうこと?と疑問を持たれる方も多いでしょう。 上流工程での不具
TypeScriptは、JavaScriptを生成するためのいわゆるAltJSと呼ばれる言語の1つで、マイクロソフトがオープンソースとして開発しています。WebアプリケーションのフレームワークAngular 2はTypeScriptで開発されていることが知られています。 TypeScriptは、JavaScriptを大規模なアプリケーション開発にも対応できるようにしたもの。コードを静的解析することでバグを発見しやすいような変数の型付けなどの構文を備えています。 TypeScript 2.0の主な新機能として、JavaScriptでバグの発生要因になりやすかったNull値やUndefined値を変数の値として持てないようにする「Non-nullable Types」機能を搭載。 また、Union型(共用体)ではF#やSwift、Rustのように変数にタグ付ができるタグ付共用体などをサポート。
APIを一つひとつ探すのが大変……。こんなAPIを使いたいけど、どうやって探せばいいのか分からない。そんなあなたにオススメしたいのがAPIのインデックスサービスです。 膨大なAPIが登録されたいわばAPIのデータベースのようなもので、きっと目的のAPIを見つけることができるはず。 そんなインデックスサービスを国内外から8つまとめてみましたので、是非ご活用ください! APIとは API(アプリケーションプログラムインターフェイス)とは、プログラムのパーツのようなもので、APIを利用することで新たに作らずとも、同様の機能を組み込むことが可能。最近では、サービスの普及目的や課金ビジネスとしてWebサービスを提供する企業がAPIの公開を行っています。 そのため、開発者は公開されているAPIを連携することでWebサービスの開発がより効率的かつ拡張性を高められるとして積極的に利用するケースが増えていま
インデントにタブとスペースのどちらを使うのがいい? JavaScriptにセミコロンは付けるべき? JavaScript Standard Styleを使えばそんな論争にけりがつくかもしれません。 最近、注目を集めている@ferossのJavaScriptスタイルガイド、JavaScript Standard Styleを紹介します。チーム内での開発が円滑になり、プログラミングがより楽しくなります。 JavaScriptスタイルガイドのコーディング規約は、タブとスペースのどちらが良いかといった不毛な議論を無くし、コードに一貫性を持たせてくれます。JSLintやJSHint、ESLintといったLinterで使用できる多くのスタイルガイドのうちの1つです。 もしLinterが分からなければ、SitePointの記事『A Comparison of JavaScript Linting Too
追記(2019/04/16): 2017年半ばにここで触れているプロジェクトはTSに移行しました。今となってはTS+Reactの組み合わせは全く問題がなく、むしろ非常に相性のよい組み合わせであるとすらいえます。 TypeScript化の調査 2016年9月現在(React v15.3.1, TypeScript 2.0-rc)の話です。 いま開発しているウェブアプリのフロントエンドをTypeScript化しようと思ってちょっと調べてみたんですが、今やるのはいくらTypeScript推進派でもちょっと厳しいなと。 TypeScriptでimportできるライブラリは、TypeScriptのコード(.ts)またはdts: TypeScript definition files (.d.ts) のみ Reactは素のJS + 一部FlowType なのでdtsの公式提供は期待できない Defin
nippo.wikihub.io r7kamura Commented on 2016-09-01 何も考えずにReact, Redux使うような気はするのだけど、Reduxを使わない場合は各位どうやってState管理してるんでしょうか? 親コンポーネントがstateとメンバ関数を持っており、子コンポーネントはpropsかcontext経由でその値を参照しながら描画とイベントバインディングを行っています。 日報で疑問を書いたら、id:r7kamuraさんが答えてくれた。 immutable.Recordに状態とロジック押し込んでそいつをContainer Componentのthis.stateに入れておく設計とか。 — 下京区 (@non_117) 2016年9月1日 facebookが想定してるのはこの用途かな。 DOMサブツリー間で状態の共有が発生するか、設計段階で予見するの難しそう
プログラミングをしていて関数や変数名をつけるときに、毎度のことのように考えるのが手間、とはいえ、適当なネーミングでも違和感あるし……。なにより他のエンジニアが見たときに「なんだこりゃ、分かりにくい。」というのは避けたいところ。 そういったプログラミングにおけるネーミング問題を解消できるツールや情報をまとめてみたので、是非、参考にしてみてください! 1. codic codic ネーミングと言えば、一度は使ってほしいド定番の「codic」。簡単に言うとネーミング辞典サービスで、日本語の動詞で終わるように文章を入力するとプログラミングでよく使われるようなネーミングを提案してくれます。さらに単語のニュアンスも表示してくれるので、和英辞書のような使い勝手というのが分かりやすいでしょう。さらに、ユーザー登録をすれば、辞書として単語を追加していくといった活用も可能。考えずとも最適なネーミングが生成でき
GitHubでは、サーバーを自前で準備しなくてもWebページを公開できる「GitHub Pages」という機能があります。これまでは、gh-pagesという別ブランチを作成して、そこにソースコードをプッシュする必要がありました。しかし、本日(2016/08/18)実装された新機能により、masterブランチのみでWebページを公開できるようになりました。 本エントリーでは、具体的な設定手順を紹介します。 手順 masterブランチにて、「docs」フォルダーを作成します。このフォルダーに公開したいWebページのソースコードを入れます。 masterブランチをプッシュします。 GitHubのリポジトリページ上で、[Setting]→[Pages]に移動します。 [Source]の箇所から、「Branch: main」、「/docs」フォルダーを指定します。 [Save]を押すと、下図の赤枠部
JSの学習コスト高いかという問題、言語のコア自体はシンプルだが細かい == とかのハマりどころが多いのと、言語機能自体がシンプルすぎてエコシステムを理解してモジュールを扱うところに辿り着くのが大変、という問題に分類できる— 現場の声 (@mizchi) 2016年8月15日 jQueryの学習コストは、DOMはツリーなんだよという概念の獲得と DOM API の抽象サブセットを覚えるというだけで、2016年現在は jQueryによるUI設計論(ここが高まるとBackboneとかその辺)みたいなものに手を出す必要がないなら、そんなでもないんだろうな— 現場の声 (@mizchi) 2016年8月15日 Reactが難しいと言われる場合、仮想DOMという概念がやや難しい、というか非常にCS的なアルゴリズムとデータ構造が背景にあって、その上で単純なトップレベルAPIとアルゴリズムを理解してないと
ボックス要素の横並びをCSSで行う場合は、CSSの「Flexboxフレックスボックス」 が便利です。Flexboxを使用することで、簡潔なコードで豊富なボックスのレイアウトが可能です。本記事ではウェブページの作成を通してFlexboxの特徴と使い方について解説します。 この記事で学べること Flexboxの使い方 スマートフォンへのレスポンシブ対応 Flexboxはボックスレイアウト用のCSS Flexboxとは、ボックスのレイアウト方法を定めるCSSの機能です。ボックスとは、HTML上の各要素が生成する領域のことです。下図のHTMLコードのウェブページでは、div要素・h1要素・p要素がそれぞれボックスを生成します。 Flexboxでは、ボックスを横ならびにしたり、右寄せ・中央寄せ・左寄せをしたりと、さまざまなレイアウトを少量のコードで実現できます。 サンプルの紹介 今回はレスポンシブな
MVCフレームワークでWebアプリケーションを作成するとき、肥大化していくモデルをどのように分割すれば良いのか?悩みます。 いつもは適当にやっているのですが、だんだんファイル数、クラス数、メソッド数が増えてくると、把握しづらくなって、辛くなってきますw 他の人のやり方を参考にして、モデルを適切に分割する方法を検討してみました。 ●Webアプリとは? Webアプリの特徴は、インターネットをはさんで、 (1) クライアント側 (2) サーバー側 に分かれていることです。 サーバー側は、 (a) DB(データを置いておく場所。通常はリレーショナルデータベース) (b) DBのラッパー(CRUDを担当するアプリケーション層) に分かれています。 で、このラッパー部分(b)に、MVCフレームワークを使っています。 (via もみじ饅頭(こしあん):もみじ饅頭のやまだ屋) MVCフレームワークは、 (
はじめまして、技術基盤部の相原(kaihar4)です! 今回は、アプリケーションのクラウドサービスへの移行の一環で、 Amazon S3から取得した画像URLを含むファイルを元に、そのURLの外部画像を取得して返す機能 をmrubyで書き直してAWSに移行した話をしていきたいと思います。 この機能は元々モノリシックなアプリケーションの一機能として動いていたもので、これを切り出してAWSに移行するというのが今回私に与えられたミッションでした。 このアプリケーションは歴史が長く、その間ほとんどメンテナンスされていませんでした。 ディストリビューションは古くPHPのバージョンも4系、したがってそのまま持っていくという選択肢はなく、AWS上に新規にインスタンスを構築することになります。 弊社にはAPI部分をPHPからRubyに移行する方針があるということもあり、Amazon Linux上にRuby
文字列リテラル HTMLを含む文字列を生成する際に便利なため、囲む時はシングルクォート'hoge'がよい セミコロン 末尾にセミコロンをつけなくても解釈してくれるが、バグを生む可能性があるのでセミコロンはつけるように習慣化する ES6のclass記法のメソッド末尾にはセミコロン不要 同値比較 基本的に===をつかう。==だと寛容過ぎる解釈のため、バグを生むことがある。 短絡評価 hogeFuncの引数にtrue相当の値が入ってきた場合、 ||の右側は読まれない。 hogeFuncの引数にfalse相当の値が入ってきた場合、 (false, null, undefined, NaN, "", 0) ||の右側を読みにいく。
Le document présente un extrait de code JavaScript impliquant des requêtes HTTP et la gestion des erreurs. Il montre comment faire une requête à une URL et comment gérer les erreurs potentielles via des blocs try/catch. L'exemple inclut également un middleware pour gérer les erreurs dans une application Express.
サイトの特設ページやランディングページの作成がなかなか進まない。そんなときは、あらかじめデザインデザインや機能を実装したHTML/CSSテンプレート素材を利用することで、制作作業をよりスムーズに進めることができます。 Bootstrap を基準としているのでカスタマイズしやすく、同時にPSDファイルやSassファイルを収録したアイテムも増えているので、プロジェクトに合ったテンプレートを探してみてはいかがでしょう。 詳細は以下から。 Bootstrap対応ですぐに使える、すごい無料HTMLテンプレート素材まとめ 2016年8月度 Rapture ウェブ制作をよりスムーズに行う、プレミアムフレームワークのデモ用として、2種類のランディングページが用意されています。 デモページ1 ダウンロード Forty 複数のコンテンツを色分けし、滑らかなアニメーション付きページ遷移も同時に表現できるマルチペ
GitBucketはプラグインシステムを備えており、プラグインで様々な機能を拡張することができます。このエントリではプラグイン開発の最初の一歩について説明します。内容的には以前GitBucket Newsで書いた以下の英語のエントリと同じものです。 gitbucket.github.io プロジェクトの作成 まず初めに以下の内容のbuild.sbtでScalaプロジェクトを作成します(gitbucketの依存関係は最新のバージョンにあわせて変更してください)。 name := "gitbucket-helloworld-plugin" organization := "io.github.gitbucket" version := "1.0.0" scalaVersion := "2.11.8" libraryDependencies ++= Seq( "io.github.gitbuck
今日の十六茶 試してガッテン方式で入れている。 はじめに オライリー社から2013年に発売された『オープン・デザイン』という本は、率直に言ってしまえば、如何にもデザイナー向けの思弁的な議論のアンソロジーとなっている。それらは、直接的には技術的な洞察を与えるものではないだろうし、また同様に、それが直接的に業務に使えるものかといったらそうでもない。 そうではないのにも関わらず、この本は、プログラマにとって重要な本であることは間違いないと、僕は確信している。逆説的なことではあるが、この本が技術書でないからこそ、あまりにも無視され続けた本であると思うのだが、だからこそ、今読むべき本であると思う。 プログラマはデザインが下手であるという現実を直視する もちろん、デザインという言葉は多義的な言葉であることは間違いない。まず指摘できることは、日本語の場合、デザインという言葉は「設計」という言葉ではなく、
こんにちは、むろです。 先日、Reactハンズオンという勉強会を開催しました。 やることになった経緯 「デザイナーだから…」を言い訳にしてReact書かない(具体的に言うと、JSXは書くけどpropsとかstateとかはエンジニアさんにお任せする)という仕事スタイルに限界を感じていたタイミングで、実務でReact経験があって教えてくれそうなひと( おおきさん・もろみーさん )を見つけることが出来たからです。 「わたしにReact教えてください。あ、ていうかせっかくなのでついでに他にも教わりたい人を呼びましょうか、20人ぐらい。」 という感じです。 当日までにやったこと あくまで、わたしも生徒の気持ちなので当日まではあえて予習していかないようにしていました。 なので、準備はイベントを実施するためのいろいろです。 これまで勉強会は参加するサイドだったのでどんなものを準備したらいいのかわからなく
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く