株式会社プラスアールでは、エンジニア職(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又は類似のメソッドを実行する必要がある

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

※特にPHPエンジニアの採用強化中です!

今回も、問題が解けたら書類選考なしにいたします。
さらに、面接の際に寝たままパソコンスタンドをプレゼントしちゃいます。

寝たままパソコンスタンド

求人への応募はしないという方でも、
問題が解けた&弊社まで景品をとりに来ていただけるようでしたら、
先着5名様に限りスタンドをプレゼントいたします。

 

[問題]「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リンクを添付して下さい。

※求人に応募しない方は、”解けた!”というご連絡だけでも構いません。
景品だけ希望の場合はその旨ご記載ください。例:「景品ほしい」
※面接の日程についてはメールで調整致します。
※求人の定員に達し次第終了しますので、解けた方はすぐにご連絡下さい。

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

 

リリース後に大きいバグが発見される

→急いで修正しappleに緊急審査を依頼

→12時間後にリリースされ安心

 

ということが最近2回ありまして(反省も多いのですが)、メモを残しておきます。

 

既に緊急審査(expedited review)について書かれている記事も多く、annaok氏の投稿などを見ればやり方や様子もわかるのですが、申請したものの通らなかったという情報もよく目にするので、何かの付加情報になればと。

特に申請の際に悩ましいのは、「内容説明」の自由記入部分かと思いますので、その辺りを中心に箇条書きしておきます。

 

内容説明について

・日本語と英語を併記するのが良い(日本語しっかり+英語は自動翻訳 でも通った)

・バグの再現手順は細かく(OS等の指定+起動から押すボタン一個一個を順に+症状)

・ボタン名は日本語でも通じた(英語版で起動しても日本語画像なボタン もOKだった)

・ほとんどのユーザが使うことをアピール(毎日使う機能です 等 事の重さの説明)

・クレームがたくさん来てることをアピール(不要かもしれない…)

 

手順の細かい話

・修正版を申請→リクエスト投げる の順番は必ず守る。逆だとダメなことがある模様。

・審査落ちした際に担当者とやり取りをする”問題解決センター”は、新ビルド申請後は見られてない(多分)ので、ここに書いてから(再)申請するとメッセージが届かないことに注意する

 

頻繁にやると通らなくなるもの…という情報は今の所聞いたことはありませんが、通らなくなってからでは遅いので、本当に急いでいる時のみに使用しています。

 

余談 WWDCの影響なのか、今週は審査がいつもより長いです…(平均12日ぐらい。。)

 

 

初めて投稿します。今日は、先日リリースしたぐっすリンを開発する上ではまったMediaPlayerの落とし穴について話したいと思います。

 

ぐっすリンでは音を同時再生して音を組み合わせる機能があり、それをMediaPlayerを複数使って 実現しています。

また、音の種類が豊富で全43種類あります。そのためアプリの容量が60MBくらいになってしまい、Google Playにアップロードできなくなってしまいました。

考えた結果、音ファイルは別途サーバに置き、初回起動時に取得するようにしました。

サーバから取得したファイルは

/data/data/{アプリ毎領域}/files/

に置くようにしました。実装後、Nexus5で一通り動作確認して問題なさそうだったのでXperia(OS 4.0)でも動作確認してみたら・・・

落ちた。なぜだろうと思ったら、MediaPlayerのインスタンスが作られてなくて落ちてました。

ログを見てみると


<span class="pun" style="color: #000000;">E/MediaPlayer(21268): error (1,-2147483648)</span>

調べてみると参照したいファイルの読み取り権限がないと上記のようなエラーが出るようでした。

OS4.1, 4.2の端末で試してみたら問題なく再生できたので4.0の端末で発生する問題のようでした。

試行錯誤した結果、サーバからデータを取得するときに

 

bos = new BufferedOutputStream(new FileOutputStream(file));

となっていたところを

if (Build.VERSION.SDK_INT &amp;amp;amp;amp;amp;amp;amp;amp;lt;= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
 bos = new BufferedOutputStream(context.openFileOutput(getFileName(entry.getName()), Context.MODE_WORLD_READABLE));
} else {
 bos = new BufferedOutputStream(new FileOutputStream(file));
}

このようにサーバから取得して保存するときに権限を変えてあげると4.0でも再生することができました。
MODE_WORLD_READABLEはすべてのアプリからアクセスできてしまうのでセキュリティ上あまりよろしくありませんが、他に良い方法が見つかりませんでした。

時間があるときに改善したいと思います。