Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

この記事は JavaScript Advent Calendar 2015 10日目の記事です。 去年は主に gulp にフォーカスした内容でしたが、今回はJSのビルドとテストにフォーカスした入門記事です。 やること ES2015で書いたコードをWebpackでビルドする babel@6系を使う Mocha + power-assert + jsdom でテストを書く やらないこと gulpまわり React.js CSSビルドまわり 最終的なコードはこちらに上げておきました(すごく簡素な出来です)。 GitHub - sskyu/webpack-power-assert-jsdom-skeleton はじめに 今年はReact.jsがJSerの中で定着した感がありました。 Fluxの考え方を昇華させたReduxがFlux系フレームワークでデファクトになりそうな雰囲気を出しつつ、React
ひとまず無事会期を終えることができました。 animateLAB Advent Calendar 2015 20日目としてこの記事を公開します。 謝辞を先に書く RubyKaigi2015 teamのみなさん、本当にありがとうございました。 Organizersが国際的なRubyのカンファレンスを指し示し、Staffがそれを具現化し実行に移し、Helperが会期当日きめ細かく動く。Designerによる素晴らしいクリエイティブに、ナイスなMC。そしてSpecialThanksのみなさん、メンバーのご家族、ご勤務先のみなさん。本当にありがとうございました。 特に会期運営Staffとして半年駆け抜けてきた @miyohide @publichtml @tyabe には、お三方のコミット無くてはこのクオリティとスピードでの開催はできませんでした。全くうまく表現できないのですがひたすら感謝の気持ち
はじめまして、アニメイトラボのフロントエンドエンジニア id:koharusugiura です。 フロントエンドエンジニアとして働いていると、いかにサーバーサイドに負担を掛けずに処理を行うかについて考えることも多いと思います。 そこで今回は、サーバーに画像の転送を行う前にクライアント側で画像加工をする話について書きます。 この記事は animateLAB Advent Calendar 2015 15 日目の記事です。 qiita.com JavaScript で画像処理を行う ウェブアプリケーションで画像ファイルの加工が要件にある場合、サーバー側で画像加工を処理するケースが大半だと思います。 しかし、データ通信のことを考えると、最適な考え方とは言えない気がしています。 近年、日本のインターネット回線の速度は大きく向上しているとはいえ、モバイルデータ回線はまだまだ速度的に完璧とは言えません
この記事は個人の見解であり、所属する組織の公式見解ではありません。 背景 チームのリーダーや組織のマネージャーになると、パートナー会社との仕事の進め方にも気を配らなくてはならなくなります。契約の結び方や仕事のお願いの仕方、それらのちょっとした思い違いが、思いがけないリスクになることもあります。とはいえ、そういった知識をエンジニアが改めて学ぶ機会というのは、なかなかないのではないでしょうか。 この記事では、新たにチームのリーダーや組織のマネージャーになったエンジニアに向けて、パートナー会社と上手に仕事を進める上で知っておきたい「請負契約」「準委任契約」「労働者派遣契約」の知識を、主に発注側の視点から解説します。 ショートストーリー1 佐藤先輩「山田くん」 山田くん「あ、佐藤先輩。おつかれさまです」 佐藤先輩「例のプロジェクトのリーダーになったんだって?」 山田くん「そうなんですよ。今日もこれ
What is ANTLR? ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It's widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees. Terence Parr is a tech lead at Google and until 2022 was a professor of data science /
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。情報システム本部の伊藤(@koh110)です。 社内システムの開発、運用を担当しています。 今回、担当しているシステムをNode.js LTS(v4.x)へバージョンアップしました。 それに伴い実施したES6対応の中から3つの事例を紹介したいと思います。 varを撲滅しよう arrow functionを使おう callbackを撲滅しよう varを撲滅しよう varをlet, constに置き換えます。基本はconstに置き換えます。 メリットは以下の点で、コードの品質向上につながると思います。 プログラム中で変更不可である事を明示的に示せる。 誤った使い方をした時にバグとして検出される。 varを利用するとブロック
アンチパターンなので、見出しの内容はすべてバッドノウハウです。 前に書いたやつ PHPのモダンな開発環境を紹介する - Qiita PHP - Functoolsを作った - Qiita PHPのlist()はタプル展開のための機能 - Qiita 関係ないけどこれも: シェル、ターミナル、コンソール、コマンドライン 追記: 本文中でとりあげた「怖い話」について、ちゃんと説明しました PHP - namespaceとBOMに何の関係があるのさ - Qiita ファイルの最後に?>を書く PHPコードは<?phpで始まり?>で締める。それがPHPの常識(キリッ ……そんなことはもう綺麗さっぱり忘れよう。PHPはテンプレートエンジンではあるが、Webアプリケーションを書く上では、もはやテンプレートエンジンとしての機能は求められなくなりつつある。 不要な?>を書いてはいけない理由は明確で、<?p
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは。村☆☆☆ハンターの @sugitak です。freee ではインフラ的なことをしていて、個人では一年に一度くらいbundlerの記事書いています。あとCONBUとか参加してます。 freeeでは日々様々な革命が行われていますが、革命にはパンがつきものです。パン、すなわち無線です。革命家にパンが必要なように、エンジニアが自由に働くためには無線が必須なのです。有線ではいかんのです。 ということで、今回はfreee Engineers Advent Calendar 2015 5日目の記事では、スタートアップのオフィス無線を良くす
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは、freeeでフロントエンドエンジニアをしている @joe_re です。 freee Engineers Advent Calendar 2015の4日目を書きます。 僕からはfreeeで現在進行中の革命について、フロントエンドのビルドプロセスを中心に書こうと思います。 革命 ってなんのこと? というのはフロントエンドヤンキーこと @ymrl が 2日目で書いたので詳しくはそちらをご参照頂ければ幸いです。 背景 弊社ではRuby on Railsを主軸にしてWebサービスを作っています。 Railsは素晴らしいフレームワークで
JavaScript 系パッケージマネージャの重複問題 npm は言わずもがな Node.js のパッケージマネージャだが、フロントエンド開発においては Bower も利用するのが一般的になっている。この現状の問題点は、package.jon と bower.json という似たような管理ファイルを二重で管理しなければならないということだ。 現状の使い分けをおさらいをしておくと、次のような感じになる。 タスクランナー(Grunt/gulp)・モジュールシステム(browserify/webpack)・テストスイート(karma/testem)などの開発環境系の管理が npm の主なお仕事。インストールされたパッケージは node_modules 内に展開されて、CommonJS スタイルのモジュール管理から利用する。 本題につながる話としては、ブラウザで動くライブラリの一部は npm にも
npmに登録されているパッケージ数は10万、月間ダウンロード数も5億を超えました。7月の段階で月間3億程度ですから、こちらのグラフで見てもわかるように、かなり成長が加速してきていますね。 EdgeConf4において、パッケージ管理をテーマにしたディスカッションに、npmのCTOであるLaurie Vossと、npmのpeer dependencyをつくったGoogle Chrome TeamのDomenic Denicola(ES6のPromiseの取組みでも知られた人ですね。)が参加しています。この二人と、BowerのJosh Peekを中心に議論が進んでいます。ちなみにJoshはGitHubの社員で、最近では、左右に並べてdiffを比較できる便利な機能をつくった人でもあります。 「サーバサイドのパッケージマネジャとしては、CPANやRubygem、npmのように開発言語ごとにプレーヤー
この記事は第2のドワンゴ Advent Calendar 2015の24日目の記事です。 ドワンゴエンジニアの@ixixiです。 niconicoのデータをDeep Learningなアプローチで解析してみた話です。 nico-opendata niconicoの学術目的用データ公開サイト https://nico-opendata.jp が最近オープンしました。 これまでも、国立情報学研究所にて、ニコニコ動画コメントデータや大百科データが公開されていましたが、 nico-opendataでは、ニコニコ静画のイラストデータの約40万枚のイラストとメタデータが研究者向けにデータ提供されています。 今回は、ニコニコ動画コメントデータ(誰でも取得可能)を用いたDeep Learningによるコメント解析例を紹介します。 超自然言語 ニコニコのコメントデータに限らず、twitterでのtweetや
POIを使ったExcel帳票の出力は、システムエンジニアにとっては日常茶飯事、おちゃのこサイサイであります。 Excel方眼紙を支える技術 takezoen先生による2015年版はこちらになります。 [] (http://www.slideshare.net/takezoe/exceljava2015) ここで紹介されている、S式からExcel方眼紙を出力するライブラリaxebomber-cljは、こちらをご覧ください。 特筆すべきはaxebomber-cljでは、Excelにありがちな文字切れが起こらないというところです。そもそもExcel方眼紙は、入力文字列が自動改行されない制約を設けて、利用者が意図的な位置で改行をコントロールするために発明されたフォーマットであります。しかし、その特異な見た目が災いし、単に敬遠される存在にとどまっております。axebomber-cljは、文字幅とセル
システムエンジニアが顧客に提供するものは、システムではなく、お客さまに満足してもらえるサービスだと私は思います。 http://www.slideshare.net/kawasima/kawasima さて、サービス業に学ぶと、CSのために重要なのは、事前期待マネジメントです。 http://www.insightnow.jp/article/6506 簡単にいうと、顧客の期待を少しだけ上回るように成果をもっていく。そのために、事前の期待値もコントロールしよう。というお話です。 期待が過小にならないようにマネジメントする。 言われたことだけに答えない。 特に提案案件でありがちなのは、言われたことにとりあえず答えを用意するだけで、あっぷあっぷになって、何のエッジも立たないものになりがちです。 何が一番達成したいことかをハッキリさせ、リアリティの高い解決策を考えます。 言われたことには全部答え
3日目で息切れしてきたので、今日は軽めな内容です。 データベース更新とメール送信の一貫性 商品購入の完了ページなど、よくデータベースを更新して、メールを送信してデータベースをコミットするという仕様があります。 データベース登録出来てないのに、完了メールを送るわけにはいかないので、これらを1トランザクションにできなきゃいけません。が、SMTPプロトコルにコミット/ロールバックの概念はありません。 さて、どう設計しましょうか、というお話です。 方式 A.DBトランザクション後にメールを送る 同一トランザクションはあきらめ、データベースを先にコミットし、その後でメールを送る、という設計です。 メール送信でエラーになったら、データベースには書き込めているので、メールだけ再送するように仕組みを作ったりします。 以下のようなイメージです。 public class OrderController {
RBACの基礎 業務システムの権限制御の基本形はロールベースアクセスコントロール(RBAC)です。簡単化すると、以下のようなモデルです。 Subject(システムユーザ)は、複数のRole(ロール)を持っている。 Role(ロール)は、Permission(権限)のセットからなる。 Permission(権限)は、オペレーション(許可される操作)のセットからなる 具体的に、Redmineでの例をみてみましょう。 ユーザにはデフォルトで「管理者」「開発者」「報告者」のロールが割当可能である。 「報告者」ロールは、「Add Issues」の権限をもつ。 「Add Issues」の権限をもつユーザは、「Issueの新規作成」ができる。 このモデルをRedmineでは、以下のように表現しています。 Redmineは1人のユーザを、複数のプロジェクトに異なるロールでアサインすることができるので、上記
こんにちは、池澤です。 最近は「NEXT SELFIE PROJECT」のプロジェクトリーダーをやらせていただいています。このプロジェクトでは、マイクロフォーサーズセンサーを搭載して、コンパクトサイズながらレンズ交換式なので綺麗に撮影できるという『OLYMPUS AIR』の強みを生かしたセルフィーアプリ(自撮りアプリ)を開発中です。 詳しくは、第2回、第3回の記事もぜひご参照ください! アプリ開発もいよいよ大詰めです。私もアプリのデザイン係としてひと頑張り。いちばんの難点は、OLYMPUS AIRを装着するぶん狭くなってしまう画面をどうデザインするのかということです。 というのもセルフィー用のアプリなので、ディスプレーを見ながら撮影するにはOLYMPUS AIRの装着位置をディスプレー側にする必要があります。そうするとディスプレーの一部が隠れて、利用できなくなってしまいます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く