タグ

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

  • S3でBucketまるごとコピーする方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    S3でBucketまるごとコピーする方法 - Qiita
    karur4n
    karur4n 2019/06/03
  • Vueの秘密のパフォーマンステク9選紹介 - Qiita

    VueConf USでのさまざまな発表 今年の3月に VueConf US が開催されました。最近になってビデオが公開されて初めて知ったこともあるので記事ではその紹介をします。 いろいろ面白いトピックがあるのですが、特にVueコアチームのGuillaume Chauさんによるパフォーマンス改善テクニックはまじかーという感じだったのでここにまとめたいと思います。 "9 Performance Secrets Revealed with Guillaume Chau" プレゼン動画: http://www.youtube.com/watch?v=5B66qer8cZo スライド: https://slides.com/akryum/vueconfus-2019#/ デモサイト: https://vue-9-perf-secrets.netlify.com ソース: https://githu

    Vueの秘密のパフォーマンステク9選紹介 - Qiita
    karur4n
    karur4n 2019/05/15
  • PHP の配列は変数に代入するだけで中身がコピーされる (ただしオブジェクトは clone されない) - Qiita

    <?php class Detail { private $message; public function __construct(string $message) { $this->message = $message; } public function getMessage(): string { return $this->message; } public function setMessage(string $message) { $this->message = $message; } } $d1 = new Detail("hello"); echo "オブジェクトを変数に代入してもコピーにはならない。\n"; $d2 = $d1; echo "clone でシンプルなクラスのオブジェクトをコピーできる。\n"; $d3 = clone $d1; echo "d2 のオブ

    PHP の配列は変数に代入するだけで中身がコピーされる (ただしオブジェクトは clone されない) - Qiita
    karur4n
    karur4n 2019/05/15
  • Nimのややマイナーな言語仕様(funcとnot nil) - Qiita

    はじめに 自分なりに検証したメモに近いので、あんまり役に立たない記事です。 まとめ func 副作用ありの場合にコンパイルエラーになってくれる。 ただし、仮引数がポインタ(varやptr)や、参照型(ref)の場合は、この仮引数を変更しても検知はしてくれない。 not nil 指定した型にnilを代入される可能性がある場合にエラーになる。 func 及び noSideEffectプラグマ 公式マニュアルは以下のとおり。(Google翻訳さん) 要するに副作用がないと定義しているのに、副作用があった場合はコンパイルエラーを出してくれる機能の模様。 noSideEffectプラグマは、副作用を持たないようにproc / iteratorをマークするために使用されます。つまり、proc / iteratorはそのパラメータから到達可能な場所のみを変更し、戻り値は引数にのみ依存します。そのパラメー

    Nimのややマイナーな言語仕様(funcとnot nil) - Qiita
    karur4n
    karur4n 2019/05/13
  • Slack Bot をサーバーレスで運用する時の、タイムアウト対策【小技】 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Slack Bot をサーバーレスで運用したい、という需要、それなりにあると思います。 ここで Slack Bot と呼んでいるのは、例えば、こういうのです。 https://github.com/saken649/NameThinking https://github.com/saken649/NameThinkingLambda /ntcamel ユーザー名を取得する と打ったら、getUsername と返してくれる、そんなのです。 これを行うには、Slack API の Slash Commands という機能を使いま

    Slack Bot をサーバーレスで運用する時の、タイムアウト対策【小技】 - Qiita
    karur4n
    karur4n 2019/05/11
  • 来そうで来ない言語・来なかった言語 - Qiita

    個人的にはいいと思ったんだけど訳あって消えた天才を偲ぶ的な、 若しくは実力はあるんだけど今の所あんまり流行ってない言語を推していく的な記事です。 どれがどっちとははっきり言いません。 D ポストC++として2001年にWalter Brightによって設計された。 関数型プログラミングをサポートしていたり、UFCS(Unified Function Call Syntax)を採用していたり、 某Go言語然りなんか違うマスコットキャラがいたりと十分に人気爆発しそうな雰囲気を漂わせていたが 、ver1.0までモタモタしているうちにライバルのC++などに機能を次々と模倣され、優位性を失ってしまった。 foo(bar(a)) // が a.bar().foo() /* として呼び出せる。割と最近の言語で見かけるが多分Dがオリジナル。 メソッドチェーン的なのがしやすくて気持ちがいいが、 クラスにメソ

    来そうで来ない言語・来なかった言語 - Qiita
    karur4n
    karur4n 2019/04/27
  • React 16.6の新機能、React.lazyとReact.Suspense を使った非同期処理 - Qiita

    React v16.6 から利用可能になったReact.lazyならびにSuspenseを早速使用してみました。 この機能の嬉しいところは非同期処理時におけるコンポーネントの扱いが非常に楽になるということです。 レガシーな実装方法 この機能が追加される以前は非同期で処理を行う際にローダーを表示して処理が終了したら結果を画面に表示するといった実装する時に、以下のような方法を採用していました。 処理中かどうか判断するステート isExecuting を用意する。 処理開始時にisExecutingをtrueにする isExecutingがtrueの時に「Please wait...」というテキストを表示 処理完了時に結果を表示 つまり、ステートが変更されたらコンポーネントをレンダリングするという、Reactの仕組みに則って実現させるという方法になります。 コードに起こすと以下のような感じです。

    React 16.6の新機能、React.lazyとReact.Suspense を使った非同期処理 - Qiita
    karur4n
    karur4n 2019/04/27
  • Nim に入門してみて予想通り最高のプログラミング体験ができている件 (1) ~ 変数・制御構文・プロシージャ編 - Qiita

    この記事について GW 暇だったので、かねてより気になっていた Nim と戯れてみました。Nim の言語機能の一部を簡単にご紹介します。 下記の記事とそのリンク先に、基的な情報はほとんど載っていますので、まだの方はそちらもどうぞ。 至高の言語、Nimを始めるエンジニアへ - Qiita シリーズ記事では Nim by Example のお題に沿って進め、後半にはプラスαで、外部モジュールの使い方なども書く予定です。 編(第1回)には以下の項目が含まれます。 - 変数 - 制御構文 - プロシージャ Nim の特徴 静的型付け、型推論あり インデントによりブロックを分ける(Python っぽい) C/C++, Objective-C, JavaScript へコンパイル可能 C/C++, Objective-C のライブラリをインポートして使える 変数宣言: const, let, v

    Nim に入門してみて予想通り最高のプログラミング体験ができている件 (1) ~ 変数・制御構文・プロシージャ編 - Qiita
    karur4n
    karur4n 2019/04/26
  • React Tokyo with ZEITカンファレンスメモ - Qiita

    概要 React Tokyo with ZEIT に参加してきました。 カンファレンスの内容を自分なりに理解した範囲で残しておきます。 自分の理解不足により正確に表現できていないところも多々あると思いますので、参加していらっしゃった方がもしご覧になっていたらどうかご指摘お願いします。 発表内容 1. SPR(Serverless Pre Rendering)について Guillermo Rauch氏 (from ZEIT) staticが良い! 計算(computing)させるとどうしても遅い 静的(static)なものは速い キーワードとなるのは「キャッシュ(cache)」 キャッシュすることでビルドはめっちゃ速くなる staticはstaticでしかない。動的(dynamic)なデータでレンダリングしたい 単純なtypoを修正するだけでもデプロイには時間がかかる そこで、Serverl

    React Tokyo with ZEITカンファレンスメモ - Qiita
    karur4n
    karur4n 2019/04/25
  • メールアドレスを表す現実的な正規表現 - Qiita

    RFC5322で定義されているメールアドレスの書式を完全にサポートすることは簡単ではありませんが、適当な正規表現を紹介してOKとする記事があとを絶ちません。 HTML5には input[type=email] という要素があり、メールアドレスの書式チェックをクライアントサイドで行えるようになっています。このチェックでは、下記の(Perl5の記法にならった)正規表現を使っています。 /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/ 注釈に この要件は電子メールの構文を定義するRFC5322に対して 意図的に違反 (willful violation) している。 とあるように、仕様を完全に満足する正規表現ではありませんので、電子メールヘッダを解析するような格的な用途に対しては不十分ですが、WEBサ

    メールアドレスを表す現実的な正規表現 - Qiita
    karur4n
    karur4n 2019/04/24
  • PHP7.4の新機能 - Qiita

    $ffi = FFI::cdef(" typedef unsigned int time_t; typedef unsigned int suseconds_t; struct timeval { time_t tv_sec; suseconds_t tv_usec; }; struct timezone { int tz_minuteswest; int tz_dsttime; }; int gettimeofday(struct timeval *tv, struct timezone *tz); ", "libc.so.6"); $tv = $ffi->new("struct timeval"); $tz = $ffi->new("struct timezone"); var_dump($ffi->gettimeofday(FFI::addr($tv), FFI::addr($tz)

    PHP7.4の新機能 - Qiita
    karur4n
    karur4n 2019/04/24
  • 【PHP7.4】PHPでアロー関数を使えるようになる - Qiita

    // $x*2を返す関数 $mul2 = fn($x) => $x * 2; // 使い方 $mul2(3); // 6 が、なんかV2として復活してました。 しかも今回は提案者として重鎮Nikitaが参戦しています。 NikitaはPHPのコア開発者のひとりで、記憶に新しいところではプロパティ型指定を作った人です。 既にコードもできていてプルリクが出されています。 しかしRFCの提出が2019/03/12で、投票は2019/04/17開始・2019/05/01終了です。 なんでそんなスケジュールきつきつなのだ。 RFC Arrow Functions 2.0 Introduction PHPの無名関数は、単純なことしか行わない場合でもやたら冗長になる場合があります。 使用する変数を毎回手動でインポートしなければならないなど、構文に定型句が多いためです。 このせいで、簡単なクロージャですら

    【PHP7.4】PHPでアロー関数を使えるようになる - Qiita
    karur4n
    karur4n 2019/04/24
  • Nuxt.js, Firebase, Stripe をフル活用してサーバーレスでJAMStackなECサイトを2日で開発した話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 記事で紹介しているサービスの公式Twitterアカウントができました → @jslounge_info はじめに potato4d こと花谷拓磨です。 普段は ElevenBack という屋号のもと、フロントエンドを中心としながらも、デザインやサーバーサイドなどをも含めて作業することが多いのですが、屋号での活動の一環として、 JSLounge という渋谷で活動するハンズオン団体の運営を行っています。 その JSLounge にて過去に開催したハンズオン資料を入手できるサイトを構築することとしました。 通常、ハンズオンとなればその場でメ

    Nuxt.js, Firebase, Stripe をフル活用してサーバーレスでJAMStackなECサイトを2日で開発した話 - Qiita
    karur4n
    karur4n 2019/04/22
  • 【redux】as constでaction creatorからActionの型を簡単につくる - Qiita

    3.4以前では、型付をするのにas assertionでLiteralTypeを使う必要があり面倒でした。が、TS3.4から登場したas constによってreduxの型付はとても手軽になりました。 まずActionCreatorを作ります。このときtype属性にas constを付けるよりオブジェクトにas constを付ける方がすべての属性がreadonlyになるのでオススメします。 const increment = (payload: number) => ({ type: 'increment', payload, } as const) Action型を作るのは以下のような型定義が必要になります。やっていることは単純でそれぞれのActionCreator から ReturnTypeで戻り値の型を取り出しそのUnion型を作ります。AnyAction は必須ではないですが、 ty

    【redux】as constでaction creatorからActionの型を簡単につくる - Qiita
    karur4n
    karur4n 2019/04/22
  • 役割駆動設計で巨大クラスを爆殺する - Qiita

    大量のメソッドを保有し、数千、数万行単位にぶくぶく膨れ上がった巨大クラス。別名「神クラス」とも「大きな泥団子」とも呼ばれる、長大で複雑で密結合で極めて変更が困難なアイツ。 そんな巨大クラスの退治に有効な、ドメイン駆動設計を基思想とする「役割駆動設計」を紹介致します。 解決したい課題、狙う効果 数千、数万行単位の巨大クラスの登場を抑止する。 小さくシンプルな構造に落とし込み、堅牢で変更容易性の高い設計へ昇華させる。 例1:筆者をモデリング 分かりやすくなるよう、まず私を例にモデリングしてみます。私は以下のような特徴があります。 IT企業の従業員 家族がいる(, 子供) 趣味ゲーム制作している ダメな設計 何も考えずに人クラスとして設計すると、よく以下のような構造になりがちです。 従業員として仕事をする、父親として家族サービスする、趣味としてゲーム制作する、それぞれのメソッドが備わってい

    役割駆動設計で巨大クラスを爆殺する - Qiita
    karur4n
    karur4n 2019/04/22
  • 【JS】いかがでしたか!?値渡しと参照渡しの使い分け!? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに、の前に陳謝 要は、オブジェクトや配列の一部を変更するだけなら変数と紐づくものは変わらないし、再代入すると変わっちゃうってだけで、JSに参照渡しはないみたいです。数値でも文字列でもオブジェクトでも配列でも! ネタ記事としてお楽しみくださいませ。 っていうか、↓この記事を読んだ方がええわ!!! JavaScriptに参照渡し/値渡しなど存在しない ↓あとワイ自身も訂正記事を書いたからよろしくやで! 3歳娘「パパ、もう参照渡しの話はやめて?」 はじめに 値渡しと参照渡し。 この2つの言葉、プログラミングを勉強したことがある方なら聴い

    【JS】いかがでしたか!?値渡しと参照渡しの使い分け!? - Qiita
    karur4n
    karur4n 2019/04/18
  • VSCodeでCSVをステキに見やすくする「Rainbow CSV」を紹介するよ

    はじめに 普段のようにトゥイッターしていたらタイムラインにステキ拡張が流れてきたので、布教のためにバーっと紹介記事を書いてみる次第。 Rainbow CSV Rainbow CSVって何? VSCodeCSVを扱いやすくするためのステキ拡張 便利でステキな機能をいくつも持っている とにかくヤバイ(語彙) Rainbow CSVの何がヤバイの? ①CSVが読みやすくてヤバイ ちょうどいいCSVが無かったので、適当にポケモンCSVデータを生々しく開いてみた。 CSVの見た目ってこんなのだよね。日語項目はともかく、数値が連続している箇所は「あれ、この"49"ってどの項目に対応してるんだっけ…?」みたいな混乱が起きて発狂しがち…。 しかし、このファイルをRainbow CSVに通すと…なんということでしょう! ヘッダー項目とデータ項目にカラフルな色が付き、項目の種類が一発でわかるようになって

    VSCodeでCSVをステキに見やすくする「Rainbow CSV」を紹介するよ
    karur4n
    karur4n 2019/04/15
  • 娘に分かりやすく浮動小数を教えるシナリオ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Fringe81 アドベントカレンダー2017の14日目ですね。 近頃は覚えたことを復習するために、娘が話している体で一人二役の会話をしています。 娘は今日でちょうど生後4ヶ月になりました。 傍から見たら延々独り言でヤヴァいやつですが、自宅でしかやってないので今のところ大丈夫です。 そんなわけで、最近ちゃんと知ったIEEE754の浮動小数(0.1を10回足すと1にならないやつ)について娘と会話してみたいと思います。 説明を分かりやすくするため細かい説明などは端折っているのでご了承ください。 「おとーしゃんおとーしゃん。コンピュータはどう

    娘に分かりやすく浮動小数を教えるシナリオ - Qiita
    karur4n
    karur4n 2019/04/13
  • Javascriptの歴史 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Javascript歴史 Javascriptといえば,2016年現在,Webのフロントエンドには欠かせない技術となっているが, そういえば,昔はJavascriptが使われているWebページはごてごてしてて重く, ネットを使うときはブラウザのJavascript機能を切っていた気がする. いつからこうなったのか? ちょっと調べてみた. (参考サイト) http://www.kogures.com/hitoshi/history/javascript/index.html http://www.slideshare.net/badat

    Javascriptの歴史 - Qiita
    karur4n
    karur4n 2019/04/13
  • Cloud Runで動かすGo + Echo Framework - Qiita

    Google Cloud Next ’19でKnativeベースの新サービス Cloud Runが発表されました。 https://cloud.withgoogle.com/next/sf Cloud Functionに代表されるGCPのServerlessは、HTTPをトリガとする場合、Go言語ではhttp.HandlerFunc 型をサポートしてやる必要がありました。 これはこれで便利なのですが、じゃあ別プラットフォームで可動している何らのFramework入りGoサーバーをCloud Functionに移行しようとする際、改修は少々入ってしまうので、移行計画なんかを立ててる間にめんどくさくなってきます(えっ) 素直にGAE使えとかGKEとかあーあー聞こえない Knative Knativeの詳しい説明は、下記に譲りまして Welcome to Knative | Knative Ku

    Cloud Runで動かすGo + Echo Framework - Qiita
    karur4n
    karur4n 2019/04/10