タグ

ブックマーク / qiita.com (477)

  • Google Spreadsheet を簡易 Webサーバーとして動かして、手軽にWebHookを受け取る方法 - Qiita

    Google Spreadsheet を簡易 Webサーバーとして動かして、手軽にWebHookを受け取る方法GoogleAppsScriptWebhook 外部のサービスからの通知を WebHookで受け取ってちょっとした処理をしたいことってたまにありませんか? たとえば、アプリのクラッシュログを解析するFabricの Crashlytics には、新しいクラッシュが発生したり特定の閾値を超えると WebHookで通知してくれる、つまり特定の URL にPOSTを発行してくれる機能があります。 これを上手く使うと、下の図のように「新しいクラッシュが発生したら Backlogなどのチケット管理サービスに自動登録」といったことができそうです。 もちろんCrashlyticsから BacklogAPIは直接叩けないので、このように WebHookを使ってこちらのサーバを叩いてもらい、そのサー

    Google Spreadsheet を簡易 Webサーバーとして動かして、手軽にWebHookを受け取る方法 - Qiita
    letsspeak
    letsspeak 2018/03/07
  • Swiftコンパイラ開発用の環境構築 - Qiita

    この記事では、swiftコンパイラ開発における作業環境構築の知見を紹介します。 リポジトリ構成 swiftコンパイラプロジェクトは、複数のリポジトリから構成されています。その中で主役となるのがapple/swiftです。これら複数のリポジトリの管理は、git submoduleなどの一般的な仕組みではなく、swiftコンパイラプロジェクトで独自に提供される管理操作用のスクリプトを用いて行います。 複数のリポジトリは、同一のディレクトリに列挙されます。そのため、swiftコンパイラ開発の作業用ディレクトリを1つ用意して、その中に主役のswiftリポジトリをチェックアウトし、その他のリポジトリもそのディレクトリに列挙されるようにします。作業用ディレクトリの名前はなんでも良いですが、記事中ではswift-sourceとします。 チェックアウト 初回構築 初めて作業環境を構築するときは、まずはじめ

    Swiftコンパイラ開発用の環境構築 - Qiita
    letsspeak
    letsspeak 2018/03/06
  • 「暗号化」の反対は「復号化」じゃなくて「復号」なんだよ - Qiita

    言いたいことはタイトルで全部言ってしまってますが、以下細かい内容を。 scivolaさんのQiita などの技術系の記事で残念に思うポイントに触発されて、普段から思っていたことを書いてみました。 まず「暗号化」とは何か。これを説明する時には以下のような図が使われます。 暗号化 ----------------------------------> 平文 暗号 <---------------------------------- ??? 元になる「平文」があって、それを「暗号」「にする」から「暗号化」ですね。 じゃあ「暗号化」の逆の操作をする、上の図の「???」の部分はなんと言えばいいのでしょうか。 平文にするから「平文化」? 流石にこんな言い方をする人は見たことないですね。 元になる単語が「encrypt / decrypt」で"en"と"de"が対になるためか、「復号」という訳語が当て

    「暗号化」の反対は「復号化」じゃなくて「復号」なんだよ - Qiita
    letsspeak
    letsspeak 2018/03/04
  • 2018年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita

    可及的速やかにReactが絶滅しますように。 以下はFront-End Developer Handbook 2018の第三部、Front-end Developer Toolsからリンクされているツールと、その簡単な紹介です。 ドキュメントツール 開発者向けドキュメント、APIリファレンス Dash 200以上のAPIリファレンス、100以上のチートシートを一括ダウンロードできる。有料、Mac用。 DevDocs 200以上のライブラリをオンラインで検索できる。無料。 Velocity 中身はDashと同じ。有料、Windows用。 Zeal WindowsLinuxMacOS用各種揃っている無料のオフラインドキュメント。 チートシート devhints.io JavaScriptCSSGovim等のショートカット、書式などチートシート。字が薄くて見辛い。 SEOツール Key

    2018年のフロントエンドエンジニアならこの程度は知ってて当然だよな? - Qiita
    letsspeak
    letsspeak 2018/03/01
  • GitHub に AWS キーペアを上げると抜かれるってほんと???試してみよー! - Qiita

    🤔 前書き 稀によくある 、AWS を不正利用されちゃう話、 AWSで不正利用され80000ドルの請求が来た話 - Qiita 初心者がAWSでミスって不正利用されて$6,000請求、泣きそうになったお話。 - Qiita AWSが不正利用され300万円の請求が届いてから免除までの一部始終 - Qiita ブコメ等で GitHub にはアクセスキーを検索するBOTが常に動いていて、公開するとすぐに抜かれて不正利用される 的なコメントがつくのを何度か目にしたのですが、 当にそんな BOT が動いているの? どのくらいの時間でキーを抜かれて、不正利用が始まるの? というのが気になったので、検証してみました。 GitHub にそれっぽいパブリックリポジトリを作成、権限が一つもついてない AWS のアクセスキー&シークレットアクセスキーをうっかり公開、外部から利用されるまでの時間を計測します。

    GitHub に AWS キーペアを上げると抜かれるってほんと???試してみよー! - Qiita
    letsspeak
    letsspeak 2018/02/25
  • Javaではif (isAdmin == true)というコードを書いてはいけない - Qiita

    はじめに 当たり前だと思うのですが、意外と守られていないことがあります。その1つの例として、条件分岐でのbooleanの扱いを挙げてみます。 ~~タイトルには「Javaでは」と書きましたが、おそらくどの言語でも同じです。~~JavaScriptなど他の言語では当てはまらないので取り消します1。 何がダメか 明確にコーディング規約で否定しているケースもありますが2、Javaでは以下のようなコードは書いてはいけません。 if (isAdmin == true) { // isAdminがtrueのとき } if (isAdmin == false) { // isAdminがfalseのとき }

    Javaではif (isAdmin == true)というコードを書いてはいけない - Qiita
    letsspeak
    letsspeak 2018/02/20
    見落とさないように == false 書く派閥に加入している
  • JSフレームワークの末端がWebComponentsになるのか、なれるのか、検証してみた - Qiita

    https://speakerdeck.com/mizchi/real-world-es201x-and-future で、「Reactやその他のフレームワークの末端はWebComponentsになるのではないか?」という話をした。とはいえ、実際に自分でそういうものを実装したわけではなかった。 じゃあ実際に、Reactから web components を呼ぶにはどうなるだろうか?実装してみた。 ゴールの設定 こういうコードが動いてほしいとする。 import React from 'react' export default class Home extends React.Component { constructor() { super() this.state = { value: 0 } } componentDidMount() { let cnt = 0 setInterva

    JSフレームワークの末端がWebComponentsになるのか、なれるのか、検証してみた - Qiita
    letsspeak
    letsspeak 2018/02/14
  • “Web Componentsだけ” で新サービスを実装して見えたこと - Qiita

    Double O というサービスを作りました。 フロントエンドはピュアな Web Components を採用していて、バックエンドは Lambda と DynamoDB のみで構成しました。 (厳密には CloudFront とか API Gateway とかもあるけどそこは省いていいよね?) REST API 以外の Util 系の Lambda 関数はすべて AWS Cloud9 で管理することで環境構築も不要な Lambda ができて楽でした。 TL;DR サーバーレスについてはごく普通のことしかしていないので、詳しくは触れないでおきます。 ピュアな Web Components だけでサービスを成立させることができた。 HTMLElement クラスを継承するだけなのでメジャーライブラリは不要になった。 Web Components の Custom Elements は標準仕様

    “Web Componentsだけ” で新サービスを実装して見えたこと - Qiita
    letsspeak
    letsspeak 2018/02/14
  • React Redux の SPA を運用して得られた知見と実装例、開発フローもあるよ! - Qiita

    Facebook が開発したUI ライブラリ 旧来の DOM 操作による状態管理を props や state で抽象化 パーツをコンポーネントごとに管理するのが得意 https://reactjs.org/ から、ライブデモを試せます。 SPAなどの複雑化する React のステート(状態)管理を、ルール(哲学)に従って書かせることで、フロントエンドの動きを追いやすくするためのライブラリ (*個人的解釈です) もともとは Flux と言う、データの流れを一方向に制限することで、流れを追いやすくするという、オブザーバーパターンの亜種から、さらに転じた考え方。 Redux と言う名前は 「Reducer」 + 「Flux」 で 「Redux」だそうです。array.reduce と同じような役割を Reducer が担います。詳しく知りたい方は作者の発表をご覧ください Dan Abramov

    React Redux の SPA を運用して得られた知見と実装例、開発フローもあるよ! - Qiita
    letsspeak
    letsspeak 2018/02/07
    ボリューム間ある
  • もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita

    管理画面のフロントエンドコードを書く時代は終わりました。 Vironがあれば、OpenApi(Swagger)でAPI定義を行い、実装するだけで管理画面が完成します。 そしてこれはOSSです。誰でも自由にお使いいただけます。 概要 Vironは、複数の管理画面を管理できるよう設計された、管理ツールマネージメントコンソールです。 APIサーバーとOAS2.0 jsonファイルを作成するだけで、管理画面が一つ完成します。 経緯 私の会社では、大小さまざまな自社サービスが開発・運用されています。 管理画面をサービス・サイト毎に作っていましたが、それには限界がありました。 エンジニアからしたら、管理画面用のデザインやAPIを作らなきゃいけない。工数がかかる。 運用・プロデューサーは、UIUXが管理画面で違うため、操作を覚えるという学習コストが高い。 さらに外から見たいときにスマホから見れないし、

    もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita
    letsspeak
    letsspeak 2018/02/02
    読んでないけどこういうの作ろうと思ってたのですばらしい / 思ってたよりもコード書かないとダメなのかな
  • RailsでReactをサーバサイドレンダリング(use Hypernova by airbnb) - Qiita

    はじめに Railsにも対応しているJavaScriptのサーバサイドレンダリング用ライブラリairbnb/hypernovaが、airbnbからリリースされました。 この記事では、シンプルなRailsアプリを構築し、これまたシンプルなReactコンポーネントをサーバサイドレンダリングで表示するまでのチュートリアルを解説します。 ReactによるSPA(シングルページアプリケーション)も増え、Google等の検索エンジンでもある程度はページ内容を解釈してくれるらしいですが、サーバ側でHTMLをレンダリングして出力するサーバサイドレンダリングを利用すると、より正しくページ内容を解釈してもらえます。 Hypernovaとは A service for server-side rendering your JavaScript views Hypernovaは、JavaScriptコンポーネント

    RailsでReactをサーバサイドレンダリング(use Hypernova by airbnb) - Qiita
    letsspeak
    letsspeak 2018/01/24
  • 【今日からできる】コミットメッセージに 「プレフィックス」 をつけるだけで、開発効率が上がった話 - Qiita

    はじめに 今まで commit message を「なんとなく」書いていたが、プレフィックスをつけることで、コミットメッセージに対する考え方が変わった。 そのおかげで開発効率が上がったので、その内容をシェア。 プレフィックスをつけるってどういうこと? 以下のようにコミットメッセージの先頭に、なんらかの文字をつけること。 feat: xxx という機能を追加 fix: yyy で発生するバグを修正 refactor: zzz の機能をリファクタ のように feat, fix, refactor などがプレフィックスです。 最近 OSS の Contribution Guide などでよく見かけます。 導入したプレフィックスルール Angular.js/DEVELOPERS.md Angular.js の開発者ガイドに書いてあるメッセージを参考にしました。 以前のコミットメッセージ(例 ちなみ

    【今日からできる】コミットメッセージに 「プレフィックス」 をつけるだけで、開発効率が上がった話 - Qiita
    letsspeak
    letsspeak 2018/01/24
  • Web Animations API を使ってみる - Qiita

    Animation周りが苦手だったので、Flash のタイムラインアニメーションエディタみたいなものを練習がてら作ってみたい、ということで勉強した。 記事は勉強ログ気味。 Web Animations API とは CSS Animation の keyframe 制御を JS から可能にしたようなもの。 CSS Animation は 自分で止まったり再開したりできないし、フレーム制御も出来ない。 JS から制御できないのでコントロールしづらかったが、その問題を解決する。 Web Animations 実装具合と Polyfill Can I Use 見る限りは Firefox で 実装済み、 Chrome で実装中 https://caniuse.com/#feat=web-animation polyfill なしで試した結果、chrome で elem.animate(...)

    Web Animations API を使ってみる - Qiita
    letsspeak
    letsspeak 2018/01/24
  • Railsのファットモデル問題に対処する前に読んでほしい記事 - Qiita

    背景 Skinny Controller, Fat Model Railsではスキニーコントローラー、ファットモデル(Skinny Controller, Fat Model)という方針のもと、 コントローラーのコード量を少なくして、モデルを分厚くするという書き方が推奨されていました。 10 Ruby on Rails Best Practices — SitePoint Rails Best Practices 1: Fat Model – Skinny Controller このような背景から、ファットモデルという設計が目指すべき設計という認識となりました。 「ファットモデル問題」の登場 ところが、原因はわかりませんが、次第にファットモデルが問題があるものとしてみられるようになりました。 界隈では「ファットモデル問題」として取り上げて解決するという方法が紹介されるようになります。 20

    Railsのファットモデル問題に対処する前に読んでほしい記事 - Qiita
    letsspeak
    letsspeak 2018/01/23
  • ファイル変更監視してコマンド実行するやつ - Qiita

    #!/bin/sh # see also http://mizti.hatenablog.com/entry/2013/01/27/204343 usage() { echo "実行するには2個の引数が必要です。 第一引数: 監視対象ファイル名 第二引数: 監視対象ファイルが更新された際に実行されるコマンド 例: ./autoexec.sh a.cpp 'g++ a.cpp && ./a.cpp'" } update() { echo `openssl sha256 -r $1 | awk '{print $1}'` } if [ $# -ne 2 ]; then usage exit 1 fi INTERVAL=1 #監視間隔, 秒で指定 last=`update $1` echo "Watching... file: $1" while true; do sleep $INTERVAL

    ファイル変更監視してコマンド実行するやつ - Qiita
    letsspeak
    letsspeak 2018/01/19
  • Emacs で時の流れを感じる - Qiita

    なにをやったの ふらっと外に出てみたらちょうど空が夕焼けていて「ずいぶん日が短くなってきたなあ」とか、あるいは夜、なんとなく空を見上げてみたら綺麗な満月で「もうひと月たったか」とか、そんな、ふと時の流れを感じる瞬間が僕は好きです。 が、社会人になってから、退社したら外はもう夜、という日がほとんどになって、そんな瞬間を感じることが減ってしまったなあとふと思いました。 そんなわけで、その時刻の空の色(イメージ)、月齢、天気を反映した時計ウィジェットを作ってみました。モードラインなどに置いておくと、ふと目をやったときに、ちょっとほっこりできるかもしれません。 スクリーンショット モードラインに設置 色のサンプル インストール GitHub: https://github.com/zk-phi/sky-color-clock load-path の通ったディレクトリにダウンロード (clone)、

    Emacs で時の流れを感じる - Qiita
    letsspeak
    letsspeak 2018/01/18
  • Rails 5.1のencrypted secretsの運用について考える - Qiita

    環境 Ruby - 2.4.1 Rails - 5.1.0 背景 Rails 5.1からencrypted secrets機能が追加され、Rails wayに乗った状態で、環境変数を暗号化した状態でgit管理できるようになった gibberish などのgemを使って.envファイルを暗号化して、git管理していた人は運用を乗り換えると良さそう セットアップ $ bin/rails secrets:setup Adding config/secrets.yml.key to store the encryption key: 0123456789abcdef0123456789abcdef Save this in a password manager your team can access. If you lose the key, no one, including you, can

    Rails 5.1のencrypted secretsの運用について考える - Qiita
    letsspeak
    letsspeak 2018/01/15
  • DevTools を開いたら人類滅亡 - Qiita

    詳細は GitHub の README.md を見てね! どんな力を使ったの? devtools-detect というライブラリを利用して、 DevTools の表示/非表示の切り替え発生時に呼び出される EventListener で、 DOM のクリアと共に YouTube の人類滅亡動画をコンテンツエリアいっぱいに引き伸ばして自動再生させています。 devtools-detect とは一体…? devtools-detect は実装自体シンプルなので、興味があれば直接見てもらっても良いですが、 一番重要なのは下記条件文で DevTools の表示/非表示の切り替えを検出している点ですね。 var isLongOuterWidth = (window.outerWidth - window.innerWidth > 160); var isLongOuterHeight = (wind

    DevTools を開いたら人類滅亡 - Qiita
    letsspeak
    letsspeak 2018/01/15
  • MySQL5.5で🍣絵文字🐟を挿入/検索する - Qiita

    MySQLのutf8はデフォルトで絵文字を取り扱うことが出来ません。MySQL5.5以降ならば対応する方法があります。 環境 $ cat /etc/redhat-release CentOS release 6.5 (Final) $ mysql -V mysql Ver 14.14 Distrib 5.5.48, for Linux (x86_64) using readline 5.1 CREATE DATABASE sushiya; USE sushiya; CREATE TABLE sushi( id INT AUTO_INCREMENT, name VARCHAR(20), INDEX(id) ); INSERT INTO sushi(name) VALUES("タマゴスシ"); INSERT INTO sushi(name) VALUES("マグロ🍣スシ"); INSERT

    MySQL5.5で🍣絵文字🐟を挿入/検索する - Qiita
    letsspeak
    letsspeak 2018/01/14
  • VaporとMySQLでToDoAPIを作ってみた! - Qiita

    はじめに こんにちは。こんばんは。スマートテック・ベンチャーズ 10日目STVオタク担当の @nnsnodnb です。 今後サーバサイドも全部Swiftできるようになるために生まれてきたのではないかと思われている(少なくとも自分の中では) サーバサイドSwiftについてまた触ってみました。Vaporで行こうと思います。 Kitura+MySQL が上手くできなかったいい感じにできた人いらしたら教えてくださいエロい人... 環境 macOS Sierra 10.12.1 (個人所有のMacが修理中のため知人のMacを借りてます) Xcode 8.1 Swift 3.0.1 mysql Ver 14.14 Distrib 5.7.16, for osx10.12 (x86_64) using EditLine wrapper 準備 MySQL準備 Homebrewでインストールを進めます。 $

    VaporとMySQLでToDoAPIを作ってみた! - Qiita
    letsspeak
    letsspeak 2018/01/14