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

  • TypeScript で書く React コンポーネントを基礎から理解する - Qiita

    この記事は Recruit Engineers Advent Calendar 2019 の 23日目の記事です。 TypeScriptプロジェクトReact コンポーネントを書いていると、コンパイラに怒られることがたびたびあります。ネット上にあるサンプルコンポーネントが JavaScript で書かれていると、プロジェクトにもってきたときにコンパイルできないということはよくあるんじゃないでしょうか。any でコンパイラを黙らせることもできますが、せっかく TypeScript を使っているので、安全に解決したいよねってことでこのような記事を書きました。 型定義は @types/react@16.9.17 にしたがっています。目次をみて、この程度のことはもう知っているよという方は react-typescript-cheatsheet をみてください。React + TypeScr

    TypeScript で書く React コンポーネントを基礎から理解する - Qiita
    tak0303
    tak0303 2019/12/24
  • Goを始めて1年間で最高にお世話になったGo関連ブックマークを晒します。 - Qiita

    自分は普段はChromeのブックマークを使ってよく見返す記事を保存しています。Goを一年間書いてきてブックマークを整理したのですが、せっかくなのでお世話になったブックマーク記事を晒します。 Blog & Serial The Go Blog Goの公式ブログ。深いところまでしっかり書かれているので、調べたいトピックはまずはここで調べたい。 https://blog.golang.org/ Practical Go GoのcontributorであるDave Cheneyさんのブログです。Goで開発&運用する上でのアドバイスが書かれており、入門記事だけでは得られないノウハウがふんだんにまとめられています。 https://dave.cheney.net/practical-go Goならわかるシステムプログラミング @shibukawaさんの連載です。Go低レイヤーを学んでいきます。根底の

    Goを始めて1年間で最高にお世話になったGo関連ブックマークを晒します。 - Qiita
    tak0303
    tak0303 2019/10/11
  • コンテナ・セキュリティ入門 脆弱性 - Qiita

    コンテナイメージのレジストリでは、脆弱性検査の実装が当たり前になっている。企業でKubernetesなどコンテナを使用するにあたって脆弱性対策がどれほど重要なものか理解するために、脆弱性検査や、関連する国際的な標準について整理した。 脆弱性(ぜいじゃくせい)とは 脆弱性とは、プログラムの動作の不備を悪用される情報セキュリティ上の弱点である。つまり、ソフトウェア上の問題が原因となって生じた欠陥であり、セキュリティホールとも呼ばれる。当然、ソフトウェア開発者は、脆弱性を産まないように細心の注意を払ってコード開発を進めるが、開発者が利用するオペレーティングシステムのライブラリやパッケージに含まれることもある。そのような事情から、開発者の責任範囲外に原因がある場合も多くある。 潜在的な脆弱性を突いた新たなクラッキングの手口が、時間の経過ともに発見される。そのことから、開発当初はコードに脆弱性は無い

    コンテナ・セキュリティ入門 脆弱性 - Qiita
    tak0303
    tak0303 2019/10/11
  • 格安スマートリモコンの作り方 - Qiita

    材料費400円の赤外線送受信器を、1,800円のラズパイZeroに載せて、Google Homeから操作する方法を、ゼロから丁寧に解説します。 安くても高機能 むしろ市販のスマートリモコンではできない、きめ細かな操作も簡単に実現できます。(例えば こんなこと ができます。) 簡単 電子回路を作ったことのない初心者でも作れるよう、電子部品の買い方から、丁寧に説明します。 電子工作の基 ラズパイでの電子工作が初めてなら、こちら → Raspberry Piの電源でLEDを1個光らせてみる - ツール・ラボ (素晴らしく丁寧な解説なので、予備知識ゼロでも理解できるはず。) ここで紹介するスマートリモコンの回路も、まずはブレッドボードを使って、半田付けをせずに試作します。 試作品をしばらく使ってみて問題がないようなら、基板に半田付けして完成させます。 半田付けが初めてなら、こちら → うまくいく

    格安スマートリモコンの作り方 - Qiita
    tak0303
    tak0303 2018/03/25
  • イマドキなAndroid音楽プレーヤーの作り方 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #こんなものを作ります とても一般的な音楽プレーヤーの雛形を作ります。 また、専用の処理を実装しなくてもWearやAutoに対応できる方法を取ります。 Android音楽プレイヤーに関するの日語記事って皆無ですよね。 色々苦労してなんとか実装できたので記事にしました。 長くなりますが、よければお付き合いください。 実装だけ見たい方は、いざ実装まで飛ばしてください。 #Android上で動く音楽プレーヤーのあるべき姿 PCで動く音楽プレイヤーを作る時は、MediaPlayer等のインスタンスの各種メソッドを Formに貼り付けたボタン

    イマドキなAndroid音楽プレーヤーの作り方 - Qiita
    tak0303
    tak0303 2018/03/02
  • コードレビューで気をつけていること - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Chromium Code Review Advent Calendar 2017の25日目の記事です。参入障壁が低かったのでなんとなく書いてみました。興味のある方は充実のChromium Browser Advent Calendar 2017も参照下さい はじめに オープンソースのウェブブラウザ Chromiumでそこそこ長く開発をしてるので、自分や周りの人がコードレビューで心がけていることを書いてみました。良いコードとは何かという話はまた別の長い議論になるのでここではとりあげません。 基的に、コードレビューはコミュニケーショ

    コードレビューで気をつけていること - Qiita
    tak0303
    tak0303 2017/12/31
  • 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
    tak0303
    tak0303 2017/11/19
  • 「GoogleAnalytics見てアクセス解析して」って言われた時にまずしていること - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 僕はウェブサイト制作会社でサイトの運用・アクセス解析担当をしている者です。 ウェブサイトの制作・リニューアルを受注した際にプロジェクトに参加し、クライアントの現状サイトのアクセス解析とレポート作成、リニューアル提案が主な仕事です。 クライアントと直接相対するディレクターから「GoogleAnalyticsの権限もらったからアクセス解析して」とオーダーを受け、アクセス解析を行うことになります。 そもそも、初めて見るサイトを構造から理解し、リニューアルに資する提案ができるようなインサイトを得るまで分析するのは当に骨が折れます。

    「GoogleAnalytics見てアクセス解析して」って言われた時にまずしていること - Qiita
    tak0303
    tak0303 2017/11/18
  • ウェブアプリをソースごとパクる業者に対する対策 - Qiita

    こんにちは。みなさんもウェブアプリをリリースしたあとに同業者にソースごとパクられたことってありますよね。難読化しても難読化されたまま同業者のサーバで動くので困ったものです。そこで、私がとった解析しずらい対策をまとめてみたいと思います。 前提 多機能な画面をJavaScriptでゴリゴリ作ったのにもかかわらず、HTMLCSSJavaScriptファイル一式を自社サーバにまるごとコピーして、ライセンス表記だけ書き換えて使うような業者を罠にはめるということを想定しています。 当然通信をリバースエンジニアリングする人もいるので、自社サーバでは防げないという前提です。 HTMLにはauthorメタタグ よくあるMETAタグで権利者を明記します。これは権利の主張もそうですが、JavaScript自体に権利者が認定した権利者でなければ無限ループを起こすという処理のためにも使用します。逆に、権利者が我

    ウェブアプリをソースごとパクる業者に対する対策 - Qiita
    tak0303
    tak0303 2017/11/12
  • ECS運用のノウハウ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 関連記事 マイクロサービスを支えるインフラアーキテクチャ (AWS Dev Day 2019登壇資料) ECSデプロイツールを公開しました ECSにおけるログの取り扱いを別ページに移動させました 設計 基方針 基盤を設計する上で次のキーワードを意識した。 Immutable infrastructure 一度構築したサーバは設定の変更を行わない Infrastructure as Code インフラの構成をコードで管理 (Terraformを採用) Serverless architecture 無駄にサーバを増やさない アプリケーシ

    ECS運用のノウハウ - Qiita
    tak0303
    tak0303 2017/09/01
  • E2Eテスト基盤開発を担当して - Qiita

    freee Engineers Advent Calendar 2016 12月17日担当の @futoase です。 現在、E2Eテスト基盤構築の担当をしています。1 Capybara、SitePrism および Selenium に触れていく中で自分や弊社メンバーから得た知見について記載します。 4点の内容となります。 Capybara + SitePrism Selenium E2Eの目的 E2E基盤構築を担当してみて思ったこと Capybara + SitePrism 同僚の @kompiro が Capybara + SitePrism を使うことを提案、フレームワーク化を行ってくれたのでテストケース作成に利用しています。2 Selenium/Appium Advent Calendar 2016にてSitePrismを利用したPageObjectsパターンを使ったテスト作成につ

    E2Eテスト基盤開発を担当して - Qiita
    tak0303
    tak0303 2016/12/17
  • スクリーンショット拡張Macアプリ「Fuwari」を作って公開しました - Qiita

    株式会社LITALICO でエンジニアをやっています、@kentya6です。 『LITALICO Advent Calendar 2016』12日目の記事となります。 今回、スクリーンショット拡張Macアプリケーション「Fuwari」を作って公開しましたので、開発の経緯や流れ、アプリの使い方などを書いていきます。 Fuwari Web Site 開発背景 私は今までKiritoriを仕事でもプライベートでもよく使っていました。 画面の任意の範囲を一時的に最前面にしたい時や、範囲指定の画像保存をする際に領域を確認してから保存する時等に使うアプリケーションです。 普段は、様々なIDEのインスペクタの値を一時的に見やすい位置においてみたり、スライドに埋め込むためにパパっと画像の範囲を指定してから保存するために使っていました。 しかしmacOSSierraにしてからは、私の環境ではKiritor

    スクリーンショット拡張Macアプリ「Fuwari」を作って公開しました - Qiita
    tak0303
    tak0303 2016/12/13
  • コミュ障エンジニアと言われない為の基本的なコミュニケーションメソッド5選。 - Qiita

    はじめに 皆さん、優秀なエンジニアさんですよね。知ってます。 今回Qiitaに技術的な事を投稿しようと思ったのですが、プログラミング歴の浅い自分が思いつく事は大抵先輩エンジニアさんが記事にされていて、書くためのネタがありません。ありがとうございます。 しかし、皆さん喋れますか? 初対面の人に会って、上手く話を聞き出し円滑なコミュニケーションを取ることはできますか? コミュニケーションは**「相手を思いやる気持ち」**が全てであり基です。 これはコードを書く上でも重要になってきます。 ここで、以下のコードを見てみましょう。 どうでしょうか、怒りがこみ上げてきましたか? 共同開発でこのようなコードを書いた日には、会社中の全エンジニアから**「思いやりの無い奴だ」と思われるでしょう。 そう、「思いやりの無いコード」**なのです。 コードはただ書くことができれば良い物ではありません。 コードを書

    コミュ障エンジニアと言われない為の基本的なコミュニケーションメソッド5選。 - Qiita
    tak0303
    tak0303 2015/12/03
  • Promiseの実装をしっかり読んでみたので学習メモ - Qiita

    @armorik83です。ちょっと一段落ついたところで、そろそろ真剣にPromiseの中身を読む必要があるなーと感じたので、そのときのメモです。 読んだ実装 今回はjakearchibald/es6-promise v2.0.1を読んでいきます。基礎知識としてJavaScript Promiseのにも目を通しておくとよいでしょう。 サンプルソース サンプルとしてPromiseの1.3.1を若干改変して利用させてもらいました。 var Promise = require('es6-promise').Promise; function getURL(URL) { return new Promise(function (resolve, reject) { var req = new XMLHttpRequest(); req.open('GET', URL, true); req.on

    Promiseの実装をしっかり読んでみたので学習メモ - Qiita
  • Swiftを使ってみて直面した闇。現時点で現場でSwiftを採用すべきかどうかの判断材料 - Qiita

    by @mixiappwchr swiftがでてしばらく経ち、実際の現場でswiftを使うかどうか検討されているところもおおいでしょう。 まだ出たばかりなので、当に現場でつかっても大丈夫かどうか悩んでいる人もいるかもしれませんので、実際に現場で直面したはまりどころを共有したいと思います。 ビルドが遅い ビルドに関してはSwiftだと遅くなりました。Androidに比べてビルドが早い点が良かったんですが今後に期待。これをダシに新しいMacを買おうと思います! リファクタリングができない これは地味にきついです。クラス名をやっぱりこっちにしたい!とかアプリを作り始めとかちょいちょいあるのですが、いちいち手で治すという。。 プロジェクトが長期化したら目に見えて厳しいので早めに対応していただきたいところ。 Swift CompilerのOptimize のbug これは結構こわいです。 実装終わ

    Swiftを使ってみて直面した闇。現時点で現場でSwiftを採用すべきかどうかの判断材料 - Qiita
    tak0303
    tak0303 2015/01/24
  • [iOS]アプリに強制アップデート機能を導入すべき理由と、簡単に実装する方法 - Qiita

    強制アップデートとは? 多くのアプリを利用されている方でしたら、何度か下記の画像のようなアラートでアップデートを促されたことがあるかと思います。このアラートは閉じるボタンが存在せず、「AppStoreへ」のボタンしか存在しないため、ユーザーにはアプリを操作するためにはアプリをアップデートする以外に選択肢がありません。この記事では、この様なアラートをアプリ起動時に表示する機能を強制アップデート機能と呼び、なぜそれが必要なのかと、たった3行でこの機能を導入できるライブラリについて記述します。 なぜ強制アップデートが必要なのか? iOS7以降、自動アップデート機能は追加されたもののもちろん全てのユーザーがそれを利用しているわけではありません。中には、リリースから半年以上経過しても初期バージョンを利用し続けるユーザーの方もいます。では、この様に古いバージョンを利用しているユーザーも多くいる状態で、

    [iOS]アプリに強制アップデート機能を導入すべき理由と、簡単に実装する方法 - Qiita
    tak0303
    tak0303 2015/01/24
  • Ruby 2.2.0 の新規フィーチャーをネチっこくおさわりする #ruby - Qiita

    Ruby 2.2.0 の新規フィーチャーを ネチっこくおさわり する #ruby 概要 2014/12/25 にリリースされた Ruby 2.2.0 の新規フィーチャーを ネチっこくおさわり してみます リリースノート Ruby 2.2.0 リリース | Ruby Official Ruby NEWS | GitHub Ruby 前提 下記記事で作成した環境を利用 Vagrant + CoreOS + Docker + Itamae で使い捨ての Ruby 2.2.0 環境を構築する pry を利用して、一部の新規仕様のドキュメントを参照します 1 Binding Binding#local_variables pry で doc を確認 [6] pry(main):1> ? local_variables From: vm_eval.c (C Method): Owner: Kernel

    Ruby 2.2.0 の新規フィーチャーをネチっこくおさわりする #ruby - Qiita
    tak0303
    tak0303 2014/12/27
  • ngx_mrubyとngx_lua - Qiita

    今年の秋頃に将来nginxJavaScriptが書けるようになるという話が出ましたが、nginxには元々サードパーティモジュールの中でも有名なngx_luaがあります。また、Advent Calendarを見るにngx_mrubyも盛り上がってきているようです。 そこで両者の比較エントリを書いてみようと思います。 まずngx_mrubyについてはこのカレンダーでさんざん語られてるのでngx_luaについて。 ngx_luaは簡単に言うとngx_mrubyと同じようなこと(あるいはそれ以上のこと)がLuaでできるnginxのサードパーティモジュールです。 例えば「Hello, World!」はこんな感じで書けます。 ngx_luaで利用できるLua処理系 ngx_luaではLua5.1とLua5.1互換のLuaJITが利用できます。逆に言うとLua5.2以上だとビルドできないので注意しまし

    ngx_mrubyとngx_lua - Qiita
    tak0303
    tak0303 2014/12/24
  • VRと年齢制限について - Qiita

    1. はじめに OcuFes 開発者会&OcuFesの終わった夜,早稲田さんからツイート来ました. 低年齢児における非自然両眼立体視コンテンツの安全に関する医学的エビデンスに関してはOculus界隈では @shigekzishihara 先生がもっとも専門に近いと思うけど、実際のところ状況はどうなんでしょう? — 早稲田 治慶(名) (@waseda_fablab) October 26, 2014 うーん,僕は眼科系はまったく素人だけれど,90年代初頭の第1次VRブームのころ,VR酔いの問題を最も早く真剣に討議されたところは,自分の専門である人間工学なので,これはまず調べなければならない.. この総務省で出した報告書が,世界でも多分もっとも最新,これまでのガイドラインも参照し,なおかつ幅広い専門家が討議した内容だとおもいます.眼科,視力矯正の先生方が参加されているところがあまり類のない

    VRと年齢制限について - Qiita
    tak0303
    tak0303 2014/12/20
  • Lambdaでのここまでの利用パターンまとめ - Qiita

    このクリスマスシーズンにサンタも驚きな具合で結構バズっているAWS Lambdaですが、皆さん結構色々作っているので、なんかネタを追い求めるのもしんどいので、ここまでで見えてきた利用パターンやユースケースをまとめてみたいと思います。 Lambdaを誤解を恐れずに言うのであれば、クラウド上でのイベント駆動を実現するためのAWSネイティブな実行基盤です。なんかクラウドネイティブな実行基盤が駄目な方は、ぐだぐだ言わず普通にEC2でやってればよいと思います。イメージとしては下記のような形になります。今までは利用者側がポーリングして聞かなくては行けないところが、クラウド上のリソース提供の各サービスが逆に呼んでくれるところがポイントです。 では何個かパターンをみてみましょうか。 パターン1 : データソースからメタデータを引き出して利用しやすくする これがもっとも多い利用パターンだとおもいますが、S3

    Lambdaでのここまでの利用パターンまとめ - Qiita
    tak0303
    tak0303 2014/12/15