タグ

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

  • Google Homeを使って4歳児とSlackで会話する方法 - Qiita

    わたあめに捧ぐ(私信) 私の家では、家族の連絡にSlackを利用しています。 Slackはとても便利なのですが、基的にテキストベースのコミュニケーションとなるため、 文字入力ができない幼児には使うことができません。 そこで、Google Homeを活用して、文字入力をせずにSlackで会話するシステムを構築してみました。 イメージは以下のとおりです。 このシステムは、大まかに以下の2つで構成されています。 Slackへの投稿をGoogle Homeがしゃべってくれる仕組み Google Homeに話しかけるとSlackに投稿してくれる仕組み 順を追って説明していきます。 1. Slackへの投稿をGoogle Homeで喋らせるBotの作成 以下のソフトウェアを書きました。 https://github.com/ikasamah/go-slack-google-home Google H

    Google Homeを使って4歳児とSlackで会話する方法 - Qiita
    sujii
    sujii 2018/02/15
  • React.js製の静的サイトジェネレーターGatsbyに移行した - Qiita

    これまで WordPress を使って技術メモを書いていたのですが、静的サイトジェネレーターの記事を読んで試してみたいと思いました。 とりあえず有名どころの jekyll, Hugo, Hexo などを一通り使ってみたのですが、React.js 製の Gatsby が面白そうだなと思って WordPress から移行してみました。 gatsby https://github.com/gatsbyjs/gatsby ちなみに移行したサイトはこちら Gatsbyの特徴 React.js ならではのリロード無しでのページ遷移 サイト構築のためのコンポーネント・モデルが使える ライブで開発できる 導入方法 事前に Node.js と npm をインストールしておく必要があります。 インストール

    React.js製の静的サイトジェネレーターGatsbyに移行した - Qiita
    sujii
    sujii 2018/02/13
  • SSL/TLSについてまとめ2018 - Qiita

    はじめに SSL/TLSについて改めて理解を深めたい思い、関連する技術についてまとめました。 記事はTLSに関すること主題として、HTTPS、暗号化、Apache、OpenSSL等について記載しています。 SSL/TLSの通信は色々なプロトコルや暗号化方式が組み合わされ補いあってできています。暗号化の仕組みはパズルのようで面白いです。一つ一つを読み取り理解が深まるごとで、SSL/TLSって当によくできると思いました。フレームワークの意味について考えさられます。 HTTPSの通信 HTTPSの通信はTCP/IPプロトコルスイートとして、TCPの上層にSSL/TLSがあり、アプリケーションプロトコルのHTTPプロトコルが載って通信をしています。 コネクションとセッションは通信の概念として別になります。TCPでクライアントからWebサーバに対してコネクション(経路)が確立され、その上でセッシ

    SSL/TLSについてまとめ2018 - Qiita
    sujii
    sujii 2018/02/11
  • Google Homeでやったことまとめ - Qiita

    はじめに この記事は スマートスピーカー Advent Calendar 2017 10日目の記事です。 Google Homeを購入してからこの2ヶ月でやってきたことをまとめたいと思います。 が、ほとんどQiitaへ投稿した記事の紹介になってしまいました。 大体見たことあるという方はこちら以降をどうぞ。 なお記事の後半でコスト計算していますが、記事で紹介した内容は最低6,000円あれば大体実現できます。 ※各所で日までのGoogle Home半額セール前提。まだ購入されてない方はお急ぎを ※ツクモは25日までセール実施のようです 薬の服用ログ Google Home、IFTTT、Googleスプレッドシートを使って独自音声コマンドでログをとる(ついでにNode.jsやngrokやらも使ってLINEGoogle Homeに通知する) Google Homeを買って最初に作ったのがこれ

    Google Homeでやったことまとめ - Qiita
    sujii
    sujii 2018/02/10
  • 88鍵のキーボードで「奏でる」プログラミング - Qiita

    これらのことを踏まえると、電子ピアノでも、カーソルやテンキーなど一部のキーを省けば十分に文字入力用途に使えるように思えてきませんか。 もし電子ピアノで文字入力ができれば、日々のコーディングを無機質なタイプ音からメロディアスなピアノ演奏に変えることができるかもしれません。 それを実現する方法について、これから考えてみましょう。 仮想キーボードアプリ 今回はピアノのキー入力を入力機器に変換させる仮想キーボードアプリケーションを作成しました。 動作は下のようになります。 PCに電子ピアノをUSB接続する(USB-MIDI機器としてコンピュータに認識される) 仮想キーボードアプリケーションがMIDI入力を読み、キーボード入力に変換 仮想キーボードアプリケーションが別のアプリケーションに対してキー入力を流す OS Xアプリケーションにキーイベントを送信する キーボードの入力は、OSごとに異なる仮想キ

    88鍵のキーボードで「奏でる」プログラミング - Qiita
    sujii
    sujii 2018/02/10
  • タイムゾーン呪いの書 - Qiita

    コメント欄で「Software Design 誌 (2018/12) に寄稿した内容や修正などをこちらの記事にも適用したい」と言ったあと、やるやる詐欺でずっと放置していましたが、三年近く経ってようやく 2021年 7月に大幅に改訂し、同時に Zenn に引っ越すことにしました。 タイムゾーン呪いの書 (知識編) タイムゾーン呪いの書 (実装編) タイムゾーン呪いの書 (Java 編) なにやら長くなりすぎたので三部構成になっています。 この Qiita 版は、しばらく (最低一年は) 改訂前のまま残しておきます。 タイムゾーンの存在はほぼ全ての人が知っていると思います。ソフトウェア・エンジニアなら多くの方が、自分の得意な言語で、タイムゾーンが関わるなにかしらのコードを書いたことがあるでしょう。ですが、日に住んで日仕事をしていると国内時差もなく1 夏時間もない2 日標準時 (Japa

    タイムゾーン呪いの書 - Qiita
    sujii
    sujii 2018/02/06
  • もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita

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

    もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita
    sujii
    sujii 2018/02/02
  • 2018 年は Hyperapp の年だ - Qiita

    この投稿は Increments Advent Calendar 2017 の14日目の記事だよ。Hyperapp という JavaScript ビューライブラリを自作しているので、その説明と作った理由について話す。 Hyperapp ができるまでのプロセスや、どんな価値観で作ったかなどを書く。新しいフレームワークを作る時の参考になれば嬉しい。 Hyperapp とは? Web アプリのフロントエンドJavaScript ライブラリ。React, Preact, Vue といった代表的なものよりもずっと小さく、1 KB という超軽量サイズ。他のライブラリに依存することなく使えて、さらにスピードもある Elmアーキテクチャーに基づいてて、アプリケーション設計はElmReact、Reduxと似てるけど、ボイラープレートは少ないし、TypeScriptにも対応して、とにかくシンプル。 El

    2018 年は Hyperapp の年だ - Qiita
    sujii
    sujii 2017/12/28
    ソース読んでみる
  • イマドキのJavaScriptの書き方2018

    PySpa統合思念体です。これからJavaScriptを覚えるなら、「この書き方はもう覚えなくていい」(よりよい代替がある)というものを集めてみました。 ES6以降の難しさは、旧来の書き方にプラスが増えただけではなく、大量の「旧来の書き方は間違いを誘発しやすいから非推奨」というものを作り出した点にあります。5年前、10年前のやウェブがあまり役に立たちません。なお、書き方が複数あるものは、好き嫌いは当然あると思いますが、あえて過激に1つに絞っているところもあります。なお、これはこれから新規に学ぶ人が、過去のドキュメントやコードを見た時に古い情報を選別するためのまとめです。残念ながら、今時の書き方のみで構成された書籍などが存在しないからです。 たぶん明示的に書いていても読み飛ばす人はいると思いますが、すでに書いている人向けではありません。これから書くコードをこのスタイルにしていくのは別にいい

    イマドキのJavaScriptの書き方2018
    sujii
    sujii 2017/12/27
  • 物理フリックを30個量産販売している話 - Qiita

    個人で物理フリックキーボードのキットを30個ほど作って販売したので、その経験を共有できればと思って書きます。 今回の開発は最初の段階で、量産して販売するとこまでを目標にしていました。 誰か、量産して売りたい!と思っている人の助けになれば幸いです。 販売中の物理フリックのキット↓ 物理フリックキーボードのキット、スイッチサイエンスにて販売開始しました!! よろしくお願いします!!!!https://t.co/M258E8u69A pic.twitter.com/azEQY43Zkm — じゅにゃ (@junya28nya) 2017年11月24日 ざっくりと仕組みの説明 基板が上下に2枚あり、上の基板はただのタクトスイッチが20個載った基板。この上の基板自体を上下左右に動かし、下の基板にあるアナログスティックでフリック方向を検知しています。 Googleのエイプリルフールネタとの違い 物理フ

    物理フリックを30個量産販売している話 - Qiita
    sujii
    sujii 2017/12/24
  • 大規模memcached障害と私 - Qiita

    この記事は ex-mixi Advent Calendar 2017 19 日目のエントリーです。 こんにちは。@bonnu と申します。 株式会社ミクシィには2006年1月から2012年3月末までの間、6年と3ヶ月ほど在籍していました。その後株式会社FreakOut(現在はホールディングスとなっています)に転職。そこからさらに転職を重ね、現在は株式会社GameWithでサーバーサイドを主としたエンジニアをやっています。 ミクシィに入社した当時はまだ社名が株式会社イー・マーキュリーで、入った翌月に社名変更したタイミングでした。なので希少な「イー・マーキュリー」の名刺を持っていました。私より後に入社した他のエンジニアのみんなからよく珍しがられたのを覚えています。 今回はOB・OGによるアドベントカレンダーということで、在籍していた頃に体験した障害について少しお話したいと思います。 (※ 当時

    大規模memcached障害と私 - Qiita
    sujii
    sujii 2017/12/19
    あとで読む
  • Webアプリケーションフレームワーク導入時に考慮すべき22の観点 - Qiita

    記事では、 チームによる持続的に変更可能なWebアプリケーションの開発を目標に、フレームワーク導入時に考慮すべき22の観点を紹介する。 フレームワークによって特徴は異なるが、番導入にあたって、考慮すべきポイントはあまり変わらないので、極力フレームワーク1に依存しすぎないよう配慮する。また、話をシンプルにするため、REST APIを提供するアプリケーションを題材とする。 前提 ソフトウェアのエントロピー ソフトウェアがエントロピー増大の法則を避けられないことを、体感している開発者は多いだろう2。普通にアプリケーション開発を続けると、開発スピードは鈍化し、品質は低下してバグが増え、開発者からは技術的負債への怨嗟の声が聞かれるようになる。エントロピー増大というフォースは極めて強力で、意思を持って立ち向かわなければ、容易にダークサイドに堕ちてしまう。 関心事の分離 大規模Webアプリケーション

    Webアプリケーションフレームワーク導入時に考慮すべき22の観点 - Qiita
    sujii
    sujii 2017/12/17
    あとで読む
  • HTTPS通信の疎通確認に覚えておきたい3つのコマンド - Qiita

    $ curl -s -v --sslv3 https://example.com 1> /dev/null * Rebuilt URL to: https://example.com/ * Trying 93.184.216.34... * Connected to example.com (93.184.216.34) port 443 (#0) * SSL peer handshake failed, the server most likely requires a client certificate to connect * Closing connection 0 おっと、SSLハンドシェイクで通信に失敗したようですね。SSL3.0はPOODLE脆弱性問題があります。ちゃんとexample.comでは無効にしているようですね。以下のようにTLS1.2ではきちんとできました。Di

    HTTPS通信の疎通確認に覚えておきたい3つのコマンド - Qiita
    sujii
    sujii 2017/12/16
  • Vue.js いろいろまとめ - Qiita

    はじめに Vue.jsも流行ってきて色々ライブラリなども充実してきたと思うので色々まとめようと思います(適当) UI Framework 名称 解説

    Vue.js いろいろまとめ - Qiita
    sujii
    sujii 2017/12/16
  • ID生成大全 - Qiita

    セッションIDやアクセストークン、はたまた業務上で使う一意の識別子など、いろんなところで一意のIDを生成しなきゃいけないケースが存在します。 そこで世間で使われているIDの生成方法について調べてみました。 選択基準 ID生成における要求として、以下の観点が上げられるかと思います。 生成の速度 大量にデータを短期間で処理し、それらにIDを付与する場合、ID生成そのものがボトルネックとなることがあります。 推測困難性 IDを機密情報と結びつける場合、IDを改ざんされても、機密データが見れないようにできている必要があります。 順序性 採番した順にデータをソートする必要がある場合は、IDがソートキーとして使えないといけません。 それぞれについて各生成手段を評価します。 ID生成の手段 データベースの採番テーブル 採番用のテーブルを作り、そこで番号をUPDATEしながら取得していくやりかたです。古い

    ID生成大全 - Qiita
    sujii
    sujii 2017/12/02
  • テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita

    テストがなかった無法地帯のプロジェクトに自動テストを導入して、開発速度を1.7倍にした話をします。 自動テストがなぜないのか 自動テストのないプロジェクトには、そうなる理由が必ず存在します。よくみる理由は、「時間がないから1」「テストの書き方がわからないから」「無理やりテストを書いたつらい経験があったから2」といったものです。今回のプロジェクトの場合は、以下の2点でした: 自動テストの書き方がわからないから レビューがテスト代わりだったから まず、チーム編成が変わって私ともう一人がチームに加わるまで、実装者の中に自動テストの経験者はいませんでした。このような状況では、自動テストは困難になります。なぜなら、何をどうやってどこまでテストするかを決めるには、多少の慣れが必要だからです。この慣れがないと、何をしたらいいかわからないという状態に陥りがちで、結果として自動テストが後回しにされてしまいま

    テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita
    sujii
    sujii 2017/12/01
  • idやclassを使ってテストを書くのは、もはやアンチパターンである - Qiita

    いきなり結論を書くと、idやclassはスタイルのためのものなので、テストでそれを使うのはやめましょう。そして、カスタムデータ属性を使いましょう。(idやclassはスタイルのためだけではないという意見はごもっともです!しかし、主にとしてスタイルに使われるということでご了承頂いて以下の駄文に付き合って頂けると幸いです🙇) 先に断っておくと主にreactについての話で、JSXを前提とします。(手法はReactに限りませんが理由は後述) 2020/03/23 追記 この記事は1年以上前に書かれた記事なのでテストフレームワークとしてenzymeを使っていますが、現時点ではTesting Libraryの使用をオススメします。data-testid に対応するクエリを備えています。 React Testing Library · Testing Library はじめに ご存知の通り、ロジックと

    idやclassを使ってテストを書くのは、もはやアンチパターンである - Qiita
    sujii
    sujii 2017/11/19
  • 「GoogleAnalytics見てアクセス解析して」って言われた時にまずしていること - Qiita

    はじめに 僕はウェブサイト制作会社でサイトの運用・アクセス解析担当をしている者です。 ウェブサイトの制作・リニューアルを受注した際にプロジェクトに参加し、クライアントの現状サイトのアクセス解析とレポート作成、リニューアル提案が主な仕事です。 クライアントと直接相対するディレクターから「GoogleAnalyticsの権限もらったからアクセス解析して」とオーダーを受け、アクセス解析を行うことになります。 そもそも、初めて見るサイトを構造から理解し、リニューアルに資する提案ができるようなインサイトを得るまで分析するのは当に骨が折れます。 さらに(全くの主観ですが)、多くのクライアントはGoogleAnalyticsを「タグ貼っただけ」状態で放置しています。 そのため、計測したデータが整理されていない・そもそも正しく計測できていないということはよく起こります。 そして、そのような計測エラーがノ

    「GoogleAnalytics見てアクセス解析して」って言われた時にまずしていること - Qiita
    sujii
    sujii 2017/11/18
  • イマドキWebフロントエンド環境とReactを触りながらサンプルを10本書いてみた

    はじめに Webフロントエンドの知識がjQueryで知識が止まっていたので、モダンなWebフロントエンドに触れてみた。そのメモ。 良かった点 「今はこうなっているのかー」と分かった。今後はナウい記事を読んでもビビらないと思う。 Reactのすごさ 触ってみて下の記事のいうことが理解できた。何がすごいの?と聞かれたら下の記事を掻い摘んで説明したい。 Reactを使うとなぜjQueryが要らなくなるのか 触ってみたもの ES6 Yarn Webpack Babel Sass/SCSS React とりあえずエディタ開いてHTMLを書くぞというタイプの人間だったので、フロントエンド開発にまずはコマンドラインを打って環境を構築する点が新鮮。自動化できるところはツールで共通化してラクできるところはラクをする、というのは分かった。Reactは使うか分からないが、Webpack/Babel/SCSSは絶

    イマドキWebフロントエンド環境とReactを触りながらサンプルを10本書いてみた
    sujii
    sujii 2017/11/12
  • コンピュータ業界でよく出る英語 - Qiita

    みなさまへのお願いごと 間違いなどの指摘は、編集リクエストでお願いします。 コメントの記載はページが長いこともあり、お控えください。 TOEIC900でも英語が話せない日人へ ITエンジニアの私がなぜ令和の今、中国語を学ぶのか? 名詞/イディオム gotcha はまりポイント。注意すべきこと。引っ掛け。 Got you のくだけた表現。捕まえた、誰かをトラップに引っ掛ける、という意味から。 注) 一般的には、Got itやYup、I seeのような、同意の返事でよく使われる。 類) caveat, pitfall There are many gotchas in this application. sought-after (スキル、人材、機能、アプリが) 人気の、需要がある、求められてる、引っ張りだこ Python is a sought-after language. c-suit

    コンピュータ業界でよく出る英語 - Qiita
    sujii
    sujii 2017/11/04