Murayama blog.

プログラミングと、その次の話

新米PHPerのための5つのAtomパッケージ

今年もITエンジニア育成の新入社員研修に取り組んでいます。日々の空前絶後のハードなトレーニングのおかげで今年も優秀なPHPerたちがたくさん育っています。 慣れないプログラミングの習得に苦労しつつもポジティブにがんばっているみなさんへ。PHP初心者が…

AtomでXdebugを使ってステップ実行するには

Xdebugをインストールします。 https://xdebug.org/ Xdebugは実行環境やPHPのバージョンによってインストールの手順が異なるので、以下のURLからインストール手順を確認します。 https://xdebug.org/wizard.php ローカルで php -i した出力結果を上記のペー…

知る、ということ

朝、出社前にこどもをバス停まで送っていくと、いつも同じ時刻に通りかかるおじいさんがいます。ニコニコとこどもの顔を覗きこんでは何も言わず、とぼとぼと歩いていくおじいさん。 最近私も歩くようにしています。会社帰りに1駅くらい歩くだけ。いつまで続…

クリエィティブに仕事をしよう。

今日のお昼ごはんはいつもと違う"ヘルシーデリ"なるお弁当を買ってみました。 お店の明るい雰囲気の惹かれてふらふらと。 会社に戻ってお弁当を開けてみるとおしゃれなお弁当箱。 入ってるおかずはふつうのお弁当と大差ないんだけど、いつもよりちょっとだけ…

Java 例外オブジェクトの生成について

ここでは簡単な計算機プログラムを作成して例外処理について考察します。 Part1 次の計算機クラス(Calculator)は0による除算時に例外をスローします。 計算機クラス package example; public class Calculator { public int divide(int x, int y){ return …

会社組織で学ぶJavaの例外処理入門

Javaの例外処理についてサンプルプログラムを作ってみました。ここでは会社組織のおける部長(GeneralManager)、課長(SectionManager)、一般社員(Employee)クラスを作って組織的に仕事をする様子を実装してみます。 GeneralManager 部長クラス。受け取…

下手なアドバイス入門

プログラミング講師として受講者にアドバイスをする機会が多くあります。そこで気づいた失敗例をまとめました。 信頼関係が構築できていない 求められていない 前提が共有できていない 当たり前のことを言う 具体性がない えらそうに言う 自分ができていない…

フレームワーク初学者のためのSpark Framework入門

最近、Javaのマイクロフレームワークがきてるようです。 http://postd.cc/java-micro-frameworks-the-new-trend-you-cant-ignore/ Javaのフレームワーク事情 Javaに限らず、Webアプリケーション開発の世界ではフレームワークを使って開発することが一般的で…

プログラミング習得の法則

もうすぐ6月も終わります。この記事は4月から入社して、新入社員研修で初めてプログラミングを学んだ方へのメッセージです。 はじめに プログラミングメンター(指導者)の仕事をしていると、プログラミングの習得には3つのステップがあることに気づきます。…

Vagrant+VirtualBoxでUbuntuを起動する

何をするのか WindowsとかMacの中でLinux(Ubuntu)を起動します。 Linuxの学習にもオススメです。 手順 VirtualBoxをインストール Vagrantをインストール ターミナルソフトをインストール(Windowsのみ) VagrantでUbuntuを起動する Ubuntuに接続する 1. Vi…

EC2にDockerをインストールしてRedmineを起動する

EC2(Amazon Linux)上にDockerをインストールして、Redmineを起動するまでのまとめです。たぶん9分くらいでできます。 Dockerのインストール 詳細は公式のドキュメントに載ってるとおり。 Docker Basics - Amazon EC2 Container Service 要点だけ抜粋すると…

CronでMySQLのデータをエクスポートしてS3にアップするまで

MySQLのデータをエクスポートしたいで。 qiita.com Cronの登録するで。 www.server-memo.net たしかcrontabコマンドは気をつけなあかんで。 d.hatena.ne.jp Cronで動いたで。でもダンプファイルあれへんで。。 qiita.com 次はコマンドラインでS3にアップした…

ApacheでLaravel5アプリケーションを動かす

Laravel5を使ったWebアプリケーションを開発しています。 開発時はビルトインサーバで開発して、運用時はApacheでということがやりたかったのでまとめです。OSにはUbuntu14.04を使っています。Vagrantも使ってます。 開発時 - ビルトインサーバの起動 開発時…

JAX-RS 非同期処理 Asynchronous Services

JAX-RSの非同期処理の実装サンプルです。 参考記事 JerseyのTutorialを参考にしました。 Chapter 11. Asynchronous Services and Clients Asynchronous Server API まずはベタな実装から。こんなふうにするとサーバースレッドはすぐに終わるので再利用できる…

Servletの非同期処理

JAX-RSの非同期処理を実装しようと思ったけど、そもそもServletの非同期処理を実装したことなかったのでそっちの復習から。 参考記事 こちらの記事を参考にしてみました。 Async Servlet Feature of Servlet 3 ちなみに参考にしたページではServletContextLi…

20分くらいでできるVagrantによるRails開発環境の構築

はじめに Railsの環境をパパっと作りたい。でもVagrantもChefもよくわからない。そんな私でもすぐできました。 こちらが参考になりました。 Using Vagrant for Rails Development - GoRails 以下内容をまとめてみました。 Using Vagrant for Rails Developme…

5分で学ぶMaven

これは何か Maven – Maven in 5 Minutesを参考にまとめたものです。 Maven – Maven in 5 Minutes Installation MavenはJavaのツールです。そのため以降の作業を続けるにはJavaのインストールは事前に済ませておいてください。Mavenのダウンロードはこちらか…

Rails4.1でSpring、Rspec、Guardを使う

はじめに Rails4.1でテスト環境を構築する方法を調べてました。以下のブログ(英語、、)が参考になったので紹介します。 Setup Rails 4.1, Spring, Rspec, and Guard - Girders Setup Rails 4.1, Spring, Rspec, and Guard Rails4.1では、Springを使うこと…

Parse - Relations

参照元 https://parse.com/docs/relations_guide#top Relations Guide リレーションには3つの種類があります。One-to-oneリレーションは1つのオブジェクトを他のオブジェクトに関連付けます。One-to-manyリレーションは1つのオブジェクトに複数のオブジェク…

Parse - Cloud Code

参照元 https://parse.com/docs/cloud_code_guide#cloud_code What is Cloud Code? Parseのビジョンは、モバイルアプリを開発するデベロッパーから、サーバーの取り扱いをなくすことです。複雑なアプリケーションの場合は、ときとしてモバイルデバイス上で実…

Parse - Cloud Code - Command Line Tool

参照元 https://parse.com/docs/cloud_code_guide#clt Command Line Tool ここまでクラウド上にコードをデプロイするParseのコマンドラインツールを見てきました。コマンドラインツールには、他にも幾つか役に立つものが用意されています。コマンドラインツ…

Parse - Cloud Code - Modules

参考元 https://parse.com/docs/cloud_code_guide#modules Modules Cloud CodeはJavasScriptコードのモジュール化をサポートしています。ローディングモジュールから想定外の副作用を避けるために、Cloud CodeのモジュールにはCommonJSモジュールのような仕…

Parse - Cloud Code - Networking

参照元 https://parse.com/docs/cloud_code_guide#networking Networking Cloud CodeではParse.Cloud.httpRequestを使うことで、HTTPサーバに対してHTTPリクエストを送信できます。このファンクションはオプションオブジェクトを設定値として呼び出します。…

Parse - Cloud Code - Logging from Cloud Code

参考元 https://parse.com/docs/cloud_code_guide#logging Logging from Cloud Code parse logによって表示されるログファイルにメッセージを残したいなら、console.log, console.error, or console.warnを使用します。console.errorとconsole.warnはエラー…

Parse - Cloud Code - Development vs Production

参照元 https://parse.com/docs/cloud_code_guide#devprod Development vs Production 公開配布用のプロダクションアプリケーションとは別に、新しいコードを試すための開発用アプリケーションを使用できます。 Adding a New App to a Project プロジェクト…

Parse - Cloud Code - Custom Webhooks

参考元 https://parse.com/docs/cloud_code_guide#webhooks Custom Webhooks フレキシブルなフォーマットのデータを処理するカスタムWebフックを構築するためにCloud Code上でExpressを利用できます。これにより、あなたの記述したWebフックを他のWebサービ…

Parse - Cloud Code - Background Jobs

参考元 https://parse.com/docs/cloud_code_guide#jobs Background Jobs Parseにはバックグラウンドで動作するジョブをセットすることができます。バックグラウンドジョブは、レスポンスタイムのかかる外部サイトとの連携や、プッシュノーティフィケーション…

Parse - Cloud Code - Cloud Functions

参考元 https://parse.com/docs/cloud_code_guide#functions Cloud Functions Cloud Codeの役に立つもう少し複雑な例をみてみましょう。ちょっとした演算結果を取得するのに、膨大なオブジェクトをデバイス上にダウンロードしなければならないというようなケ…

Parse - Cloud Code - Getting Started

参考元 https://parse.com/docs/cloud_code_guide#started What is Cloud Code? Parseのビジョンは、モバイルアプリを開発するデベロッパーから、サーバーの取り扱いをなくすことです。複雑なアプリケーションの場合は、ときとしてモバイルデバイス上で実行…

AndroidでParse入門 - まとめ的な -

これはなにか 流行のParseの勉強をしたかったので、本家のAndroidドキュメントを読みながら勉強した記録です。 Android Developer Guide | Parse 翻訳? 英語はできないので雰囲気で訳してます。*1 まとめ AndroidでParse入門 - Objects - - Murayama blog.A…

AndroidでParse入門 - Security -

元ネタ こちらを参考にSecurityについてまとめます。 https://parse.com/docs/android_guide#security-recommendations前回の記事はこちら。 AndroidでParse入門 - Handling Errors - - Murayama blog. Security Parseはアプリケーションの構築において可能…

AndroidでParse入門 - Handling Errors -

元ネタ こちらを参考にHandling Errorsについてまとめます。 https://parse.com/docs/android_guide#errors前回の記事はこちら。 AndroidでParse入門 - User Interface - - Murayama blog. Handling Errors ParseObjectのsave()、delete()、get()といった多…

AndroidでParse入門 - User Interface -

元ネタ こちらを参考にUser Interfaceについてまとめます。 https://parse.com/docs/android_guide#ui前回の記事はこちら。 AndroidでParse入門 - GeoPoints - - Murayama blog. User Interface アプリケーションのユーザはAndroidのUIコンポーネントと対話…

AndroidでParse入門 - GeoPoints -

元ネタ こちらを参考にGeoPointsについてまとめます。 https://parse.com/docs/android_guide#geo前回の記事はこちら。 AndroidでParse入門 - Cloud Functions - - Murayama blog. GeoPoints Parseのオブジェクトは緯度・経度といった位置情報をサポートして…

AndroidでParse入門 - Cloud Functions -

元ネタ こちらを参考にCloud Functionsについてまとめます。 https://parse.com/docs/android_guide#cloudfunctions前回の記事はこちら。 AndroidでParse入門 - Twitter Users - - Murayama blog. Cloud Functions Cloud Functionsは、ParseCloudによってAnd…

AndroidでParse入門 - Twitter Users -

元ネタ こちらを参考にTwitter Usersについてまとめます。 https://parse.com/docs/android_guide#twitterusers前回の記事はこちら。 AndroidでParse入門 - Facebook Users - - Murayama blog. Twitter Users ParseはFacebookと同様にTwitter認証機能を提供…

AndroidでParse入門 - Facebook Users -

元ネタ こちらを参考にFacebook Usersについてまとめます。 https://parse.com/docs/android_guide#fbusers前回の記事はこちら。 AndroidでParse入門 - Roles - - Murayama blog. Facebook Users Parseを使えば簡単にFacebookと連携することができます。Pars…

AndroidでParse入門 - Roles -

元ネタ こちらを参考にRolesについてまとめます。 https://parse.com/docs/android_guide#roles前回の記事はこちら。 AndroidでParse入門 - Users - - Murayama blog. Roles ユーザをベースにしたアプリの規模が大きくなってくると、ユーザ単位のACLより大き…

AndroidでParse入門 - Users -

元ネタ こちらを参考にUsersについてまとめます。 https://parse.com/docs/android_guide#users前回の記事はこちら。 AndroidでParse入門 - Analytics - - Murayama blog. Users 多くのアプリは、セキュアな方法でユーザアカウント管理する必要があります。P…

AndroidでParse入門 - Analytics -

元ネタ こちらを参考にAnalyticsについてまとめます。 https://parse.com/docs/android_guide#analytics 前回の記事はこちら。 AndroidでParse入門 - Files - - Murayama blog. Analytics Parseはあなたのアプリが刻々と動く中で、その状況を取得するフック…

AndroidでParse入門 - Files -

元ネタ こちらを参考にFilesについてまとめます。 https://parse.com/docs/android_guide#files前回の記事はこちら。 AndroidでParse入門 - Subclasses - - Murayama blog. The ParseFile ParseFileを使えば、PerseObjectには収まり切らないファイルであって…

AndroidでParse入門 - Subclasses -

元ネタ こちらを参考にSubclassesについてまとめます。 https://parse.com/docs/android_guide#subclasses前回の記事はこちら。 AndroidでParse入門 - Queries - - Murayama blog. Subclasses Parseは、なるべく速く動かせるように設計されています。ParseOb…

AndroidでParse入門 - Queries -

元ネタ こちらを参考にQueriesについてまとめます。 https://parse.com/docs/android_guide#queries前回の記事はこちら。 AndroidでParse入門 - Objects編 - Murayama blog. Basic Queries 多くの場合、getInBackgroundでは取得したいオブジェクトを指定する…

AndroidでParse入門 - Objects -

これは何? Parse本家のドキュメントをまとめたものです。*1 Android Developer Guide | Parse今回はObjects編をまとめます。 The ParseObject ParseObjectにはデータを格納します。ParseObjectはJSON互換のKey-Valueペアを保持します。このデータはスキーマ…

Bowerによるパッケージ管理

BowerはWeb開発用のパッケージ管理ツールです*1。フロントエンドJavaScriptライブラリをインストールしたり、なんか他にもいろいろできそうです。 BOWER: A package manager for the web インストール Nodeとnpmがインストール済みであれば、以下のようにコ…

PhantomJS入門 CasperJSでテストする

CasperJSは、JavaScriptで実装されたPhantomJSのユーティリティです。PhantomJSを使ったFunctional Testを実行することができます。 CasperJS, a navigation scripting and testing utility for PhantomJS | CasperJS 1.0.2 はてなブログ(murayama blog)を…

き、気がつけば使っていたChrome拡張機能 オススメ3つ

Chrome便利ですね。 でも、歳をとるとブラウザの拡張とか気にしなくなりますよね。 にもかかわらず、気がつけば使っていた拡張機能(エクステンション)を3つ紹介します。 縦長画面もキャプチャできる - Screen Capture (by Google) Capture visible content…

PhantomJS入門 CasperJSを使う

ここんとこのブログの題材として2週間ほどPhantomJSを触ってみましたが、これけっこう難しいです。JavaScript独特のイベント処理や、WebKitの仕組みうんぬんで、リンクをクリックするのにもハマったりします。何かいい方法あるはず、、と調べてたら、やっぱ…

PhantomJS入門 ページオートメーション

PhantomJSは、Webページのロード/操作が可能です。 Webページ上での様々な操作を自動化することができます。 DOMの操作 PhantomJSではDOMスクリプティングやCSSセレクタを使うことができます。 ブラウザで実行されているかのように振る舞います。 page = re…

PhantomJS入門 スクリーンキャプチャを撮るまで

JS

PhantomJSとは PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG. http://phantomjs.org/ PhantomJSはJavaScript APIで動…