タグ

ブックマーク / codezine.jp (107)

  • マイナンバーカードの仕組みはどうなっている? RustでAndroidアプリを作ってみて分かったこと【デブスト2021】

    2020年コロナ禍の特別定額給付金では、マイナンバーカードがあればオンライン申請できて早めに給付金を受け取ることができた。少しずつマイナンバーカードを持つメリットが増えてきた。将来的には健康保険証や運転免許証の代替として利用できるという話もある。しかしもっと大きなメリットがあるという。ゆめみ 池口直希氏がRustを使ったマイナンバーカードを操作するアプリの作成を通して解説する。 株式会社ゆめみ マーケティングソリューション事業部 サーバーサイドエンジニア 池口 直希氏 マイナンバーカードの仕組みはどうなっている? 国立豊田高専を中退し、2021年4月にゆめみに入社した池口直希氏。サーバーサイドエンジニアPHPTypeScript、C#、GoRustといった言語のほか、AWSTerraformDockerなどを使う。「なんでも屋なので、フロントエンドにも手を出したりもしています」と

    マイナンバーカードの仕組みはどうなっている? RustでAndroidアプリを作ってみて分かったこと【デブスト2021】
    craf
    craf 2022/03/04
  • Androidのページング処理のライブラリ「Paging 3」の移行と実装のポイント

    今までページング処理を実現するために使用されていたPagingライブラリについて、Paging 2の後継となるPaging 3の安定版が2021年5月5日にリリースされました。記事では、簡単なPaging 2とPaging 3の対応付けと「APIから取得したデータを表示するだけの場合」「APIから取得したデータをDBに保存してキャッシュをする場合」の2種類の要件別に実装方法を説明していきます。 Pagingライブラリとは Pagingライブラリとは、ページング処理を楽に実装するためのライブラリです。執筆時点での最新安定板は、2021年5月5日リリースの3.0.0です。Paging 3とは、Pagingライブラリの3.x.xのライブラリを指します。同様に以前使用されていたPaging 2はPagingライブラリの2.x.xのライブラリを指します。 ページング処理とは、簡単に言うと大きなデー

    Androidのページング処理のライブラリ「Paging 3」の移行と実装のポイント
    craf
    craf 2022/02/17
  • 秒間28万リクエストをさばく! 「グラブル」を支えるサーバーサイドの技術【デブサミ2020】

    2020年3月10日に6周年を迎えた「グランブルーファンタジー」。開発会社である株式会社Cygamesの開発チームは、サービス開始以降、日々増加するユーザー数やリクエスト数、そして次々と公開される新施策を支えてきた。そして、より快適なユーザー体験を提供できるよう、最適技術の導入や運用改善に努めているという。同社サーバーサイドエンジニアの小松美穂氏、大橋庸氏が登壇し、秒間28万リクエストのサーバー負荷のかかるイベント「決戦!星の古戦場」の実例を紹介しながら、運用体制や技術的改善の具体的な方策について紹介した。 古戦場とともに成長してきた「グラブル」のシステム管理 「グラブル」の愛称で親しまれ、多くのファンを持つ「グランブルーファンタジー」。いわゆる「王道スマホ系RPG」として、2014年3月のローンチ以来、累計登録者数は2500万人を超え、成長し続けてきた。頻繁にアップデートが行われ、仲間の

    秒間28万リクエストをさばく! 「グラブル」を支えるサーバーサイドの技術【デブサミ2020】
    craf
    craf 2020/03/28
  • React Nativeとは何か? 基本の仕組みと使いどころを理解する

    WebブラウザとAndroid、iOSが、アプリの動作環境としてそれぞれ市民権を得た現代では、サービスを1つ作るだけでも、各プラットフォームに対してアプリを提供することが当たり前のように求められます。連載では、この問題に立ち向かうため、ReactJavaScriptによるWebアプリケーション開発に近いお作法でAndroidやiOSのアプリ開発ができるツール「React Native」を紹介します。まずは、React Nativeというツールがどういった仕組みで動いているのか、また、どういった分野に向いているのかを解説します。 対象読者 JavaScriptとWeb開発の基礎に理解がある方 Reactを用いたJavaScriptアプリケーション開発の経験者 Androidアプリ開発の経験者 iOSアプリ開発の経験者 前提環境 記事の内容は、React Native v0.57.4の実

    React Nativeとは何か? 基本の仕組みと使いどころを理解する
  • Appiumを使った、自律的にアプリの情報を収集しバグを探し出すクローラーとは【Appium Conf 2019】

    6月14日から15日にかけて、インド・バンガロールでAppium Conf 2019が開催されました。300人を超える自動化エンジニア、QAエンジニアが集い、Appiumを活用した自動テストを中心に30以上ものセッションが行われました。この記事では、Justin Iron氏によるセッション「Appium Native App Crawler」をもとに、機能テストの自動化だけにとどまらないAppiumの可能性について紹介します。 はじめに AppiumはモバイルアプリケーションのE2E UIテストを行うテスティングフレームワークであり、機能テストやリグレッションテストの自動化などで用いられることが多いです。それによってコスト削減やフィードバックの速さを期待できます。 一方で、これはE2E UIテストのデメリットでもありますが、UIや機能の変更に追従するのにはある程度コストがかかります。そのた

    Appiumを使った、自律的にアプリの情報を収集しバグを探し出すクローラーとは【Appium Conf 2019】
    craf
    craf 2019/07/16
  • Appium Conferenceから見えてきたAppiumの今後の進化と、機能テストのその先【Appium Conf 2019】

    6月14日から15日にかけて、インド・バンガロールでAppium Conf 2019が開催されました。300人を超える自動化エンジニア、QAエンジニアが集い、Appiumを活用した自動テストを中心に30以上ものセッションが行われました。この記事では、基調講演をベースにAppiumの今後と、機能テストのその先の一つとしてVisual Testingのセッションについてまとめていきたいと思います。 Appium Conferenceとは Appiumとはネイティブアプリ、モバイルウェブ、ハイブリッドアプリの操作を自動化できるオープンソースのツールです。iOS、Androidを中心に複数のプラットフォームをサポートするクロスプラットフォームのツールでもあります。 Appium ConferenceはAppiumを中心とした国際カンファレンスで、去年の2018年に初めてロンドンで開催され、今年で2

    Appium Conferenceから見えてきたAppiumの今後の進化と、機能テストのその先【Appium Conf 2019】
    craf
    craf 2019/07/16
  • Spring Fest 2018 参加レポート~Springでも本格的に進むKotlin対応、ネイティブコンパイルによる起動高速化など (1/4):CodeZine(コードジン)

    JavaのOSSフレームワークである「Spring Framework」に関する国内最大規模のイベント「Spring Fest 2018」が、10月31日に東京・両国のKFC Hall & Roomsで開催されました。今年もビギナー向けのセッションから、テクニカルなセッション、エンタープライズでの適用事例まで幅広い内容のセッションを取り揃え、700名前後の参加者が会場へ足を運びました。稿ではバラエティ豊かな全25のセッションの中から一部をピックアップしてレポートします。 記事のレポーター陣 岩塚卓弥、岡田敏、鈴木源吾、持田誠一郎(所属は全員 NTTソフトウェアイノベーションセンタ) Spring Festとは Spring Festは、Spring Frameworkに関する国内最大規模のイベントであり、JSUG(日Springユーザ会)主催で年に一回開催されています。 朝一番目の基

    Spring Fest 2018 参加レポート~Springでも本格的に進むKotlin対応、ネイティブコンパイルによる起動高速化など (1/4):CodeZine(コードジン)
    craf
    craf 2018/12/10
  • クリップボードビューアを作ろう! ~Windows 10 1809の新機能「クリップボード履歴」にアクセス (1/7):CodeZine(コードジン)

    2018年秋のWindows 10の大型アップデート「1809」の新機能に「クリップボードの履歴」があります(「クラウドクリップボード」とも)。クリップボードにコピーした履歴を、デバイス間でローミングできる優れものです。その履歴を参照するAPIも一緒に提供されました。さっそくアプリを作って試してみましょう。 適用バージョン:Windows 10 version 1809(build 17763)以降 はじめに 「クリップボードの履歴」はWindows 10 1809(build 17763)の新機能で、履歴にアクセスするポップアップが[Windows]キー+[V]キーを押すと立ち上がります(次の画像)。クリップボードへコピーした履歴が遡って表示され、どれかを選ぶとそのときアクティブなアプリ(画像では「メモ帳」)に貼り付けられます。それぞれの履歴の左下には、コピーした時刻(または、ローミング

    クリップボードビューアを作ろう! ~Windows 10 1809の新機能「クリップボード履歴」にアクセス (1/7):CodeZine(コードジン)
    craf
    craf 2018/12/08
  • UWPアプリでファイルマネージャーを作ろう! ~ついにWindows 10 1803で実現 (1/6):CodeZine(コードジン)

    2018年春のWindows 10の大型アップデート「1803」で、ついにUWPアプリからファイルシステムへの「フルアクセス」が可能となりました。これからはファイルマネージャーのようなUWPアプリも作れる、ということです。今回は、同じく1803で追加されたTreeViewコントロールと組み合わせて、ファイルマネージャーの骨格部分を作ってみます。 ※適用バージョン:Windows 10 version 1803(build 17134)以降 はじめに Windows 8とともに「ストアアプリ」が登場し、それはWindows 10でUWP(Universal Windows Platform)アプリへと進化してきました。「ストアアプリ」のプラットフォームは、セキュリティやユーザーのプライバシー保護に重点を置いていました。ユーザーにとっては好ましい特徴ですが、引き換えにアプリにとっては不自由な制

    UWPアプリでファイルマネージャーを作ろう! ~ついにWindows 10 1803で実現 (1/6):CodeZine(コードジン)
    craf
    craf 2018/09/28
  • Visual Studio 2017 updateでサポートされた「C++17のparallel algorithms」

    Visual C++C++17対応 並列アルゴリズム:parallel algoritmsはC++17で標準C++に組み入れられました。4年ほど前、parallel algorithmsのMicrosoft実装:ParallelSTLを紹介しました。これがVisual C++で公式サポートされるんじゃないかと期待していたけど、Visual C++ 2017リリース時には入ってなくてがっかりしたんですよね。 で、今年5月のVisual Studio 2017 updateでサポートしたとの情報を耳にして早速更新かけたところ、Visual Studioのバージョンは15.7.x、Visual C++はMSCバージョン19.14にupdateされました。 Visual C++開発チームのblogによると、Visual C++は今回のupdateでC++17対応がおおむね完了したようです。これま

    Visual Studio 2017 updateでサポートされた「C++17のparallel algorithms」
    craf
    craf 2018/07/09
  • C++11:スレッド・ライブラリひとめぐり【補足編:1】

    #include <thread> #include <chrono> #include <string> #include <iostream> /* * フツーの関数 */ void global_fun(int n) { using namespace std; cout << "global_fun: " + to_string(n) + " 秒後に終了します...\n"; this_thread::sleep_for(chrono::seconds(n)); cout << "global_fun: おしまい\n"; } /* * ラムダ式 */ auto lambda_exp = [](int n) { using namespace std; cout << "lambda_exp: " + to_string(n) + " 秒後に終了します...\n"; this_thre

    C++11:スレッド・ライブラリひとめぐり【補足編:1】
    craf
    craf 2018/03/05
  • SeleniumとWebDriverの最新事情~標準化が進み、さらに強力なテストツールへ! その影でSelenium IDEは……

    illustration by iwasawa これまでのSelenium さて、最新事情に触れる前に、記事をご覧の皆様は既によくご存知かとは思いますが、あらためてSeleniumとは何か、そして現在の形に至るまでの道をおさらいしておきましょう。 Seleniumは、Webブラウザの自動操作ライブラリです。人間がWebブラウザでやるような手作業を、自動的に再現できます。単純作業の自動化に利用できるほか、一般的な自動テストフレームワークと組み合わせることでEnd to End(E2E)テストの自動化を実現できます。Webアプリケーションのテスト作業で苦労されている方にとっては福音のようなライブラリですが、自動テストコードや実行環境の維持・実行時間などが大がかりになりがちで、利用コストは高めです。回帰テストの自動化など、繰り返し利用が多い用途への適用が特に効果的でしょう。 Seleniumの

    SeleniumとWebDriverの最新事情~標準化が進み、さらに強力なテストツールへ! その影でSelenium IDEは……
    craf
    craf 2017/07/27
  • Androidアプリの新レイアウト「ConstraintLayout」をCheck It Out!

    2017年3月、Android Studioの新バージョン2.3がリリースされました。注目すべき点は、なんといっても2.2から導入されたConstraintLayoutが安定したことです。他にも、画像ファイルのWebP形式への変換や、Instant Runの機能向上など、注目に値する新機能が追加されました。この連載では、前後編の2回にわたってAndroid Studio 2.3の新機能を紹介します。後編である今回は、最も注目すべき点であるConstraintLayoutを紹介します。 対象読者 Androidアプリ開発者 ConstraintLayoutとは ConstraintLayoutの具体的な使い方の解説に入る前に、まずConstraintLayoutについて解説しておきましょう。 ConstraintLayoutがデフォルトレイアウト ConstraintLayoutはAndro

    Androidアプリの新レイアウト「ConstraintLayout」をCheck It Out!
    craf
    craf 2017/06/20
  • 視覚的にイメージしにくいアルゴリズムを徹底的にイラストで表現するとこうなる

    近年、IT企業の社員研修ではアルゴリズムを理解することが重視されるようになってきました。しかし、文字とフローチャートだけでは仕組みをイメージしづらいのも事実。『アルゴリズム図鑑』ではアルゴリズムをまず視覚的にイメージできるように、26種類のアルゴリズムをイラストで解説。3種類のアルゴリズムを紹介します。 『アルゴリズム図鑑』の元となったのは、Appleが2016年末に発表した「ベストApp10選」に選ばれたアプリ「アルゴリズム図鑑」です。 勉強しようと思っても、文字や少数の図解だけでは仕組み・概念を理解しづらいのがアルゴリズム。アプリではイラストで表現することでその課題を解決し、大変な好評を得ました。書は紙幅を活かして一覧での見やすさを高め、26種類のアルゴリズムを徹底的にイラストで表現しました。 今回は書から、データ構造の「リスト」、グラフを探索するアルゴリズムの「幅優先探索」、デー

    視覚的にイメージしにくいアルゴリズムを徹底的にイラストで表現するとこうなる
  • Visual C++ 2017で一足お先にfilesystem

    filesystemの概要 filesystemはBoostに収録されたライブラリ:boost.filesystemをベースとし、今年末までには決まるはずの標準規格:C++17の一部となる予定。まだ仕様が確定していないので、Visual C++ 2015/2017に見つけたfilesystemは実験的(experimental)な実装であり、クラスや関数は名前空間:std::experimental::filesystemに置かれています。 filesystemのイケてるところをお見せするため、「カレント・ディレクトリ配下のファイル/ディレクトリを再帰的に列挙する」コードを書きました。 まずはWin32-API版。 #undef UNICODE #include <Windows.h> #include <iostream> #include <string> void walk_dir_

    Visual C++ 2017で一足お先にfilesystem
    craf
    craf 2017/05/16
  • 「Elixir Conf Japan 2017」全セッションレポート ~ 日本での活用事例が増えているElixir/Erlang

    2017年4月1日に秋葉原コンベンションホールにて「リアルワールドでのElixir/Erlang活用に焦点を当て、既に実戦投入できる技術であることを実感していただく」「Elixirに興味を持つ方々やElixirユーザーの方々を盛り上げ、ユーザーを増やしコミュニティに勢いをつけ、プログラミング言語Elixirの活用を強く推進する」ことを狙いとしたElixir Conf Japan 2017が開催され、300名以上の参加者が集まりました。 「Opening Keynote」 José Valimさん Elixirの作者であるJosé Valimさんによるオープニングキーノートです。Joséさんが日にいらっしゃるのは2回目で、前回は2013年のRubyKaigiのキーノートでRubyにおける並行プログラミングの可能性について話されて以来4年ぶり、また日へ来られてうれしいとのことでした。 20

    「Elixir Conf Japan 2017」全セッションレポート ~ 日本での活用事例が増えているElixir/Erlang
    craf
    craf 2017/04/21
  • 秒間100万クエリ・8万リクエストの「グラブル」安定稼働を支える、Cygames「3つの取り組み」【デブサミ2017】

    ゲーム好きにはもちろん、普段はスマホゲームに興味がない人にも「グラブってる?」のTVCMでおなじみのタイトルとなったCygamesの「グランブルーファンタジー」。2017年1月には登録ユーザー数が1400万人を突破し、記念キャンペーンも開催された。これだけ大規模なソーシャルゲームの安定稼働を支えるためには、どのような技術や取り組みが求められるのか? インフラ構築・運用にかかわる人にとっては気になるところだろう。セッションでは、Cygamesのインフラセクションマネージャーを務める佐藤太志氏が「膨大なログデータの収集・活用」「リアルタイム通信の高速化」「タグシステムによる運用効率化」という3つの取り組みを中心に紹介。グラブルを支えるさまざまなインフラ技術や大規模ゲームならではの運用の工夫を語った。 講演資料:グランブルーファンタジーを支えるインフラの技術(Cygames Engineers

    秒間100万クエリ・8万リクエストの「グラブル」安定稼働を支える、Cygames「3つの取り組み」【デブサミ2017】
    craf
    craf 2017/04/05
  • IoTのセキュリティ設計って、どこから学んだらいいの?

    「IoT(Internet of Things:モノのインターネット)」は注目度が高いものの、全体的に未成熟な分野だと言われています。利用者にとって、また事業者にとっても、想定される脅威に対応したセキュアなIoT製品を開発することが課題であり、そのための情報、ガイドライン、あるいはその教材の需要は高いと考えられます。 そこで稿では、独立行政法人情報処理推進機構(IPA)より公開された、「IoT開発におけるセキュリティ設計の手引き」(以下、ガイドライン)について紹介します。このガイドラインの初版は、2016年5月12日に公開されたもので、IoT開発においてセキュリティ設計を担当している技術者を主な対象として作成されています。 IPA「IoT開発におけるセキュリティ設計の手引き」 このガイドラインは、高い頻度で更新されており、さまざまなIoT製品に言及した体系的な文書となっています。当然なが

    IoTのセキュリティ設計って、どこから学んだらいいの?
  • AWKブーム第1世代は「アイドル辞書」で学んだ――日本GNU AWKユーザー会 斉藤さん

    CodeZineがPodcastを始めます。「かまぷとゆうこのデベロッパーズ☆ラジオ」略して「デブ☆ラジ」。この番組では、USP研究所のかまたひろこと、CodeZine編集部の近藤佑子が、ソフトウェアデベロッパーのみなさんに向けて、IT技術に関するちょっといい話をお送りします。音声に加えて、ダイジェスト版の記事もお届け。記念すべき第1回のゲストは、日 GNU AWK ユーザー会 斉藤博文さんです。 iTunesからの視聴はこちら! 近藤佑子(以下、ゆうこ) 今回が第1回の放送なんですけれども、この番組はですね、今年の2月にあったオープンソースカンファレンスのあとに、2人で飲んでて「やろう」って言ってね。やっと始められましたね。 かまたひろこ(以下、かまぷ) そうですね。吉祥寺のCAFE ZENONで。 ゆうこ かまたさんはその前にも対談の企画をやられてたんですよね。 かまぷ はい。『So

    AWKブーム第1世代は「アイドル辞書」で学んだ――日本GNU AWKユーザー会 斉藤さん
    craf
    craf 2017/02/10
  • RxJava(2.x)の最初に知っておいてもらいたいオペレータ

    対象読者 Java経験者(初心者可) RxJava未経験者 リアクティブプログラミング未経験者 ※ただし、前回までの連載を読んでいる前提です。 RxJavaのオペレータとは RxJavaのオペレータとは、前述したように新たにFlowableやObservableを生成したり、生成したFlowableやObservableが通知するデータの選別や変換などを行ったデータを通知する新たなFlowableやObservableなどを生成したりするメソッドのことです。オペレータの結果として生成されるものは、基的にはFlowableから呼ばれればFlowableで、Observableから呼ばれればObservableを生成します。例外として、最終的に通知するデータが1件以内の場合、戻り値が今回はまだ紹介しないSingleやMaybeやCompletableになることもありますが、基的な考え方は同

    RxJava(2.x)の最初に知っておいてもらいたいオペレータ
    craf
    craf 2017/01/26