サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
techblog.ca-reward.co.jp
昨年10月に、Google Formでファイルアップロードが使えるようになりました。 Google Formは非常に簡単で使いやすく、お手軽にアンケートを作れるのですが、 これでファイルの収集もできるようになり、さらに利用シーンが増えそうです。 ファイルアップロードからのGASでやれることも増えそうなので、試してみることにします。 ※Google Formでファイルアップロードが使えるのは、G Suite(旧Google Apps for work)のみです。ご注意ください。 Form作成 作業用に適当にGoogle Driveにフォルダ作り、そこでForm作成します。 回答方式のプルダウンで、「ファイルのアップロード先」を指定し、その他項目を整えていきます。 Formと同じフォルダに、アップロード用のフォルダが出来ています。 早速テストしてみます。 アップロード結果です。Formのフォル
スマートフォンとCharlesをつなぐ 何はともあれCharlesとスマートフォンを繋いでみます。 (CharlesがインストールされたMacとスマートフォンが同じネットワークに接続している必要があります) Mac MacのIPアドレスとCharlesのポート番号を確認します。 iOS端末とAndroid端末で設定する際に必要になるので控えておきます。 IPアドレスの確認 ifconfigコマンドやシステム環境設定からMacのIPアドレスを確認します。 Charlesの[Help]メニューの[Local IP Address...]からも確認することができます。 Charlesのポートを確認 Charlesの[Proxy]メニューから[Proxy Settings...]を選択します。 [Proxies]タブ内の[HTTP Proxy]にポート番号が記述されています。デフォルトでは「888
こんにちは。フロントエンドエンジニアの佐藤です。 おそらく名前くらいは聞いたことがあるであろうPostCSS。 Sassとは何が違うの? どうやって書けばいいの? そろそろ導入を検討してみたいんだけど...。そういった疑問にサンプルコードを交えながらお答えします。 PostCSSとは PostCSSは、JSプラグインでCSSを変換するためのツールです。 PostCSS本体は特定の構文を別の構文に変換するといった機能は持たず、CSSパーサーとAST(抽象構文木)のみを提供しています。 プラグインを組み合わせていき、SassやLESSのようなビルドシステムを作り上げることができるイメージです。 プラグインは変数、mixin、次世代CSSの構文が使えるようになるもの、最適化など多種多様です。 これらを必要に応じて組み込み、ビルドツールとして機能拡張していきます。 Sass、LESSとの違い Sa
CAリワードとグループ会社のiXam合同で、LT形式のGo勉強会を実施しました。今回は勉強会の様子と発表内容についてご紹介していきたいと思います。 iXam 杉澤 テーマ iXamチームのGo Go導入実績 2016年8月 chatopsとして導入 2016年11月 レポートデータから最適な予算を導きだすシステム構築 2017年2月 クライアントデータ等を提供するプロダクトリニューアル 現在、プロダクトリニューアルの開発が進行中 Go言語を使っているところ SPAのAPI処理 バッチ処理 chatops 使用ライブラリ Webアプリのフレームワーク:labstack/echo ORM(mysql):gocraft/dbr cache(redis):chasex/redis-go-cluster CSV I/O:gocarina/gocsv Testing:Go標準 vendoring:k
データマイニングエンジニアの白井です。今回は個人的に興味を持っている確率モナドを使った話題について紹介したいと思います。 はじめに 関数型言語において参照透過性が保たれるためには、ある値を代入された関数はいかなる場合でも同じ値を返さなければなりません。しかし、確率的な事象を扱う場合には毎回異なる値を返すため、その性質が壊されてしまいます。その解決策として確率をモナドにして、参照透過な実装とサンプリングの操作を完全に切り離すことが考えられます。今回は連続的な確率においてどのように確率モナドを構築するのかを説明し、統計モデリングで使われる Metropolis-Hastings 法の実装をしてみます。全体を通して scala を使って実装してみたいと思います。 今回扱う内容は確率モナドの有用性を理解することを目的としており、実用性は重視していません。もし、業務で統計モデリングが必要な場合は S
こんにちは、開発部の小高です。今回は先日行われた golang.tokyo#3 についてレポートしたいと思います。 golang.tokyo#3 はじめに CAリワードではGoを採用し始めて約2年程経ちました。 最近ではGoを採用〜運用している企業様が増えてきましたね。 CAリワードではGunosy、エウレカ、メルカリ様と共同でgolang.tokyoを開催し、Goの良い点、気をつけるべき点、実際に使ってみてハマった事などを、ブログ・勉強会を通じて発信しています。 golang.tokyoも無事3回目を迎え、今回は渋谷マークシティのCyberAgent本社で開催させていただきました。ご足労いただいた皆様、改めてありがとうございました。 テーマ golang.tokyo#3 のテーマは「パフォーマンス」。 Goといえばやはりその速さ。みなさん待ちに待ったテーマではないでしょうか(笑) タイム
概要 最近の業務でのこと。 Go言語で書かれたサービスが色々なロジックを持つようなってきたので、俗にいうマイクロサービスへの分割を行いました。 分割したサービス同士の通信には、速い速いと噂のgRPC(http://www.grpc.io/)を適用しました。分割後のサービスは同じサーバー内で稼働させることに。 それなら、通信はデフォルトのTCPでなく、Unixドメインソケットでプロセス間通信をしたほうが速いんじゃね?ということで、今回はGo言語でgRPC使う際に、Unixドメインソケットでプロセス間通信する実装方法、また、TCPとのパフォーマンス比較などを書きます。 実装方法 Unixドメインソケットを使用は、コネクションの取得時に指定します。 何も指定しない場合は、以下のような感じ。 // デフォルトでTCP. conn, err := grpc.Dial("127.0.0.1:9000"
開発部の小高です。 今回はBigQueryのパーティショニングについてです。 BigQueryに対しての操作はAPI、WebUI、コマンド(bq)が用意されていますが、今回はbqコマンドベースでの操作について紹介したいと思います。 メリット スキャンするデータ量が制限される(コスト削減) スキャンデータ量が抑えられる為、SQLが高速になる expireオプションを使用する事で、定期的に過去データの削除が可能 注意点 パーティショニング機能が提供される前は、分割テーブルに対して TABLE_DATA_RANGE で参照テーブルを明示していましたが、パーティショニングの場合、期間指定なしでSQLを発行すると全期間スキャンしてしまうので注意が必要です。 パーティショニング操作 テーブル作成(schema定義なし) MySQLなどの場合、テーブル作成というと、CREATE TABLE でカラムの定
こんにちは、エンジニアのいいのです。 今年も残すところあと少し。 大掃除を兼ねてGoogle Apps Script(以下GAS)にあるコードをES2015で書き換えていこうと思います。 今回はローカルでの開発環境作りからES2015化、GASへのアップロード方法までをご紹介致します。 やること GASプロジェクト作成 ローカル環境構築 ES2015化 GASにアップロード GASプロジェクト作成 GASでプロジェクトを作成します。 既にプロジェクトがあればここはスルーしてください。 Google Driveの任意の場所でGASのファイルを作成します。 APIキー作成 作成したGASプロジェクトを開きます。 プロジェクト名とコード名もこの時に付けておきましょう。 コード名はデフォルトだとコード.gsになっています。 このままにすると、ローカルで開発するファイル名がコード.jsになってしまい
この記事はGo (その3) Advent Calendar 2016 2日目の記事です。 こんにちは。開発部の平田です。今回は、Golang に標準で組み込まれているデータ競合の検知の仕組みである race detector と、どのようなケースで検知してくれるのかについて https://golang.org/doc/articles/race_detector.html を元に簡単に紹介したいと思います。 Golang には goroutine という並行処理のための機構があるので、気軽に goroutine を起動して並行処理を書くことが出来ます。その為、意図しない所でレースコンディションが発生してしまうことが時々あります。極力そういったことが起きないように基本的には channel を使って値をコピーして渡したりするのですが、思わぬ所で発生してしまうデータレースに対して検知する仕組
はじめに こんにちは。開発部の辻です。タイトルは釣りです。 通常のGo言語を使った開発においては、unsafeパッケージを利用する機会はあまりないと思います。 また、名前が示す通り、Go言語が担保してくれている安全性の枠組みを超える部分の機能となりますので、積極的に利用するべきものではありません。 (Google App Engine等、unsafeの利用を禁止しているプラットフォームもあります) とはいえ、どんなものなのか、何ができるのか、くらいは抑えておきたいと思い、今回のテーマとしました。 あまり実用的な内容ではないことをあらかじめお断りしておきます。 unsafe.Pointerについて unsafeパッケージをunsafeたらしめているのが、このPointer構造体です。unsafe.Pointerは、あらゆる型の変数のアドレスを保持することができます。C言語のvoid型ポインタ
SlackにはGithub連携機能元から存在しています。 しかし、元からある連携機能では少し物足りない点があります。 GithubでmentionしてもSlackではmentionしてくれない コードへの指摘コメントを貰ってもSlackには対象のコードが表示されない LGTM画像を送っても同じ画像だと表示されないことがある?(これはSlack側の仕様だと思います そこでHubotを使って自前でGithubとSlackのコメントを連携させることにしました。 機能 IssueとPullRequestへのコメントをSlackに流す コメント内のGithubのMentionをSlackのMentionに変換する PullRequestのコード差分へのコメントであればコード差分をもSlackに表示する LGTM画像が常に表示されるようにする おせっかい機能:LGTM画像が必要そうなら勝手に追加してP
概要 こんにちは、開発部のやまつかです。 先日、gRPCがGA(General Availability)になりましたね! (https://github.com/grpc/grpc/releases/tag/v1.0.0) この記事はリリース直後のタイミングで出すと決めていたのですが、なかなかGAにならず、結局2ヶ月くらい掲載待ちました。 過去記事でも取り上げましたが(gRPC x Go言語 x Unixドメインソケット)、 CAリワードでは今年の1月より、golangのサービス間の通信にgRPC を本番環境で導入しています。なんせ、速い。 今回のGAになるにあたり、導入当時より新機能が幾つか追加されていたので、そのうちのLoad Balance機能 とBackoff機能を紹介します。 golangのgRPCライブラリ、gRPC-goに関する記事となります。 gRPCとは Googleが
こんにちは。開発部の辻です。 Docker Swarm + Composeな構成を、VPNなどネットワーク的な制約が幾つかある環境に構築しました。 その際にいくつかハマり、学びがあったので記事にしたいと思います。 バージョンなど ホストOS cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) docker docker version Client: Version: 1.11.0 API version: 1.23 Go version: go1.5.4 Git commit: 4dc5990 Built: Wed Apr 13 18:40:36 2016 OS/Arch: linux/amd64 Server: Version: 1.11.0 API version: 1.23 Go version: go1.5.4
こんにちは。佐藤です。 AMPについてキャッチアップしなければと考えているウェブエンジニアの皆様に向けて、AMP対応の方法ではなく高速化を実現するためAMPが採用している技術面にフォーカスしてご紹介します。 AMPは活発にアップデートが行なわれており、状況も非常に速いスピードで変わっています。GitHubのリリースページもチェックしていくと良いでしょう。 AMPとは? AMPとは、Googleが主導するモバイル端末でのWebページの表示高速化プロジェクトです。 AMPに準拠したWebページはGoogleのクローラーによってキャッシュされます。Googleの検索結果からこのキャッシュされたページにアクセスすると、モバイル端末では高速に表示されます。 このとき高速表示のポイントは以下の二つです。 ページ自体がGoogleによってキャッシュされていて、アクセス時のレスポンスが高速である 検索結果
参考までに。 はじめに 今回は、HTML5 videoを使った動画プレイヤーの実装と検証を行った、 HTML5 video HTML5 video × HTML5 canvas(以下canvas) の2つの手法ついて、ソースコードとそれぞれの再生を実現する方法と問題点についてまとめてみました。 jpeg × HTML5 canvas は動画のフレーム毎にキャプチャした画像を順番にcanvasに描画するパラパラマンガ的な手法なのですが、こちらについては次の機会にまとめようと思います。 (1. )videoを利用した動画プレイヤー videoを利用し、動画のインライン再生と自動再生を行う検証です。 この手法はvideoを利用した最もシンプルな方法になるのですが、 iOS/Safariでインライン再生が実現できない iOS/Safari、Android/ブラウザで自動再生が実現できない といった
こんにちは。開発部の平田です。 今回は、PHP製のWeb APIをGoに移植するプロジェクトでアプリケーションの情報やエラーを出力する為のLoggerを検討した際に、uber-go/zapというライブラリが公表しているパフォーマンスがその他ライブラリと比べて大分良かったので、どこでパフォーマンスの差を出しているのか、そのアプローチを簡単に紹介したいと思います。 Zap 初めに、簡単にzapの紹介をしておくと今年の2月にUberから公開されたまだ比較的新しいプロダクトです。その為開発ステータスはBetaの段階で出力もJSONしか対応していませんが、Github上で800以上のスターが付いており注目されているプロジェクトとなっています。 「Fast, structured, leveled logging in Go」とあるように、構造化されたログを出力するためのライブラリで、標準のlogのよ
このページを最初にブックマークしてみませんか?
『Tech Blog|株式会社CAリワード』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く