Author Archives: Admin

こんばんは。
最近暑くて、体調を崩す方が多いですね。
皆様は、お元気でお過ごしでしょうか?

さて、今回はエンジニアではなく、採用の小関がブログを書かせていただいてます。
なぜかというと!株式会社プラスアールでは、エンジニア職(PHP、iOS、Android)を絶賛募集しています!
https://www.wantedly.com/projects/58873

以前、公開して反響の大きかった「数独問題」を解き、
応募していただけた方へ今回もバックジョイをプレゼントいたします!
ご応募ではなく、「まず話を聞いてみたい!」という方でも、
先着5名様に限りプレゼントをいたします!

解けた方は、以下URLのメッセージで、解くのに用いたプログラムソースやgithubリンクを添付しご連絡ください。
https://www.wantedly.com/projects/58873
数独問題を解いて応募いただいた方は書類選考なしで、面談へお進みいただけます!
日程調整後、採用面談へ来ていただく際にバックジョイをお渡しいたします。

[問題]「16×16数独」

一般的に数独は3×3のマスが3×3、つまり9×9配置されますが、
4×4のマスが4×4、つまり16×16の盤面でも遊ぶことができます。
使う数字は1-9の9個ではなく、1-16の16個になります。
16といえば16進数ということで、0-9A-Fの16個の「数字」で数独問題を用意してみました。

ルール
・一つの列には0-9A-Fの一つずつが入る。
・一つの行には0-9A-Fの一つずつが入る。
・太枠の4×4にはそれぞれ、0-9A-Fの一つずつが入る。
※ナナメやその他のグループに制約はありません。

16×16 数独問題

上の空欄を、上記ルールに従って全て埋めて下さい。
埋め終わったら、https://www.wantedly.com/projects/58873 まで回答をメッセージにてご記載ください。
また、埋まった全ての盤面(csvでも画像でも構いません)と、
解くのに用いたプログラムソースやgithubリンクを添付して下さい。

※面接の日程についてはメールで調整致します。
※求人の定員に達し次第終了しますので、解けた方はすぐにご連絡下さい。

plusr_top-500x142

プラスアールは、健康情報&相談サイト「カラダノート」や、スマホでカラダの悩みや不安を解消するためのスマホアプリを、「カラダノート」シリーズとして両OS合計で60アプリ以上提供しております。

月間350万人以上の方にご利用いただいており、
シリーズ内の人気アプリ「妊娠なう」「陣痛きたかも」「血圧ノート」「お薬ノート」などは、AppStore/GooglePlay共にランキング上位に長らくランクインしております。

ユーザー視点の運営手法が注目され、東洋経済の新成長ビジネス100にも取り上げていただき、日経新聞にも度々サービスが紹介されるなど、多方面から注目をされているヘルスケアベンチャーです。

各アプリともにユーザーレビューも高く、感謝の声を多数いただいております。
”助けられています!”という声を多数いただけるサービス企画・開発にあなたも加わってみませんか?

ヘルスケアサービスに特化して事業を行っている会社なので、社員の健康や子育ての両立を第一に考えています。
・週1日までの在宅勤務可!毎週水曜日はノー残業デー
・ほぼ毎日家族と晩御飯を食べられる時間に帰宅しています。
・体への負担の少ないバロンチェアの導入
・腰やふくらはぎのマッサージ器完備!
・血圧計やストレスチェッカー、高性能な加湿空気清浄機の導入などを積極的に行っています。

少しでも気になった方は是非一度面談へいらしてください!
詳しくお話させていただきます。
もちろん数独問題ではなく、応募いただける方も大歓迎です。

https://www.wantedly.com/projects/58867

こんな募集もしています!
それでは、ご応募お待ちしております!

Android担当のseitoです。最近弊社ではCordovaを使ったアプリ開発に力を入れています。

今回はそのCordovaでCIを回したくてDocker+werckerでCI環境を作ってみました。

ざっくりとした手順は

1 werckerで呼び出すDockerイメージの作成

2 作成したDockerイメージをDocker Hubへプッシュ

3 wercker.ymlファイル作成

です。

 

1 werckerで呼び出すDockerイメージの作成

Docker Toolboxが入ってる前提で進めます。
まずはベースとなるOSを取得します。
Docker Quickstart Terminalを開きます。今回はCentOS6をベースにします。

docker pull centos:centos6

ダウンロードが始まります。しばらく待っているとダウンロード完了。
実際にダウンロードできたのか確認します。

$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos                    centos6             2f96ee8baf17        2 weeks ago         228.9 MB

無事できました。
次に先ほど取得したイメージからコンテナを作成します。

docker run -it centos:centos6

上記コマンドを実行すると作成されたコンテナ内のターミナルが開かれると思います。
実際にコンテナが起動しているか確認してみます。ctrl+p+qを押すとコンテナを起動したままコンテナ内のターミナルからexitできます。
コンテナが起動しているか調べます。docker psを使います。

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
a6f43b17c7e5        centos:centos6      "/bin/bash"         17 seconds ago      Up 16 seconds                           evil_hypatia

コンテナが起動してるのがわかりますね。
それではこのコンテナにモジュールを色々入れていきます。今回はCordovaでionicというフレームワークを使用しているので
ionicコマンドが打てるようにしたいです。
なので今回は
・node.js
・npm
をインストールして
・cordova
・ionic
です。それでは再びコンテナに入ります。
起動しているコンテナに入る時はdocker attachを使います。

$ docker attach a6f

ログインできました。
次にnode.jsをインストールします

# rpm -Uvh https://rpm.nodesource.com//pub_4.x/el/6/x86_64/nodesource-release-el6-1.noarch.rpm

現時点で生きてるrpmです。

# yum install nodejs

インストール後、動作確認します。

# node -v
v4.4.3

問題なさそうです。
続いてnpmも入れます。

# yum install -y npm

動作確認します。

# npm -v
2.15.1

後はnpmでcordovaとionicを入れるだけです。

# npm install -g cordova
# npm install -g ionic

ionicコマンドが打てればOKなので確認

# ionic -v
1.7.14

できました。
それではこのコンテナをイメージにしたいと思います。
docker commitを使います。
一旦ctrl+p+qでコンテナから抜けます。

$ docker commit a6f plusrseito/sample

イメージ名は適当です。
イメージの確認を行います。

$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
plusrseito/sample         latest              40775aeb5d44        21 seconds ago      631.8 MB

これでDocker Hubへ上げるコンテナができました。

2 作成したDockerイメージをDocker Hubへプッシュ

できたコンテナをwerckerから呼び出せるようにDocker Hubへ上げます。
Docker Hubのユーザ登録手順は省きます。

まずログインします。

$ docker login

docker pushでローカルにあるイメージをDocker Hubへあげます。
先ほど作ったイメージをあげます。

$ docker push plusrseito/sample

今更ながらもうちょいまともな名前にすればよかった。
コマンドを叩くとアップロードが始まります。
作ったイメージのサイズによりますが、けっこう時間かかります。
完了したらDocker Hubのダッシュボードでイメージが上がっているか確認します。

スクリーンショット 2016-04-20 11.14.47

無事アップロードできました。既に2回プルされてるのは何だろう?と気になりつつもスルーします。

3 wercker.ymlファイル作成

前提として、対象プロジェクトのリモートリポジトリをwerckerと関連付ける作業が終わってるものとします。

実際にCordovaのプロジェクトで作ったDockerイメージを使っていきます。
Cordovaのプロジェクト直下にwercker.ymlを作成します。

wercker.yml

box: plusrseito/sample
build:
  steps:
    - script:
        name: check ionic version
        code: |
          ionic -v

今回はサンプルなのでバージョンチェックのみです。
wercker.ymlを追加したら変更をコミット・プッシュします。
werckerの対象プロジェクトのページでCI状況を確認します。

スクリーンショット 2016-04-20 11.24.51

スクリーンショット 2016-04-20 11.27.36

ビルドに成功してますね。
これで自分で作ったDockerイメージを使ってwerckerでCIする環境が整いました。

注意点として、wercker.ymlに記述するコマンドは一度Dockerコンテナ作成中に試しておくことをお勧めします。
ionic state resetやionic build等を使ったときにnpmパッケージが足りないというエラーが出てはまりました。
docker run でvオプションを使うとローカルディレクトリとコンテナ内のディレクトリを同期できるので、自分はその方法で
プロジェクトを取り込み動作確認してからDocker Hubに上げるようにしています。

それでは良いCIライフを。

こんにちは。Android担当のseitoです。最近Web開発のお手伝いを始めました。

個人でホームページ等作ったことはありましたが、業務で携わるのは初めてでできるだけ足手纏いにならないよう頑張りたいと思います。

 

さて、今日はWeb開発用に作成したVMの挙動ではまった話です。

環境

・VirtualBox 4.3.28
・CentOS 5.11
・Vagrant 1.7.2
・Apache 2.2.15
・SublimeText 2
・PHP 5.3.3

 

現象

・CSSの更新が画面に反映されない
・更新したCSSファイルの末尾に謎の文字化けが
スクリーンショット 2015-07-17 17.35.01

 

文字化けしてることからエンコード形式が原因だと思いSublimeText2のエンコードを確認。

UndefinedになっていたのでUTF-8でエンコードし直して再度確認。。。

が改善されず。VMに入ってviでファイルを確認しても文字化けしていませんでした。

色々試していると、どうやら文字化けというよりキャッシュまわりが怪しそうな動作でした。

ぐぐってみるとドンピシャの記事を発見しました。

 

対策

この記事を元に

<Directory /var/www/html/>
    ・・・

    EnableMMAP Off
    EnableSendfile Off
</Directory>

Apacheサーバのドキュメントルートに対してキャッシュを無効にする設定を行いました。

そのあとApacheを再起動し、スーパーリロードしてあげるとCSSが反映されました。

CSSがまったく更新されなければキャッシュだと気づいたかもしれませんが、文字化けが発生するのが原因究明を遅らせました。

 

Webエンジニアへの道のりは険しい・・・

株式会社プラスアールでは、エンジニア職(PHP、iOS、Android)を募集しています!
http://www.plusr.co.jp/recruit/programmer

弊社求人へ、先日公開して反響の大きかった「数独問題」を解き応募していただけた方へ
今回はKindle新モデルをプレゼントいたします!

kindle

数独問題にて求人へ応募する場合は、回答メールアドレス宛に
解くのに用いたプログラムソースやgithubリンクを添付しご連絡ください。
数独問題を解いて応募いただいた方は書類選考なしで、面談へお進みいただけます!
日程調整後、採用面談へ来ていただく際にKindle新モデルをお渡しいたします。

[問題]「16×16数独」

一般的に数独は3×3のマスが3×3、つまり9×9配置されますが、
4×4のマスが4×4、つまり16×16の盤面でも遊ぶことができます。
使う数字は1-9の9個ではなく、1-16の16個になります。
16といえば16進数ということで、0-9A-Fの16個の「数字」で数独問題を用意してみました。

ルール
・一つの列には0-9A-Fの一つずつが入る。
・一つの行には0-9A-Fの一つずつが入る。
・太枠の4×4にはそれぞれ、0-9A-Fの一つずつが入る。
※ナナメやその他のグループに制約はありません。

16×16 数独問題

上の空欄を、上記ルールに従って全て埋めて下さい。
埋め終わったら、左上から右下までの対角線(黄色い部分)の文字列をメールアドレスとして、
xxxxx7xxx6xxxxxx@plusr.co.jp までご応募下さい。(xに答えが入ります)
また、埋まった全ての盤面(csvでも画像でも構いません)と、
解くのに用いたプログラムソースやgithubリンクを添付して下さい。

※面接の日程についてはメールで調整致します。
※求人の定員に達し次第終了しますので、解けた方はすぐにご連絡下さい。

 

plusr_top-500x142

プラスアールは、健康情報&相談サイト「カラダノート」や、スマホでカラダの悩みや不安を解消するためのスマホアプリを、「カラダノート」シリーズとして両OS合計で60アプリ以上提供しております。

月間300万人以上の方にご利用いただいており、
シリーズ内の人気アプリ「妊娠なう」「陣痛きたかも」「血圧ノート」「お薬ノート」などは、AppStore/GooglePlay共にランキング上位に長らくランクインしております。

ユーザー視点の運営手法が注目され、東洋経済の新成長ビジネス100にも取り上げていただき、日経新聞にも度々サービスが紹介されるなど、多方面から注目をされているヘルスケアベンチャーです。

各アプリともにユーザーレビューも高く、感謝の声を多数いただいております。
”助けられています!”という声を多数いただけるサービス企画・開発にあなたも加わってみませんか?

ヘルスケアサービスに特化して事業を行っている会社なので、社員の健康を第一に考えています。
・体への負担の少ないバロンチェアの導入
・腰やふくらはぎのマッサージ器完備!
・血圧計やストレスチェッカー、高性能な加湿空気清浄機の導入などを積極的に行っています。
・月曜朝には健康を意識したおめざをご用意
・淹れたてのコーヒーや果実酢、ミキサーで作ったスムージーなどが飲み放題!

詳しくはこちらから。
http://www.plusr.co.jp/recruit/programmer

少しでも気になった方は是非一度面談へいらしてください!
詳しくお話させていただきます。
もちろん数独問題ではなく、応募いただける方も大歓迎です。

それでは、ご応募お待ちしております!

 

※前回の寝たままパソコンスタンドプレゼントは5名に到達し終了とさせていただきました。今回のプレゼントは求人応募の方限定とさせていただいております。ご了承ください。

以下のようなコードがメインスレッドで実行されるのを期待している場合、2.2以前までは、データベースに保存されるが、2.3.0以降では保存されない。

let td = Todo.MR_createEntity()
td.title = titleText.text
td.managedObjectContext?. MR_saveOnlySelfAndWait()

MR_createEntity でdefaultContextにEntityが生成され、MR_saveOnlySelfAndWaitではdefaultContextに保存される。defaultContextに変更があった時点で、データベースに保存されることを期待している。しかし、2.3.0以降では、 MR_rootSavingContextができたため、defaultContextで保存処理が行われてもデータベースには反映されない。

解決策として、アプリ終了時にdefaultContextから MR_rootSavingContextに保存するか、保存のたびに MR_saveToPersistentStoreAndWait又は類似のメソッドを実行する必要がある