タグ

2016年9月22日のブックマーク (17件)

  • [Xamarin]バックグラウンドで定期的に処理する方法 - Qiita

    概要 iOSでは当記事のとおり実装することで、アプリがバックグラウンドに移った場合でもいろいろと処理させることができます。 今回はバックグラウンドに移っても、処理が停止せず、一定タイミングでイベントを発生させる方法を書きます。 2016/9/25 追記 タイトルに「Xamarin.Forms.iOS」と書いていましたが、 誤解を招く記載であったため修正しました。 また、末尾のコメントにてshagaさんに教えていただきましたとおり、 位置情報を使わずともバックグラウンド処理は可能であるため、 純粋にバックグラウンドの処理を知りたい方は、コメント欄をご確認ください。 調べ方が良くなかったですね。反省・・・。 バックグラウンド処理の実装準備 Xamarin.Formsでバックグラウンド処理を実装するにあたり、iOSの「位置情報サービス」の設定が必要となります。 そもそもiOSのバックグラウンド処

    [Xamarin]バックグラウンドで定期的に処理する方法 - Qiita
  • Linuxのforkシステムコールをハックする - Qiita

    最近C言語で学ぶソケットAPI入門という投稿をアップさせて頂いていて、TCP、UDPを使ったプログラムまではとりあえず書いてみたので、そろそろネットワークプログラミングでは必要不可欠な並列化処理や多重化処理の方に移ろうと思っています。 そこで、今回はマルチプロセスの処理について掘り下げようと思ってます。マルチプロセスを実現するにあたって重要なシステムコールはforkです。 もともとLinuxで子プロセスを生成するシステムコールはforkというものであることは知っていますし、使い方も何となく知ってはいました。 ただ、それがどういった実装によって実現されているのかまでは知らなかったので、この際ちゃんとソースコードを追って調べてみました。 とはいえソースコードだけ追っていくのが辛い場面もあったりしたので、そんな時はとりあえずfork関数を使った適当なコードをgccで静的リンクさせたオブジェクトコ

    Linuxのforkシステムコールをハックする - Qiita
  • Nianticの求人から推測する『Pokémon GO(ポケモンGO)』のサーバ構成 - Qiita

    1ワールドで済ますというチャレンジ Nianticの求人を見ていて、凄く驚いたのは、「Software Engineer - Server Infrastructure」での次の項目。 all on a single, coherent world-wide instance shared by millions of users. 対訳 全ての(アクション)は、数百万のユーザーに共有された単一の一貫した(サーバ群で行われる) つまり、ポケモンGOは1ワールドで構成されている。MMOのサーバを作ったことがある人なら5それがどんなに大変かピンとくるだろう。特に、ポケモンGOの様に一日に数百万人とかが遊ぶゲームで、1ワールドでゲーム世界を構築するのは、結構大変だ。6 MMOで1ワールドがなぜ大変か(データストレージとの戦い) MMOの様なオンラインゲームで、1ワールドがなぜ大変かを図示する。

    Nianticの求人から推測する『Pokémon GO(ポケモンGO)』のサーバ構成 - Qiita
  • ImageOptim — better Save for Web

    ImageOptim makes images load faster Removes bloated metadata. Saves disk space & bandwidth by compressing images without losing quality. Faster web pages and apps Reduces image file sizes — so they take up less disk space and down­load faster — by applying advanced compression that preserves quality. Image files scrubbed clean Removes invisible junk: private EXIF meta­data from digital cameras, em

  • Swiftでプッシュ通知用のDevice Token(Data型)を16進数文字列へ変換する方法 - Qiita

    let token = deviceToken.map { String(format: "%.2hhx", $0) }.joined() The English version is here: How to convert an APNs token to String from Data? 以下、以前微妙な書き方をしていてSwift 3移行時にうまく変換できなくなってしまった反省や、他の書き方などの紹介となっています。 UIApplicationDelegateのapplication(_:didRegisterForRemoteNotificationsWithDeviceToken:)で渡ってくるdeviceToken(デバイストークン)はData型(Swift 2.2まではNSData型)ですが、それを16進数文字列に変換するやり方について紹介します。 僕はSwift 2.2ま

    Swiftでプッシュ通知用のDevice Token(Data型)を16進数文字列へ変換する方法 - Qiita
  • (Swift3.0対応)ContainerViewとStoryboardをフル活用して複雑なUIを作るサンプルをSwift3.0へ書き直し対応した際のまとめ - Qiita

    (Swift3.0対応)ContainerViewとStoryboardをフル活用して複雑なUIを作るサンプルをSwift3.0へ書き直し対応した際のまとめiOSSwiftSwift2.2Swift3.0Xcode8 1. はじめに 先日下記のようにContainerViewとStoryboardを活用して、複雑なUIを作成するためのTIPSを投稿しました。おかげさまで結構ストックを頂くことができて当に嬉しく思うと同時にこれほどの反響を頂き感謝しております。 以前の記事:SwiftでContainerViewとStoryboardをフル活用して複雑なUIを実現する際の実装ポイントまとめ ただ上記の記事を書いた次の日にXCode(Ver8.0)がアップデートされたので、Swift2.3とSwift3.0にしてConverterで変換を行ったところ、Swift2.3はほぼそのままイケる感じ

    (Swift3.0対応)ContainerViewとStoryboardをフル活用して複雑なUIを作るサンプルをSwift3.0へ書き直し対応した際のまとめ - Qiita
  • [Unity]CrossPlatformInputを使ってみる - Qiita

    環境 下記の環境を使用しています。 Unity 5.4.1 C# 1.下準備 [File > Build Settings]から[Android]を選択しSwitch Platform [Assets > Import Package > CrossPlatformInput]を選択、インポート 2.オブジェクトを配置 [Assets/Standard Assets/CrossPlatformInput/Prefabs]から[MobileSingleStickControl]をヒエラルキーにドラッグ&ドロップ [GameObject > UI > EventSystem]を選択し、EventSystemを追加 [Mobile Input > Enable]を選択。(選択出来なければ選択した状態なので問題なし) 基的にここまで完了すれば動きます。 using UnityEngine; us

    [Unity]CrossPlatformInputを使ってみる - Qiita
  • 全てのシーンに存在し、かつ、一つしか存在してはいけないマネージャー的存在の実装方法【Unity】 - (:3[kanのメモ帳]

    この記事でのバージョン Unity 5.3.4f1 Personal はじめに Unityゲームを作っていると、 全てのシーンに存在し、かつ、一つしかいないマネージャー的な存在が必要になりますよね。 例えばBGMやSEなどの管理を行うAudioManagerなんてものとか。 一つしか存在してはいけないマネージャー的存在の実装については、以前紹介しました。 問題は"全てのシーンに存在"の方ですが、素直に全シーンに配置してしまうのは面倒だし、 シーンが変わる度にマネージャーが新しくなるので、シーンを跨いでの処理ができなくなります。 かといってDontDestroyOnLoadを使ってマネージャーが消えないようにすると、 シーンを移動した時にマネージャーが重複してしまいます。 最初のシーンだけに設置するということも考えられますが、 これだと他のシーンだけでテストが出来ません。 今回はそれらの問

    全てのシーンに存在し、かつ、一つしか存在してはいけないマネージャー的存在の実装方法【Unity】 - (:3[kanのメモ帳]
  • オブジェクトのフェードイン・フェードアウト - Unityな日々(Unity Geek)

    Standard Shaderを適用したモデルのフェードイン・フェードアウトは、Colorのアルファ値を変更することによって、行う。 Color値を変えるメソッドは、 Material.SetColor(string propertyName, Color color) で、第1引数はどのColorを変えるかを指定するもの。 具体的には、Standard Shaderでは、 _Color _EmissionColor の2種類のColorクラスがあるので、どちらを指定する。 第2引数は、設定するColor.これは、RGBAのプロパティを持っているので、このうちのA(アルファ)を変えることで、フェードイン・アウトを実装する。 ポイントは、Materialから取得したColorに対して変更を加えるだけではだめで、変更したColorを、SetColor()で対象Materialに戻してやらなけれ

    オブジェクトのフェードイン・フェードアウト - Unityな日々(Unity Geek)
  • Googleが開発しているC++最適化ライブラリCeres Solverの使い方とサンプルコード - MyEnigma

    これなら分かる最適化数学―基礎原理から計算手法まで 作者: 金谷健一出版社/メーカー: 共立出版発売日: 2005/09/01メディア: 単行購入: 29人 クリック: 424回この商品を含むブログ (41件) を見る 目次 目次 Ceres Solverとは? Ceresの名前の由来 Ceres Solverの特徴 Ceres Solverの利用用途 各プラットフォームのインストール方法 Ceres Solverを使った最適化サンプルコード サンプルの最適化処理を実行する 制約付き非線形最適化の基礎 非常に簡単な非線形最適問題を解いてみる Ceres Solver関連記事 より深く最適化を学びたい人は 参考資料 Ceres Solverとは? Ceres Solverは、 Googleが開発&公開している オープンソースの最適化用C++ライブラリです。 Ceres Solver — A

    Googleが開発しているC++最適化ライブラリCeres Solverの使い方とサンプルコード - MyEnigma
  • Cで飽和++ - Qiita

    飽和 #とは 詳細は Saturation arithmetic を読むと良いけど、ようは signed char なら 126を++すると127になってほしいけど、127を++すると127のままになってほしいわけですよ。signedの整数はオーバーフローの挙動が未定義だしね。そういうことにならないようにしたい。 で、かつ、まあ、速く動いて欲しいわけ。わざわざCで書いてるんだからな。 解法 ものすごい最近のgccの場合 __GNUC__ >= 7 から組み込み関数 __builtin_add_overflow_p が増えているので、これで一発。すばらしい。

    Cで飽和++ - Qiita
    s_ryuuki
    s_ryuuki 2016/09/22
  • Fork - a fast and friendly git client for Mac and Windows

    Fork is getting better and better day after day and we are happy to share our results with you.

    Fork - a fast and friendly git client for Mac and Windows
  • MySQL 8.0.0 Development Milestone Release登場!!

    先月、詳解MySQL 5.7を発刊したばかりであるが、MySQL 5.7自体は去年の10月にリリースされたバージョンである。それから約1年弱、MySQLは開発の手を緩めること無く日々改良を重ねている。 そう、MySQL 8.0の登場である。 現在はDevelopment Milestone Release(通称DMR)という状態なので、まだ正式版における機能が固まっている段階ではないという点には注意して欲しい。MySQLの開発プロセスでは、DMRをリリースするごとにその段階で成熟した機能をマージする。DMRを何度かリリースした後に、キリの良いところでリリース候補版となって正式版で追加される機能が一応確定し、その後バグ修正を経て正式版(GA版)がリリースされる予定となっている。詳しくはMySQLのマニュアルを参照して欲しい。 バージョン8.0!!5.7の次は誰もが5.8だと思っていただろう・

    MySQL 8.0.0 Development Milestone Release登場!!
  • Go言語の低レイテンシGC実現のための取り組み | POSTD

    (訳注:2016/9/28、頂きましたフィードバックを元に記事を修正いたしました。) 私たち Twitch では、通信が大変混み合うシステムの多くで Go を採用しています。ライブ映像を配信したり、何百万人というユーザにチャットサービスを提供したりする場合に直面する問題を考慮すると、Goはそのシンプルさや安全性、パフォーマンス、読みやすさの点で良いツールだと言えます。 しかしこれは、私たちにとってGoがいかに素晴らしいツールかを説明する、よくある記事ではありません。Goで現在実装されているランタイムにより行き詰まったいくつかの局面をどう打開するか、さらに、私たちはそうした限界に達した時にどう対応したらいいのかについて書いたものです。 これからお話しするのは、「Go 1.4からGo 1.6へのGoランタイムの改善が、どのようにしてガベージコレクション(GC)の停止時間を20倍も改善することに

    Go言語の低レイテンシGC実現のための取り組み | POSTD
  • ReDoc - Swagger/OASを使ったWeb APIドキュメントジェネレータ MOONGIFT

    開発者向けドキュメントの基と言えるのがAPIドキュメントです。ライブラリだけでなく、最近ではWeb API向けのドキュメントも増えてきました。そのデファクトフォーマットになろうとしているのがSwagger/Open API Specification(OAS)です。 今回紹介するReDocはそんなSwagger/OASをベースにAPIドキュメントを生成するソフトウェアです。 ReDocの使い方 デモです。3カラム構成になっています。一番右側にJSON構造が書かれています。 スキーマが見やすくなっており、折りたたむこともできます。 右側のレスポンスについても折りたためますので見たいところだけをチェックできます。 SwaggerにはSwagger UIというビューワーがありますが、ReDocも負けず劣らず見やすいドキュメントではないでしょうか。公開されているJSONで自由に試せますので(CO

    ReDoc - Swagger/OASを使ったWeb APIドキュメントジェネレータ MOONGIFT
  • ファイルアップロードの例外処理はこれぐらいしないと気が済まない - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 脆弱性について 参考リンク PHPにおけるファイルアップロードの脆弱性CVE-2011-2202 PHP 5.4.1リリースのポイント 上記に対する補足説明 PHP 5.4.1以降 PHP 5.3.11以降 どちらかを満たしているならば,脆弱性は(今のところ)無い.どちらも満たしていないと, $_FILES 変数の構造を崩す攻撃 ../ をファイル名に含めて送信する攻撃 (ディレクトリトラバーサル) の何れか,もしくは両方の脆弱性を所持していることになるので要注意. 脆弱性対策と注意事項 $_FILES Corruption 対策 改竄されたフォームからの複数ファイル配列送信対策 脆弱性が修正された環境でも 改竄フォーム対策 も兼ねて

    ファイルアップロードの例外処理はこれぐらいしないと気が済まない - Qiita
  • Firebase 対応の Android アプリのビルド準備

    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

    Firebase 対応の Android アプリのビルド準備