こんにちは、ほそ道です。 今回はクライアントサイドのJSモジュール管理の仕組みを提供するRequireJSを取り上げ、その仕組みを調べてみます。 目次はこちら 公式ページによる紹介 公式のトップページのイントロダクションでおおまかな目的を述べてくれてます。 RequireJSはJSファイルとモジュールのローダです。 ブラウザで使用するように最適化されておりますがNodeやRhinoでもいけますよ。 RequireJSのようなローダーを使う事はあなたのコードの速度と質を発展させる事になりますよ。 また、IE6以上で使うことができるようで現在では大概の環境下で動作可能と言えますでしょう。 サンプルで仕組みをつかむ サンプルを作ってみましょう。 コンストラクタを持つモジュールとオプション群を持つモジュールを組み合わせてオーダーメイドなマイカーを作ってみます。 ファイル・ディレクトリ構成は下記のよ
画面の左側にオーバーレイでアプリの主なオプションを表示するパネル。 通常は隠れていて、画面の左端からスワイプするか、トップレベルにいるならアクションバーのアイコンをタップすることで表示される。 http://developer.android.com/design/patterns/navigation-drawer.html より Navigation Drawer を使う前に、Navigation Drawer デザインガイドにあるこのパターンのユースケースとデザイン原則をきちんと理解すること。 Drawer Layout を作成する support package にある DrawerLayout を利用する。 DrawerLayout をルートビューとし、その中にメインのコンンテンツを表示するビューと、NavigationDrawer として利用するビューを入れる。 <androi
Linuxでファイル更新の監視というと、inotifyという機能を使います。 実際はPHPやPerlのラッパーライブラリを使うことが多くて、コレがけっこうめんどくさかったのですが、 inotify-toolsというCLIツールがあることに最近気が付きました。 『特定ディレクトリ下の更新ファイル名をリアルタイム出力する』、などがとても簡単にできます。 inotifywait -m -e modify --format %w%f -r /tmp動作や発行されるイベントは事前に確認しましょう。↑はファイルのmoveなどは拾えません。 inotifywait -m -r /tmp/js/ 例えば『JavaScriptの更新を監視し、自動でYUI-Compresserで圧縮する』、ならこんな感じでできそうです。 簡単ですね! daemontools等でデーモン化しちゃいましょう。 RedHat系なら
起動スクリプトを作成して対象ディレクトリ配下の変更をログに記録していくようにします。 これにより、重要なファイルがいつ変更されたかが分かるので、トラブル時には役にたつかもしれません。 ただし、誰がやったかまでは分からないので、sudo のログや accton のログ等と組み合わせて見る必要があります。 #!/bin/bash # inotifywait: Start/Stop inotifywait # # chkconfig: - 80 20 # description: inotifywait waits for changes to files using inotify. # # processname: inotifywait . /etc/rc.d/init.d/functions . /etc/sysconfig/network LOCK=/var/lock/subsys/i
Android Studioでプロジェクトを作ると、 androidTestが自動的に生成されるので、 Android Studio で Unit Testを試してみました。 準備 public class Sample { //めっちゃ適当ですみません。 public boolean isTest(){ return true; } public boolean isNotTest(){ return false; } } alt + enterで、 Create Testメニューを実行すると、 このようなダイアログが表示されまして、 必要に応じて、setUp/tearDownにチェックを入れます。 またすでに実装されているメソッドの一覧が表示され、 チェックを入れると、自動的にtest用メソッドが追加されます。 OKを押し進めると、 Test用クラスが生成されます。 Test実行 メニ
How to solve the problem that "Multiple annotations found at this line" by a better method [Android] SDKをバージョンアップしたらエラーだらけになったについて TwitterでJiroさんから別の解決方法を教えてもらいました。 →http://twitter.com/#!/jiro_aqua/status/24100488370720769 Jiroさん、ありがとうございました。 変換指定文字についてjava.sun.comのリファレンスを調べたところ、書式文字列には引数リスト内での引数の位置を整数で示すように解説されています。 エラーが起きた書式です。 <string name="YourSelection">%s %s が選択されました</string> この書式に引数の位置を加えます
URL渡したらFacebook、Twitterのシェア数取得できるようなAPIないかなぁと思ったらあったのでメモ。 APIは予期せずドラスティックに変更されるので、突然使えなくなる可能性があります。もし使えなかったらコメントか編集リクエストをもらえると助かります。 https://graph.facebook.com/fql?q=SELECT url, normalized_url, share_count, like_count, comment_count, total_count,commentsbox_count, comments_fbid, click_count FROM link_stat WHERE url='http://konifar.hatenablog.com/entry/2015/05/02/003449' { "data": [ { "url": "http:
2015/04/20 追記 https://github.com/mishoo/UglifyJS 2012/02/11 追記 なんか変なまとめの影響でブクマが増えとる。。これ、2008年の記事だぞ。。 YUI Compresserも良いツールだけど最近だったらこの辺の方がいいよ。 http://dean.edwards.name/packer/ http://code.google.com/intl/ja/closure/compiler/ なぜコードの圧縮が有効か? Webサイトの高速化 フロントエンドのパフォーマンスの重要性 (Yahoo! developer netoworkより翻訳) || パフォーマンス・チューニングBlog: インターオフィス 要するに、Webサイトをより速くするための鍵は、フロントエンドのパフォーマンスを改善することにあるということです。 まず最初にやるべきな
先日行われましたDroidKaigiのFireside Chatにおいて、BaseActivityの是非についての話が出ました。 その場では概ね不評…というか使わない方がいいという話になったのですが、このエントリはそれに異を唱える内容です。 そもそもBaseActivityとは何か 要は、アプリ内で使うActivityの基底となるクラスのことです。 複数のActivityで使うような処理をBaseActivityに書いて処理をまとめて共通化しておくことで、サブクラスにおけるコードの量を少なくするのが狙いです。 なぜBaseActivityは嫌われるのか iOSの話になりますが、こちらのエントリに書かれていることとほぼ同じ理由です。 つまり、BaseActivityが便利故ににいろいろ処理を書きすぎて肥大化し、なおかつ継承したクラスがそれに依存してしまうのが問題なわけです。 他のActivi
次期プロダクトでReact.jsを使ってみようと思っていて、その設計をどうすれば良いのかと試行錯誤した結果、それなりにイケてる結論に辿り着いたので、そのメモ書きです。 作ってみれば、Fluxとはこういうことか!というのがわかります。(若干アレンジはされてると思うけど。) それまで漠然と「ふーん、なるほどね。。」みたいな感じでなんとなくしか理解してなかったFluxが実は超画期的なパラダイムシフトであったことに気がついて結構衝撃を受けています。(^^; ちなみにプログラミングの文脈でeと言ったらまず思いつくのがEventかExceptionのどちらかだと思うけど、この場合はもちろんEventのことです。 すべてがExceptionになるのなら、即刻使うのを止めた方が良い。(^^; Fluxとは Fluxの説明では必ずと言って良いほど参照される図なので見たことある人も多いと思うけど、こういうアー
Webサイトのデザインを行う際、最近では手でタグを書いてコーディングするケースが増えています。そんな時にはスタイルシートを書いて、ブラウザをリロードして…を繰り返すかと思います。 そんな作業をされている方に使ってみて欲しいのがBindです。エディタとプレビューが一体化したWebデザインツールです。 Bindの使い方 BindはHTML/スタイルシートの他に、GSSという記法に対応しています。GSSはGrid Style Sheetの略で、マルチデバイスに対応したグリッドデザインを容易にする記法です。 こんな感じで左側にGSS/HTML/CSSの記述を行い、右側でプレビューします。 DOMを選択すると、右側にプロパティが出ます。ここで編集も可能です。 自分でDOMエレメントを追加して設計もできます。 BindでGSSを記述すると自動的にマルチデバイスに対応したスタイルシートに展開してくれます
Lambdaを使うとS3アクセスログの処理が出来るので、EC2を使わずにちょっとした動的サイトとして使うことが出来そうです。簡単そうなところで、簡易的なアクセスログカウンタを作ってみました。S3のstatic website hostingのアドオンとしてどうでしょうか? 仕組み S3のログ更新があったあと、Lambdaでログをパースして、index.htmlへのアクセス数をカウントします。カウントした数字は、S3上に「counter.txt」という名前のファイルでおいておきます。新規でログが来た場合に、このファイルの数字を更新していきます。 index.htmlの方には、このcounter.txtの数字を読み込んで、カウンター画像を作るコードをjavascriptで入れておきます。こうすることで、counter.txtが更新されると、カウンターがアップしていく仕組みです。 0.pngから
毎年4月になると全国のどの大学でもみられる光景といえば、大学の入口からところ狭しとサークルが集まり、プラカードやビラを持って新入生に手当たり次第に声をかけたり、ランチや夜ご飯の約束をする姿。そう、新入生歓迎会、通称「新歓」です。 これって、20代〜40代くらいまでの方には共通の光景だと思います。サークル勧誘の伝統が代々受け継がれているのは嬉しい事でもあるのですが、デジタルやSNSが全盛にもかかわらず「昔からまったく進化していない」とも言えますよね。 今回取材した面白法人カヤック主催の「学生新歓コンテスト」は、新歓はもっと新しくて面白いことができるはずという想いから生まれたイベント。全国のサークル・学生団体を対象に新歓の面白さや注目度を競うコンテストです。 サークルを審査する基準はコチラの3つ 1. 他がやっていないオリジナリティのある企画か? 2. 注目を集め、思わず友だちに話し
Hartija CSS Print Framework -GitHub Hartijaではページ全体、見出しやテキスト、画像、リンク、テーブルを印刷用にスタイル定義し、印刷時には非表示にさせる要素を定義します。以前紹介した時に比べCSS3/HTML5対応でいろいろなスタイルが増えています。 Hartijaの使い方 Hartijaの「print.css」を外部ファイルとして加えるだけです。 「media="print"」の指定は忘れないように。 <link rel="stylesheet" href="print.css" type="text/css" media="print"> 印刷用のスタイル:ページ全体 背景は無し、文字色はブラックに指定されています。 フォントの指定は英語がベースなので、日本語環境で利用する場合には「font-family」「font-size」を変更した方がいい
AngularJSでファイルをアップロードしたい。画像の場合はアップロード前にプレビューもしたい(追記:さらにドラッグアンドドロップにも対応)。 私の書き方も悪いのでしょうけど、Angularだから特に楽ってことはないな。まあ、素直にng-file-upload使えばいいのだろうけど。 前提知識 <input type="file">のファイル(名)は標準ディレクティブでは取得できない。 FormDataを利用して、かつ、multipart/form-dataで送る。 つまり、カスタムディレクティブを定義する必要がある。 HTML(フロント) ソースは少々長いが、やっていることは至ってシンプル。要所はカスタムディレクティブのところ。 ディレクティブ名はキャメル形式が-とかに変わる(hogeFooはhoge-fooというディレクティブ名になる) DOMからscopeへの値の紐付けのタイミング
標準で入っている logging パッケージ、気軽に使えてそれなりなのだけど、 どうもスクリプトが死ぬまでファイルハンドラが殺されないような気がする。 以下に個人的に想定外な動作をする簡単な例を挙げる。 (もしかしたらこれが正しい動作かもしれないんだけど・・・詳しい人教えて!) from datetime import datetime as dt import os, logging def main(): for i in xrange(1,6): log = logging.getLogger() # i番目の繰り返し用のディレクトリ dir_name = "dir_{0}".format(i) os.makedirs(dir_name) # i番目の繰り返し用のディレクトリのためにログファイル(作りたい) log_file_name = "{0}/lg_index{1}.log".
ホストOSにはログインできる状態だが、筐体に設定されているIPMI(職場によっては、iLOとか、ベンダーの呼称で呼んでるかも知れないが)が分からない。 そんなときには、まずIPMIサービスを起動し、その後ipmitoolでIPアドレスを確認するコマンドを実行すると良いだろう。 まず、OpenIPMIやipmitoolがインストールされていない場合は、以下のコマンドでインストールする。 yum install OpenIPMI ipmitool # RHEL系の場合 apt-get install OpenIPMI ipmitool # Debian/Ubuntuの場合 インストール完了後、以下のコマンドでIPMIサービスの起動をする。 service ipmi start IPMIサービス起動後、以下のコマンドを実行することで、IPMIで利用されているIPアドレスを確認することが出来る。
連載目次 リレーショナルデータベースやSQLの基本をAccessを通じて学ぼう 本連載はMicrosoft Access(マイクロソフトアクセス)(以下、Access)を通じて、初心者がリレーショナルデータベースやSQLの基本を学び、データベースを使った簡単なシステムの作り方を習得するものだ。 いまさら聞けないAccessとは? なぜ学ぶべきなのか? AccessとはMicrosoft Office製品の一つで、データを扱ったり、簡単なデータベースシステムを作るためのツールだ。同じくMicrosoft Office製品である、Excel(表計算)やWord(文書作成)、PowerPoint(プレゼンテーション作成)は広く使われていて社会人のみならず、学生でも見掛けることが多いだろうが、新社会人の方は「Accessは見たことがない」という方もいるかもしれない。しかし、データというものは、ビジ
WordPressのメンテナンス時・テーマ変更時におすすめなプラグイン 今回の記事では、通常は「有効化していない」けど、メンテナンス時や、WordPressテーマ(テンプレート)の作成・変更時に使うことが多いプラグインを紹介したいと思います。 メンテナンス時にのみ有効化するプラグイン WordPressで作成したブログは、記事が増えるにつれていろんな負荷が増していくので、定期的なメンテナンスは高速化のためにも必要です。ブログ表示の高速化については、下記事も参考にしてください。 通常は使ってないけど、メンテナンス時に有効化するプラグインを4つ紹介します。他にもいくつか使ってましたが、あまり効果を感じられなかったため、現在ではこの4つだけに限定しました。 EWWW Image Optimizer Better Delete Revision WP-DBManager Broken Link C
技術部の牧本 (@makimoto) です。 新卒社員研修の企画・運用を担当しています。 このエントリをご覧になっている方の中には、この春から新社会人として働いている方も多いのではないでしょうか。 クックパッドでもこの春に新卒社員が入社し、現在新卒社員研修の真っ最中です。 本稿では、クックパッドにおける新卒社員向けの技術・サービス開発領域の研修についてご紹介をします。 みんなが技術を理解すること 今年の新卒研修では、エンジニア職ではない総合職の新卒社員にも技術研修を実施しました。 職種や役割にかかわらず、すべてのメンバーが技術を正しく理解し、活用することが、組織の成長に役立つと考えているからです。 営業やサービス開発のディレクターなどエンジニア以外のメンバーが、技術的な知識にもとづいた意思決定をできるようになることで、もっと事業の精度や速度の改善に貢献できるのではという思いがあります。 と
これまでのスタートアップ関連のスライドを文章にまとめ直しています。これはそのラフ案と各文章へのリンク、関連スライドのまとめです。 随時、修正と更新をします。 目的スタートアップの初期において抑えておいた方が良いであろう一連の流れを解説します。 想定読者シードステージのスタートアップ、企業の新規事業担当者 1. スタートアップをはじめる前に、スタートアップのことを知る必要はない要約:スタートアップとは何でしょうか。スタートアップとは短期間で急成長をすることを目指す組織です。新しい組織や企業を全てスタートアップと呼ぶわけではありません。 スタートアップをはじめるために、スタートアップに関する知識は不要です。知るべきなのはあなたの顧客のことです。
このたび仕事の合間に個人でWEBサービスをリリースしました。 そのサービスを作るにあたって感じたこと、ハマったこと、こだわったとこなどを 数回に分けて紹介していきたいと思います。 こんなサービスです 『すぽせん』http://sposen.jp 趣味でスポーツをしている方が自分のチームの紹介をWEB上で発信して、練習試合なんかを組んだり、 様々なスポーツ好きの個人が活動しているチームを探して参加できるきっかけをつくろうという思いからこのサービスを立ち上げました。 似たようなサービスとして各スポーツのマッチングサイト的なものは既にあるけど、チーム数が少なかったり、情報不足だったりと、いまいち盛り上がりに欠けている感があったので痒いところに手が届くサービスとしてつくろうと一大決心しました。 構想 自分のチームのサイトを既に運用しているチームは足りない機能で補ったり、リンクなどで認知度を高め、
糖尿病患者にとって、毎日の血糖値テストは命に関わる問題。 ただ、テストのたびに針で刺して血液を摂取しなくてはならず、痛みをともなう苦しいものでもある。 そんな糖尿病患者の助けになろうと、Googleでは昨年、涙に含まれるブドウ糖量を測定するコンタクトレンズの開発を発表した。 ・糖尿病患者の血糖値を測定するタトゥー それとはまた違ったアプローチを進めているのが、カリフォルニア大学サンディエゴ校の研究者Amay Bandodkar氏のチーム。ナノ工学を活用し、患者の生体データを測定する“タトゥ型ウェアラブル”の研究をおこなっている。 ・使い捨てで衛生的 このタトゥ型ウェアラブルには、フレキシブルな電子センサーが搭載されており、弱電流を流して、皮膚細胞内のブドウ糖量を測定する。使用後は使い捨てできるので、衛生的でもある。 開発チームでは、20~40歳台の糖尿病を患ったことのない健康な男女7人に治
Repliaというアプリのアイコンと、サンプルPSDを描きました! デザイナーにも開発者にもうれしいアプリなので、使い方を解説します Repliaとは RepliaはPhotoshopのデザインからiOSのソースコードを生成してくれるアプリです まずは30秒の使い方動画をみてください!魔法みたい Repliaで書きだしたプロジェクトファイルをSimulatorで見るとこんな感じ! あっという間にSimulaterで見られるかたちに整えてくれるのはスゴイ…スゴイよ… ざっくりしたアプリ使用の流れは Repliaでpsdを読み込む Xcodeのプロジェクトファイルに書き出し です セットアップ方法 Repliaを使うにはAdobeのPhotoshopで設定が必要です フォトエディター | Adobe Photoshop CC無償体験版ダウンロード 公式ページのガイド:Guide - Repli
スターフィールド株式会社 > Blog > 制作 > css3 > 【jQuery】CSS3のTransform3DでGPUによる滑らかなアニメーションを実装しよう【CSS3】 jQueryを使うと、手軽にアニメーションを実装することができて、とても便利です。 しかし、jQueryによるアニメーションは処理がどうしても重くなります。 特にスマホなどでは、元々アニメーションがネイティブアプリのUIに多く使われているため、 jQueryによるアニメーションがもっさりとした動きに感じることが多いのではないでしょうか。 jQueryのアニメーションは、通常CPU(コンピュータの総合的な演算装置)により処理されています。 CPUは元々画像処理だけに最適化されたものではない上に、アニメーションだけでなくコンピュータ全体の演算を担っているため、 CPUでアニメーション処理を行うとどうしても処理が遅くなっ
要件を捨てて検証に出よう。賃貸情報サイト"カリル"での 仮説検証型システム開発 | Livesense Inc.
(写真左から)代表取締役の佐々木大輔氏、取締役の横路隆氏 DropboxやAirbnbに出資したY Conbinatorの共同設立者であるポール・グラハム氏は、スタートアップの定義について「早く成長することを意図して作られた会社を意味する」と説いている。 世の中にイノベーションを起こした後。つまり、スタートアップは、1→100を視野に入れサービスを発展させる段階にも、早い成長が求められるということだ。その必要な要素の1つに、作り手であるエンジニアチームの拡大があるのかもしれない。 だが、草創期に集ったエンジニアが継続して組織に根付くとは限らない。組織拡大に伴う文化の変化に戸惑いや疑問を拭えず、組織を去るケースもあるためだ。 スタートアップとしては、エンジニア採用と同時に、継続してバリューを発揮する組織文化を形成する必要があると言える。 そんな開発チームの急成長を、1名も退職者を出すことなく
はじめに 久しぶりに Aho氏, Sethi氏, Ullman氏の書いた Compilers(レッド・ドラゴン・ブック)という書籍を目にしたので、昔、コンパイラを作った時の事を思い出しながらコンパイラについてまとめてみました。 Translator (翻訳) Translatorとは、一つのプログラミング言語(Source Language: 原始言語)で書かれたプログラムを入力として取り、別の言語(Object Language or Target Language: 目的言語)のプログラムとしてつくり出すプログラムです。 原始言語が FORTRAN, C, Pascal などの高水準言語で、目的言語がアセンブリ言語や機械語といったような低水準言語である時、そのような Translator をコンパイラ(Compiler) と呼びます。また、原始言語がアセンブリ言語で目的言語が機械語であ
(見出しと第3段落の債務を責務に訂正します) (ブルームバーグ):政府は将来の「過労死ゼロ」を目指し、国内の労働者にもっと残業時間を減らし、有給休暇を消化してもらおうと、労働時間や休暇取得に数値目標を設ける。 政府は早ければ来月中にも「過労死防止のための対策に関する大綱(案)」を閣議決定する。20年までに週労働時間60時間以上の雇用者割合を5%以下に抑え、年間有給休暇の取得率を70%以上にする。 厚生労働省によると、有給休暇の年間日数は1997年以降17-18日で取得率は2000年以降5割を下回る。改善を目指した大綱は昨年11月に施行された「過労死防止法」の一環。過労死の遺族らが集めた55万人の署名に後押しされ、過労死防止を国の責務と位置付けた。 大和総研の広川明子主任コンサルタントは「具体的な対策はこれから。高止まりしている総労働時間にキャップをはめるなどの法制化が進まない限り、
TOP > ニュース > オーストラリアの職場環境:初任給42万円・有給100%消化・残業なし「会社に残って残業する奴は効率が悪く仕事ができない人」という評価になる文化 Tweet カテゴリニュース 0 :ハムスター2ちゃんねる 2015年5月26日 15:36 ID:hamusoku 毎日遅くまで残業。一向にあがらない年収。上司からのパワハラ。こんな日本企業の労働環境にうんざりしていませんか。 そんなときは海外の働き方に目を向けてみると、何か新たな発見があるかもしれません。今回は、ゆとり重視型のオーストラリアにスポットをあてて、その魅力をお伝えします。 ■給料が高い まず一番魅力的なのが、給与面。 日本の場合、大卒の平均初任給は、19.5万円。 一方でオーストラリアの初任給は、約42万円!これは日本の2倍以上です。 オーストラリアでは、土曜に出勤した場合、1.25倍、日曜は夜8時まで1.
Extract prominent colors from an image. Vibrant.js is a javascript port of the awesome Palette class in the Android support library. Showcase API Use of Vibrant is pretty straight forward, but because code works better than explanation, here's an example: var img = document.createElement('img'); img.setAttribute('src', 'examples/octocat.png') img.addEventListener('load', function() { var vibrant =
だけどなんて言ってあげたらいいのかわからない。 スペック 俺 30歳、男、社会人5年目。管理職。 相手 25?歳、女、社会人2年目。新卒入社。 困ってることは、新卒の子がうまくタスクマネジメントできてなくて、月80時間くらい残業しててそれを改善してあげたいんだ。 ちなみにうちの会社は月65時間以上残業すると人事から怒られる。ただ、勤怠管理が結構雑なので、嘘の申請をすれば65時間以上も残業できる。 激務の会社からしてみればはぁ、って話なのは承知なんだけど。 うまく時間や引き受けるタスクの量を調整して残業少なくして自分の持っている仕事を終わらせられるようになってもらいたい。 会社的に効率よくやりましょうって押しはしてないけど、自分としては効率よくやって定時で帰ってもらいたい。 他者からの「早めにタスクAやってもらえませんか?」って依頼に対して、明らかに締め切りまで時間がないのに「わかりました!
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く