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

  • JavaScript: 通常の関数とアロー関数の違いは「書き方だけ」ではない。異なる性質が10個ほどある。 - Qiita

    稿では、アロー関数とfunctionキーワードを使って定義される関数を区別するため、functionキーワードを使うほうの関数を「通常関数」と呼ぶことにします。英文で見かけるregular functionの翻訳になりますが、これは公式の用語ではなく、解説の便宜上のものとご理解頂ければと思います。単に「関数」というときは、通常関数とアロー関数どちらも指すこととします。 関数の歴史 歴史的に見ると、通常関数は古くからある言語機能であるのに対し、アロー関数は新しいものです。アロー関数はES2015(ES6)で導入されました。導入にあたっては、関数を短く書きたい、thisを束縛したくないという2つの理由があります。 通常関数とアロー関数の性質の違い 通常関数とアロー関数では、構文が違うというのは見て分かると思います。構文についての違いはここでは解説しません。 ここでは、文法以外の相違点をひとつ

    JavaScript: 通常の関数とアロー関数の違いは「書き方だけ」ではない。異なる性質が10個ほどある。 - Qiita
    netcraft3
    netcraft3 2020/03/22
  • 2020年はsystemd-homedの登場でLinuxのユーザー管理が大きく変わるぞ - Qiita

    これまでのLinuxでは、ユーザーの追加はuseraddで行われ、ホームディレクトリは/home以下にディレクトリとして作られ、ユーザーのアカウントは/etc/passwd、/etc/group、/etc/shadowで管理されていました。 これからは、systemd-homedがその全ての仕事を置換することになります。 ※タイトル詐欺感がありますが、従来の方式も並行して使えます。安心してください。 systemd-homedとは? systemd バージョン245で追加された、ユーザー管理デーモン。実体はsystemdのサービスユニットファイルで、systemd-homed.serviceとして起動されます。 今後、ユーザーの管理や認証はsystemd-homed(以下、 homed )によって行われることになるようですね。 出典が無く間違いだったため、訂正しました。systemd-ho

    2020年はsystemd-homedの登場でLinuxのユーザー管理が大きく変わるぞ - Qiita
    netcraft3
    netcraft3 2020/03/18
  • ラズパイにて、ラジコンカーを自作する-その1 - Qiita

    はじめに ラズベリーパイにて、自作のラジコンカーをつくったので紹介します。 ラジコンカー関連の記事 ラズパイにて、ラジコンカーを自作する-その1 ← 記事 ラズパイにて、ラジコンカーを自作する-その2 ラズパイにて、ラジコンカーを自作する-その3 紹介する内容 モータードライバについて ラジコンの組み立て方法について ※今回は、ハードウェアのみ。制御の話は次の記事で記載します。 最終的な目標 スマートフォンやPCを介して、ラジコンを制御したいと思います。 記事の記載範囲は、ラジコンの組み立てが中心です。 モータドライバ TA7291P 今回のラジコンカーには、DCブラシモータを使用します。 一般的なDCブラシモータは、乾電池などの電源につなぐと一定方向に回転します。 逆に回転させる場合は、電源の極性を逆するにする必要があります。 この切り替え動作を行うための回路が必要となります。 そこ

    ラズパイにて、ラジコンカーを自作する-その1 - Qiita
    netcraft3
    netcraft3 2020/03/15
    すごい。Raspberry Piでラジコンカーがつくれるのか
  • 商用環境でも使っている Laravel 用 php-fpm イメージの Dockerfile レシピ - Qiita

    これは何 Laravelphp-fpm イメージの Dockerfile。 (多少はフォーマット変わろうとも)色んなところでずっと使いまわししそうなのでメモ。 完全に個人の秘伝のタレ化するよりは情報公開したほうが自社にとっても利益があるだろうと判断(笑) 異論は無限に受け付けるので改善点などあればコメントください。 FROM golang:1.15 as http2fcgi_build # http2fcgi のビルド RUN GO111MODULE=on go get -v -ldflags '-w -s' github.com/alash3al/http2fcgi@v1.0.0 FROM php:7.4-fpm-alpine as php_runtime # Goバイナリが実行できるようにする # https://stackoverflow.com/questions/34729

    商用環境でも使っている Laravel 用 php-fpm イメージの Dockerfile レシピ - Qiita
    netcraft3
    netcraft3 2020/03/15
  • Let's Encrypt に重大なバグが発覚。該当サイトは2020/3/4 までに対応が必須 - Qiita

    Let's Encrypt にバグが発見されました。利用ドメイン全体の 2.6% のサイトに影響があるとの事です 有効な証明書の 2.6% に影響があるとの事です。影響があるサイトは 2020/3/4 までに対応が必要です。すでに期限は過ぎています。該当サイトには個別にメールが届きますが、メールが届かない場合もあるとの事なので注意して下さい。 この記事では問題の概要と該当するかどうかの確認方法、および対応方法について記載しています。 記事の修正を行いました(2020/3/6 追記) この記事は筆者の予想をはるかに超えて多くの方に読んで頂きました。ありがとうございます。改めて読み返してみると不完全な部分も多かったため、以下の修正を行いました。 2.6% の意味が不正確だったので修正 バグの概要と、その影響について以下の項に追記 問題の概要 どんな影響があるのか? 確認方法の詳細、補足説明、注

    Let's Encrypt に重大なバグが発覚。該当サイトは2020/3/4 までに対応が必須 - Qiita
    netcraft3
    netcraft3 2020/03/04
  • 中国の最新論文の方式で日本のコロナウィルスの感染者数を予測してみた - Qiita

    r 成長率 成長率は、一人の人がほかの人に感染させる割合です。 これは論文中の中国での数値をベースにして以下のように設定しました。 r = 0.3 l 隔離率 隔離率は、感染者が隔離される割合です。 これは論文中の中国での数値をベースにして以下のように設定しました。 l = 0.1(2020/2/28まで) l = 0.5(2020/2/29から) 発症率 f2(t) 感染から発症への推移確率 これは論文には記載されていませんでした。 感染しても発症しない人が7-8割はいるというニュースを聞いています。 また発症するまでに長くても14日ということから、以下のように設定しました。 f2(t) = 0.2/14 × t (t < 14) f2(t) = 0.2 (t >= 14) 入院率 f4(t) 感染から入院への推移確率 感染して入院した割合は、まったく分かりません。 そのため発症した人の

    中国の最新論文の方式で日本のコロナウィルスの感染者数を予測してみた - Qiita
    netcraft3
    netcraft3 2020/03/02
  • 社会人のための量子コンピューター超入門 量子コンピューターのよくある誤解を正す編 - Qiita

    量子コンピューターはよく誤解される 最近(2020年2月)、ハイプカーブの絶頂期に入った量子コンピューターですが、良い記事や書籍が増えてきました。しかし、それでも初期のころは、誤解を招くような記事が散見されたことも事実です。現状でも完全に無くなったとは言い難いところです。 一時期のAIブームの時のAIに対する見え方に似ていて、もうすでにものすごいものが動いているように見えている印象があります。 期待値が上がってくるのは、自称量子コンピューターエンジニアとしては嬉しいことではありますが、一方で過度の期待を招くものでもあり、それはそれで危険でもあります。 現状を正しい理解しておくことはとても大切です。 ここでは、雑談レベルで話しているときに、よく聞かれる内容をダンプしておきたいと思います。 量子コンピューターは並列処理ができるので速いらしいじゃん! ⇨ 並列処理ではなく、計算のルールの違いを巧

    社会人のための量子コンピューター超入門 量子コンピューターのよくある誤解を正す編 - Qiita
    netcraft3
    netcraft3 2020/02/29
  • ls よりも exa を使おう!モダンな Linux コマンド達を紹介 - Qiita

    上記の画像を見ると分かる通り、カラフルで見やすいですね。右図のようにディレクトリのツリー表示にも対応しています。さらに --icons オプションを付けると、ファイルタイプに応じたアイコン表示も可能です。 bat 続いて cat コマンドの代替である bat の紹介です。 ファイルの拡張子に応じてソースコードを色付けして表示してくれます。また less のようなページャの機能も持っており、行数の長いファイルを渡すと自動でページャモードで開いてくれます。 hexyl hexyl はバイナリダンプコマンド od の代替コマンドです。bat の開発者と同じ方が開発しています。

    ls よりも exa を使おう!モダンな Linux コマンド達を紹介 - Qiita
    netcraft3
    netcraft3 2020/02/25
    Rust製のオリジナルLinuxコマンド。試してみよう。
  • 「たけのこの里」を「きのこの山」に『正しく』自動で修正して差し上げるプログラム - Qiita

    はじめに ~素晴らしいお菓子の紹介と後発劣化品の存在~ みなさんご存知かと思いますが、「きのこの山」1という素晴らしいお菓子があります。株式会社明治様が1975年から製造・販売されているチョコレートスナック菓子です。きのこのような可愛らしいフォルムで、茎の部分がクラッカー、傘の部分がチョコレートになっています。 5年もの開発期間をかけてベストな組み合わせを試行錯誤されたとのことだけあって、持ちやすく機能的でありながら、たっぷりと使われたチョコと、程よい塩味とサクサク感のクラッカーが合わさり、至上の味わいを実現しています。このような素晴らしいお菓子を生み出してくださった明治様には当に頭が上がりません。 一方で、その爆発的ヒットを受けて4年後に「たけのこの里」なる類似粗悪品が登場しました。こちらは開発期間が短いこともあってか、チョコは約30%減らされ、土台はボソボソと粉っぽく持ちづらいクッキ

    「たけのこの里」を「きのこの山」に『正しく』自動で修正して差し上げるプログラム - Qiita
    netcraft3
    netcraft3 2020/02/25
  • お前らのコミットは汚い - Qiita

    お前らのXXXXは<ネガティブな形容詞>シリーズ で失礼します。 日頃gitをお使いの皆様におかれましては、キレイなコミットを心がけていらっしゃいますでしょうか。 私も心がけてはいますが、なかなか難しいものがあります。 参考までにこちら、最近業務で書いたプルリクエストのコミットログです。 控えめに言って汚いと思われたかと思います。 ではキレイなコミットの例を。 プルリクエストというのは、やはり先達の方に見ていただいてご指摘いただこうというものですから、 当然コミットハッシュもゾロ目等でキレイにするというのがマナーです。 では今回はこのキレイなコミットをどうやって作るのか、という話を書きます (ショート)コミットハッシュ コミットハッシュとは、gitのコミットごとに生成される、40桁の[0-9a-f]からなる文字列です。 お手元のリポジトリ上で git log --format=%H を叩く

    お前らのコミットは汚い - Qiita
    netcraft3
    netcraft3 2020/02/24
  • Excel設計書を抹殺したくて4年前にWiki設計書を導入したら、意外とちゃんと開発回ってた話。 - Qiita

    初めましてこんにちは。 最近コードレビューの記事書いたら、Excelベースだったことを理由に Qiitaコメントとはてブで徹底的に燃やされたおじさんです。 いやね、僕だって使いたくて使ってるわけではなくてね、 できることなら使いたくないんですよ。 というわけで名誉挽回のために脱Excelできた話、 それも日の三大悪三大風習に数えられるExcel設計書を抹殺した話を書きます。 (2/25修正:悪は言いすぎました。訂正します。) Growi 最高。 またの名をExcel方眼紙。 エクセルのセルの縦横を同じくらいの大きさに調整し方眼紙のようにして、 そこに設計書として文字と図と表を記載する方式。 メリット 一つのファイルに文字と図と表がまとめて記載できる テキストでは文字は書けても図と表が書けない Wordでは、文字と図表エリアとを2列表示するのが難しい できなくはないが面倒くさい UMLモデ

    Excel設計書を抹殺したくて4年前にWiki設計書を導入したら、意外とちゃんと開発回ってた話。 - Qiita
    netcraft3
    netcraft3 2020/02/24
  • Rust で vmlinux を起動できる x86 ブートローダーを作ってみた話 - Qiita

    Rust を勉強し始めたので冬休みの間に Linux の boot protocol を喋る x86ブートローダー(自称:Krabs)を作ってみました。この記事では、開発に至った動機や、作成した Krabs の特徴とか仕組み、開発中におきた嬉しかったことなどについて書きたいと思います。 Krabs とは Krabs は、Rustで書かれた x86/x86_64(Legacy BIOS) 向けの4段ロケット構成のチェインローダーです。 bzip2 で圧縮された ELF 形式のカーネルを起動できます。bzip2 圧縮されたイメージを解凍して、次に展開してでてきた ELF イメージを再配置してからの、カーネルの起動となります。 内部では libbzip2 の C ライブラリを利用していますが、それ以外は全て Rust で記述されています。 GitHub - o8vm/krabs: An x86

    Rust で vmlinux を起動できる x86 ブートローダーを作ってみた話 - Qiita
    netcraft3
    netcraft3 2020/02/20
  • Developers Summit 2020 資料リンクまとめ - Qiita

    毎年開催されているデブサミが2020/2/13(木)、14(金)で開催されましたね。 現時点で公開されている資料のリンクをまとめました。 よろしければご活用ください。 はじめに 公式サイト - Developers Summit 2020 登壇者名は敬称略させていただいています。 Twitterアカウントについては、多くの方はデブサミ公式サイトの紹介ページに記載がありましたので、そちらから引用させていただきました。記載がなかった方については、調べて分かった方のみ記載しています。 資料について、見つけられなかった or 元々資料を使用していない 方についてはレポート記事を見つけられた方のみ、そのリンクを記載しています。 なお、こういったリンクまとめをQiitaに投稿するのは初めてなので何か問題がある場合や、リンクの間違い等ありましたらコメントいただけると助かります。 2/13 13-A-1

    Developers Summit 2020 資料リンクまとめ - Qiita
    netcraft3
    netcraft3 2020/02/16
  • Java 14新機能まとめ - Qiita

    Java 14が2020/3/17にリリースされました。 Java SE 14 Platform JSR 389 ダウンロード OpenJDKサイトからダウンロードできます。 https://jdk.java.net/14/ MacLinuxでのインストールにはSDKMAN!をお勧めします Oracle OpenJDK以外に無償で商用利用できるディストリビューションとしては、次のようなものがあります。 AdoptOpenJDK Azul Zulu Community Liberica JDK LTSではないのでAmazon Correttoではリリースされないようです。 アップデートは4月に14.0.1が、7月に14.0.2がリリースされることになります。 Oracle JDKは開発用途には利用できますが、商用利用にはJava SE Subscriptionを購入する必要があります。 J

    Java 14新機能まとめ - Qiita
    netcraft3
    netcraft3 2020/02/13
  • 【動画付き】 draw.io 使い方まとめ 〜エンジニアでなくても使えるTips集〜 - Qiita

    draw.io はブラウザを使用してフローチャート、プロセス図、組織図、UML 図、ER モデル、ネットワーク図などを作成できる優れたツールです。作成した図は xml ファイルとして保存でき、GitHub との連携もシームレスに行われます。3 年ほど愛用しているツールですが、隠された使い方がたくさんあります。すぐに忘れてしまうので取りまとめておきます。 「こんな使い方あるよ!オススメだよ!!」という方はぜひ編集リクエストをいただければ追記していく予定です 😊 ※ 主に参照している文献は以下、公式ブログは非常に分かりやすいのでオススメです。 ツイッター公式アカウント 公式ブログ ショートカット ショートカット集です。机の上に置いて覚えましょう。 Line / 線 まずは最も頻繁に使う Line(線)の使い方からご紹介します。 矢印をまっすぐに揃える ちまちまと矢印の線をドラッグして微調整し

    【動画付き】 draw.io 使い方まとめ 〜エンジニアでなくても使えるTips集〜 - Qiita
    netcraft3
    netcraft3 2020/02/12
    draw.io 使ってるけど知らないことばかりだ
  • 育児×家事×IoT Raspberry Piで最強の防犯カメラを作ってみる(動画記録・配信、動体検知・Line通知、顔検知・顔認証、Alexa搭載)[4/6] - Qiita

    Help us understand the problem. What is going on with this article?

    育児×家事×IoT Raspberry Piで最強の防犯カメラを作ってみる(動画記録・配信、動体検知・Line通知、顔検知・顔認証、Alexa搭載)[4/6] - Qiita
    netcraft3
    netcraft3 2020/02/02
  • FFT(高速フーリエ変換)を完全に理解する話 - Qiita

    となります。 この $C_i$ を、$0\leq i\leq 2N$ を満たすすべての $i$ について求めるのが今回の目標です。 それぞれ愚直に求めると、$f,g$ の全項を組み合わせて参照することになるので、 $O(N^2)$ です。これをどうにかして高速化します。 多項式補間 愚直な乗算は難しそうなので、$C_i$ の値を、多項式補間を用いて算出することを考えます。 多項式補間とは、多項式の変数に実際にいくつかの値を代入し、多項式を計算した値から、多項式の係数を決定する手法です。 たとえば、$f(x)=ax+b$ という $1$ 次関数があるとします。 $a$ と $b$ の値は分かりませんが、$f(3)=5,f(7)=-3$ がわかっているものとします。 実際に $3,7$ を代入してみると、 $3a+b=5$ $7a+b=-3$ と、連立方程式が立ち、$a,b$ の値が求められま

    FFT(高速フーリエ変換)を完全に理解する話 - Qiita
    netcraft3
    netcraft3 2020/01/29
  • VTuberのホームページをGitHubのプルリクだけで更新していったらどうなるのか?企画に参戦してみた - Qiita

    VTuberのホームページをGitHubのプルリクだけで更新していったらどうなるのか?企画に参戦してみたTypeScriptYARNOSSReactVtuber おめシスはいいぞ VTuberのホームページをGitHubのプルリクだけで更新していったらどうなるのか?という企画に参戦してみた。技術的にも非常に面白い試みだったので書き残しておく。 経緯 夜中にTwitterのタイムラインを眺めていたら興味深い動画を見かけた。 【検証】1ヶ月間、プルリクだけでホームページ作ったらどうなるの? どうやら「おめがシスターズ(通称:おめシス)」というVTuberが、自分たちのホームページをGitHubのプルリクだけで更新していったらどうなるのか?という検証を行なっていた模様。 おめシスのホームページをGithubのプルリクで更新していったらどうなるのか、こっそり検証中です。そのうち動画にします!htt

    VTuberのホームページをGitHubのプルリクだけで更新していったらどうなるのか?企画に参戦してみた - Qiita
    netcraft3
    netcraft3 2020/01/20
  • 最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ - Qiita

    的アルゴリズム(幅優先探索など)から応用(経路復元、拡張ダイクストラなど)まで、最短経路問題に関するアルゴリズムを総特集しました。 基的なグラフ理論の用語については、次を参考にしてください。 グラフ理論 用語集 queueなどのデータ構造の用語については、次のスライドの後半を参考にしてください。 C++ STL講習会 by @e869120 最短経路問題とは 一般的に、次のような問題とされます。 $V$ 頂点と $E$ 辺からなるグラフが与えられる。頂点 $u$ と 頂点 $v$ を結ぶパスのうち、重みの総和が最も小さいものはどれか。 始点を固定して他のすべての頂点との対について最短経路問題を解く場合や、任意の2頂点の対について解く場合などが実際には多いです。 実社会とも強く密着した問題のため、古くからたくさん効率的な解法が考えられてきました。 今回はそれらを紹介しつつ、細かいテクニ

    最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ - Qiita
    netcraft3
    netcraft3 2020/01/19
  • MySQL データベースの負荷対策/パフォーマンスチューニング備忘録 インデックスの基礎〜実践 - Qiita

    TL;DR この記事に書いた事 二分探索木のお話(前提知識) MySQLのInnoDBで利用されているB+木インデックスの構造と特性 (前提知識) MySQLのClusteredIndex,SecondaryIndexについて(前提知識) カーディナリティについて(前提知識) 実際の負荷対策 検出編 スロークエリ 検出編 その他のクエリ割り出しいろいろ クエリ・インデックスの最適化 explainの使い方と詳細 ケース別実践 単純にインデックスがあたっていないケース カーディナリティが低いインデックスが使われているケース 部分的にしかインデックス/複合インデックスがあたっていないケース 複合インデックスの順序誤りでインデックスが適用できていないケース 複合インデックスの最初がrange検索のケース ソートにインデックスが適用できていないケース ソートにインデックスが適用できていないケース(

    MySQL データベースの負荷対策/パフォーマンスチューニング備忘録 インデックスの基礎〜実践 - Qiita
    netcraft3
    netcraft3 2020/01/11
    MySQLのノウハウの宝庫だ