サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
やろう!確定申告
techblog.glpgs.com
お疲れ様です、TECH石浪です。 みなさんAWSはマルチアカウントにしていますか? 株式会社ガラパゴスも僕がJOINした頃と比べると社員数が3倍を超え、入社当時は1アカウントで開発本番両方をVPCで区切って扱っていましたが、今ではプロダクト毎+本番/開発と各環境ごとにAWS アカウントを用意する正気な開発になりました。 さて、そうなるとAWSアカウントの切り替えどうやろうってなりますよね、自分はずっとBASTIONユーザーからスイッチロールするJumpアカウントの手法を使っていました。 参考記事: マルチアカウントな AWS環境のマネジメントコンソールへのアクセス方法をまとめてみた | DevelopersIO しかしこの切り替え、環境が増えるとちょっと、いやかなり面倒なんですよね。 そこでaws-vaultを使ってみたところ、めっちゃよかったので紹介したいと思います。 なお aws-va
ガラパゴスのコードヒーヨアン(twitter: @luinily)です。 以前Swift 4でJSONの扱いについての記事を書きましたが、今回はその続きで、Swift 4.1で追加される機能や、実際のプロジェクトをObjectMapperからCodableに変更して見た話をしようと思います。 下記の流れに沿っていこうと思います。 単純な構造体でCodableとObjectMapperの紹介 Codableのキーとカスタムキーの紹介 Codableのカスタム読み込みと書き出しの紹介 Codableのデバグの紹介 プロジェクトを通したCodableとObjectMapperの比較 CodableとObjectMapperの紹介 この紹介で、下記のJSONをSwiftの構造体に読み込み、書き出しするための処理を紹介します。 JSON: { "food": "桜餅", "quantity": 1
こんにちは、iOS/Androidエンジニアのイバンです。 今回はアプリのアーキテクチャについての記事になります。 ソフトウエアのアーキテクチャというと様々な提案があります。iOSアプリ開発になると、アップルが推奨するMVCが一番よく使われているでしょう。 MVCと課題 MVCとはモデル(データ)・ビュー(ユーザインターフェース)・コントローラー(ロジック)という3つの責任にコンポーネントに分別するソフトウエアデザインパターンの一つです。 ビューはモデルのデータを表示して、コントローラーはビューとモデルを結びつくロジックを持っているコンポーネントです。 コントローラーは多くのUIのロジックとデータの処理のロジック両方を持ってコードの行数が簡単に何千行に上ります。iOSのMVCは実際にM + VC、つまり、ビューとコントローラーは一つになっているわけですね。 ビジネスロジックとUIロジックが
こんにちは、iOS開発チームの本柳です。 以前、弊社のブログにはじめようElm!という投稿でプログラミング言語のElmについて簡単に紹介しました。 Elmについて、興味がある方は是非一度御覧ください。 さて、今回はElmを書く上で基本的なシンタックス*1について書いていこうと思います。 コメント -- 1行コメント {- 復 数 行 コ メ ン ト -} 復数行コメントについては下記のように書くことで、簡単にコメントのイン/アウトを変更できるそうです。 {-- コメント --} {--} "複数行コメントの開始行末に`}`をつけることで簡単にコメントアウト出来る!" --} 文字リテラル シングルクオートで文字をくくるとchar型になります。 char型は1文字しか指定出来ません。 ダブルクオートで文字をくくるとString型になります。 また、"""〜"""で文字をくくることで複数行の文
ご機嫌よう、ガラパゴスのおとめです。 先日出社したら机に「Amazon Web Services 負荷試験入門 ークラドの性能の引き出し方がわかる」という本がおもむろに意味ありげに置かれていました。 さて、負荷試験と言ったらまず攻撃ツールに考えが及びますね? たとえばJMeterとかが有名どころかしらん? 先述の本には以下の攻撃ツールが掲載されています。 Apache Bench Apache JMeter Locust Tsung Erlangで書かれたTsungが掲載されているのが興味深いところですが、 ガラパゴスではwrkやGatlingが使われたりしています。 そこで今日はGatlingについてお話してみようと思います。 なぜGatling? 例えばJMeterでシナリオテストを作成する時はGUIで操作したりするかと思います。保存するとXMLが吐き出されましたね? でもシナリオが複
これはGalapagos Advent Calendar 20日目の記事です。 二度目まして。iOSチームの高橋です。好きな金額は二兆円です。 今回はiOS上で簡単にニューラルネットのモデルを実行させられるCoreMLを利用して、リアルタイムなスタイル変換を実装する話をします。 準備 Kerasモデルファイルの入手 さて、リアルタイムなスタイル変換を行う手法としてはarXiv:1603.08155が存在しますが、なんと!昨日の記事でまんださんがこれをKerasで実装してくれています!(しらじら) なので、できあがったh5モデルファイルをもらうことにしました。これさえあればモネ風のスタイル変換ができる、はずです。 mlmodelへの変換 Kerasのモデルファイルをもらったので、coremltoolsを使ってmlmodelファイルに変換します。 coremltoolsは現時点ではPython
これはGalapagos Advent Calendar 7日目の記事です。 はじめまして。高橋です。普段はiOSアプリの開発をやっています。好きな睡眠時間は24時間です。 今日は機械学習を使った文章生成とそのTwitter bot運用についてちょっと書きます1。 文章生成について モチベイション これは筆者の趣味なのですが、計算機に何か作らせたりするのが昔からの夢でした。ヒトならざるものの想像力への好奇心がそこにはあります。 今回はそれを文章の生成という形で実装しました。 生成モデルについて 昨年DeepMind社が発表したニューラルネットワークにWaveNetというものがあります。 これは音声データの合成のために作られたもので、既存の手法に比べて非常に高い性能を出しています。 ここではWaveNet自体の構造には立ち入りませんが、簡単に言うと「直前までの音声の波形から次に出す音を決定す
御機嫌よう、最近Swiftな世界に入門しているガラパゴスのおとめです。 今回は、SwiftからGoogle Cloud Vision APIとMicrsoft Cognitive Computer Vision APIのテキスト検出(OCR)を使ってみようと思います。 なお、この記事はSwift 3.0とXcode 8.2.1を対象にしています。 プロジェクトの作成 まず適当にプロジェクトを作ります。また、今回はAlamfireとSwiftyJSONを使っていますが、これらのライブラリはCocoaPodsでインストール・管理しました(インストール方法などは省略します)。 ではサクッとViewを作ってしまいます。今回はカメラロールから選んだ画像を上に、検出したテキストを下に表示したいと思います。 カメラロールを表示するボタンは何でもいいのですが、ここではNavigation Barにおいてみ
こんにちは、 11月8日にAWSxBot勉強会*1で無事に発表してきた@vanhuyzです。 発表資料も上げましたので、来られなかった方は是非チェックしてください! さて、今回の内容です。 最近、Google翻訳先生がすごくなるよという話題がありますね。 手法はこの論文*2に詳しく書いてありますが、基本的にSequence to Sequenceモデル (seq2seq) を使っているそうです。 背景 まず、seq2seqモデルを少しまとめてみます。 単純なseq2seqモデル seq2seqモデルは名前の通り、入力シーケンスから出力シーケンスに変換するモデルです。シーケンスはテキストでも良し、画像や音声でも構いません。そのため、seq2seqは機械翻訳、会話生成、画像キャプション、音声認識などに広く応用されています。 上の図にはABCというシーケンスからWXYZというシーケンスに変換しま
御機嫌よう、ガラパゴスのおとめです。 今日は、PhoenixのChannel機能を触りつつ、いつもわたしたちを苦しめる「ある問題」に挑戦してみようと思います。 Phoenix.Channelのおさらい さて、PhoenixのChannelについては既にいろいろな方が書かれていますが、簡単に言ってしまえば、WebSocketを使って複数のクライアントでリアルタイムに通信しましょう、ということになります。ちょっと簡易すぎるチャットなど実装してみましょう。公式サンプル通りのおさらいですのでサクッといきます。 まずはmix phoenix.newでプロジェクトを作成します。今回はchannel_sample_appというプロジェクトにしましたが、もちろんこの名前はお好みで。 $ mix phoenix.new channel_sample_app デフォルトでweb/channels/user_s
はじめに こんにちは、@vanhuyzです。 ガラパゴスのサーバーサイドではRubyがメインですから、是非一度もRuby会議参加したいと思い、今年2016年度のRuby会議@京都に参りました。 初参加で緊張ではありますが、楽しかったです。 会場の様子 会場の外見 せっかく参加したので、聴いた内容をまとめていきたいと思います。 Rubyの未来について 基調講演 Ruby3の型について “Ruby3 Typing” by @Matz Ruby3の目標は:Soft Typing、 Ruby3x3(3倍速く)とConcurrencyです。Soft Typingというのは現在RubyのDuck Typingを継承し、型チェックを加えるというアイデアです。要はプログラミングを実行する前に、型推論して型チェックする仕組みです。また、型情報をデータベース化するという考えもありました。これで、動的型の柔軟性
御機嫌よう。ガラパゴスのおとめです。 今日は、「次に来る大物Web言語」と前評判の高いElixirと、そのRailsぽいフレームワークPhoenixに触りつつ、RESTful APIを作るには欠かせないSwaggerドキュメントを生成してみようと思います。 あなたは、誰あれ? はじめに登場人物の簡単な紹介をしておきましょう。 ElixirとPhoenix? ガラパゴスはスマートフォンアプリの開発を主な事業としている会社です。一口にスマートフォンアプリと言っても、そこは端末だけで完結する世界ではなく、サーバとのやりとりが必要になります。 もちろんサーバーサイドはどんな言語で実装しても構わないのですが、パフォーマンスが気になったり、ホットデプロイしたかったり、煩わしい設定ファイルを書きたくなかったり、JEEが嫌いだったり、ActiveRecordが遅かったり、しますよね? そんな時、あなたの傍
はじめに こんにちは、Webチームの@vanhuyzです。 最近、暇なときにディープラーニングを勉強したり、TensorFlowをいじったりしています。 今回はまず簡単な問題を例に、理論と実際を比較しようと思います。 TensorFlowでXOR問題を解く 目的 XORをフィットさせたい 理論 XORとは XOR(排他的論理和)とは、与えられた2つの命題のいずれかただ1つのみが真であるときに真となる論理演算です。 真理値表: 0 0 0 0 1 1 1 0 1 1 1 0 数式*1 フィットしたい関数 (正解関数): データから予測する仮説関数: 今回の目的はがに近づけるようなパラメータを求めることです。正解関数 が未知ですが、点数が4つしかないので、とりあえずが全部の点を通ったら良いです。これが回帰問題ですね。 入力と出力を行列・ベクトルでまとめると、 $$ \mathbf{X} = \
こんにちは。株式会社ガラパゴスの細羽(@hosopy)です。 このたび、実に3-4年ぶりになりますが、エンジニアブログを再開することになりました! どんな会社? スマートフォンアプリの開発を得意とする会社です。 www.glpgs.com iOSアプリやAndroidアプリの開発はもちろんのこと、サーバサイド(バックエンド)も開発領域としています。 自社アプリもいくつかリリースしており、運動習慣支援アプリStart fitは、30万人を超える多くのユーザ様にご利用頂いております。 「脱・三日坊主」始めて続く ダイエットフィットネスアプリ - Start fit 株式会社ガラパゴスヘルスケア/フィットネス無料itunes.apple.com 最先端の技術に寄り添いながら人類の進化に貢献するというミッションを掲げ、日々、最新技術のチェックに余念がありません。 ブログへの思い 弊社はこれまで、対
このページを最初にブックマークしてみませんか?
『techblog.glpgs.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く