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

  • 2021年に知っておきたいJavaScript最適化技術34選 - Qiita

    記事は、Atit氏による「34 JavaScript Optimization Techniques to Know in 2021」(2021年1月3日公開)の和訳を、著者の許可を得て掲載しているものです。 2021年に知っておきたいJavaScript最適化技術34選 最新の省略テクニック、コツ、秘訣で、JavaScriptコードを最適化する。 開発者の生活というのは常に新しいことを学ぶことで、その変化についていくことは決して難しいことではありません。私は、フロントエンド開発者として知っておく必要のある省略形や機能など、JavaScriptのすべてのベストプラクティスを紹介して、2021年の生活をより快適にしたいと考えています。 JavaScript開発に長く携わっている人でも、コードを追加しなくても問題解決できるような最新機能を知らないこともあるかもしれません。ここで紹介するものは

    2021年に知っておきたいJavaScript最適化技術34選 - Qiita
    delphinus35
    delphinus35 2021/05/18
    こんなの戦争を誘発するだけの代物であまり意味がない。文句があるならコーディング規約かeslintのカスタムルールで縛るべき。
  • Terraform職人再入門2020 - Qiita

    はじめに この記事は CrowdWorks Advent Calendar 2020 の11日目の記事です。 3年ほど前に、「Terraform職人入門」という記事を書きました↓ Terraform職人入門: 日々の運用で学んだ知見を淡々とまとめる この記事は多くの人に読んでいただきましたが、当時のTerraformのバージョンはv0.11で、2019年5月にリリースされたv0.12以降のHCL2にも対応しておらず、またその後の周辺のエコシステムの変化などもあり、情報がずいぶん古くなってしまった感は否めません。また当時紹介した解決方法よりも、今ならよりよい解決策を知っているものもあります。未だに過去の記事にLGTMをもらうたびに、うれしさ半分と同時に、なんとなく心苦しい気持ち半分でした。 というわけで、「Terraform職人再入門2020」と題して、当時から差分のあった箇所を中心に、運用

    Terraform職人再入門2020 - Qiita
  • Perlで\p{Hiragana}とかが記号にマッチする問題 - Qiita

    みなさん、ワンライナーで日語を簡単に処理したい場合、何を使うでしょうか。 ワンライナーで言語処理といえばPerlですよね[要出展]。 Perlでは、「ひらがな」「カタカナ」「漢字」といった文字にマッチする正規表現を簡単に書くことができます。 例えば、青春→鯖鰆みたいなやつという記事では、漢字にマッチさせるのに\p{Han}という正規表現を使っていました。 $ perl -Mutf8 -CSD -le 'print "漢" =~ m{\p{Han}} ? 1 : 0' 1 $ perl -Mutf8 -CSD -le 'print 1 if "あ" =~ m{\p{Han}} ? 1 : 0' 0 なんてこった。 "「"は明らかに漢字じゃないだろう? 調べてみると、perlunicodeに以下のような記述がありました。 Prior to Perl v5.26, the single for

    Perlで\p{Hiragana}とかが記号にマッチする問題 - Qiita
    delphinus35
    delphinus35 2021/04/15
    へー。こりゃ知らんかった。
  • chmod -R 777 /usr を実行したCentOS7で、一般ユーザがroot権限を得られることを確認する - Qiita

    chmod -R 777 /usr を実行したCentOS7で、一般ユーザがroot権限を得られることを確認するLinuxSecurityrootpermission Teratailで、suコマンドでrootログインできないという質問があり、てっきり/etc/pam.d/suまわりの設定かと思いきや、そうではなく、自己解決で説明された原因に一同驚愕ということがありました。 /usr/share/nginx/html に権限を追加したくて、横着して chmod 777 -R /usr とコマンド実行した記憶があります。 CentOS7、suコマンドでrootにログインできない、パスワードは絶対あっているのになぜ? /usr 以下のパーミッションをすべて777に設定したら、逆に動くべきものが動かなくなる例なのですが、これをやるとセキュリティ上問題であることは言うまでもありません。究極的には、

    chmod -R 777 /usr を実行したCentOS7で、一般ユーザがroot権限を得られることを確認する - Qiita
  • 形式手法はなぜ流行っていないのか - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに みなさん形式手法をご存知でしょうか? 名前くらいは聞いたことあるけどいまいち何かわからないという方が多いのではないでしょうか。 その通りです。形式手法はアカデミアではそれなりに研究されているものの、 一般の(特にWeb系)ソフトウェア開発者が携わることはなかなかないのではないかと思います。 この記事ではソフトウェア開発に形式手法が導入されないのはなぜなのかを考察します。 この記事ではアジャイルソフトウェア開発において形式手法を導入する際のハードルについて考察します。 追記 記事について、「形式手法は流行っていない」というのは

    形式手法はなぜ流行っていないのか - Qiita
    delphinus35
    delphinus35 2021/03/25
    面白かった。いいオチまでついててよかった。
  • 海外「なぜ日本はハードウェアの時代と同じようにソフトウェアに秀でることができない?」 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Why doesn’t Japan excel in software as they did in hardware? (なぜ日はハードウェアの時代と同じようにソフトウェアに秀でることができない?) という英語Quoraのやり取り、分析が興味深かったので、まとめ。 仮説1: 日は完璧を求める 10人のエンジニアのソフトウェア開発会社を経営しているフランス人の友人が、ルイ・ヴィトン日支社のコンピュータシステムのマネージャーと同意した話:ソフトウェアはハードウェアではなく、産業用でもない。50年間同じトヨタカローラのように構築され、

    海外「なぜ日本はハードウェアの時代と同じようにソフトウェアに秀でることができない?」 - Qiita
  • Not Found

    delphinus35
    delphinus35 2020/12/25
    独自の用語が多くて意味がわからないところ多数。特にハード系Linuxってなんなんだ。組み込み系?それともイチから構築するSlackware系?
  • Gitと連携するツールとしてのVim - Qiita

    はじめに Vimといえば、みなさんご存じテキストエディタですが、テキストエディタである以前に一つのCLIコマンドでもあります。そんなCLIコマンドの利点一つにThe UNIX philosophyの定理として提唱されている『7. Use shell scripts to increase leverage and portability. (シェルスクリプトによって梃子(てこ)の効果と移植性を高める)』というものがあります。 今回は私も普段の仕事で利用しているVimの梃子としての側面をご紹介できればと思います。 GitコマンドとVim 今回Vimと組み合わせるのはシステム開発で避けては通れぬバージョン管理システムGitです。私は普段Gitを使用するときにはSourcetreeやGitKrakenなどのGUIクライアントを利用せずにCLIで操作をしています。 皆さんこう思われるかもしれません

    Gitと連携するツールとしてのVim - Qiita
  • ライブラリの紹介文でよく見かけるけどいまいち意味が分からない英単語 - Qiita

    ライブラリの紹介ページや GitHub のリポジトリで登場する「割と見るけど意味はよくわからない単語」をまとめてみました 誤りがあればガンガン指摘してもらえると助かります opinionated 意味をググると「[形容詞] 自説を固執する」という謎の和訳が出てきて理解を諦める方もいるんじゃないでしょうか opinionated については色々な記事で紹介されています https://qiita.com/baby-degu/items/7dc4548bf7befc2671f4#opinionated%E3%81%A8un-opinionated https://stackoverflow.com/questions/802050/what-is-opinionated-software プログラミングの文脈に落とし込むと「ライブラリやフレームワークが定義したやり方に利用者(プログラマ)を従わ

    ライブラリの紹介文でよく見かけるけどいまいち意味が分からない英単語 - Qiita
    delphinus35
    delphinus35 2020/12/13
    面白い。他にはYet another〜とか。よく見かけるし意味もなんとなくわかるけど和訳がわからん。
  • クラスタのノード欠損を復旧しようとしてクラスタを丸ごと落とした話 - Qiita

    これは、私が若…くはないけどピカピカのAWS1年生だった、数年前のお話です。 何をやらかしたのか やらかし前の状態 番運用しているWebアプリケーションの裏側に、EC2インスタンス3台でクラスタを組んだ某データストア製品を使用していました。データはクラスタ内でレプリケーションされており、1台がダウンしただけならクラスタは稼働を継続できます。2台がダウンするとクラスタ全体が機能しなくなります。 ある日、3台のうち1台で障害が発生してインスタンスへ疎通できない状態になりました。この時点ではクラスタは正常に応答しており、あと1台ダウンしない限りはサービスに影響が出ない状態でした。 まず、ダウンしてしまったインスタンスを再起動して復旧させようとしました。ところがEC2マネジメントコンソールから再起動、停止を選択しても障害中のインスタンスは反応しません。そして私は間違いを犯します。 やらかしたこと

    クラスタのノード欠損を復旧しようとしてクラスタを丸ごと落とした話 - Qiita
    delphinus35
    delphinus35 2020/12/11
    Slack書き込み見て思わず吹き出してしまった
  • 2で割ることと3で割ること - Qiita

    この記事でお題にするのはCPUレジスタ上の整数除算です。以下、単に除算とも書きます。 除算は非常に高コストな演算なため、コンパイラは最適化によって、できるだけ整数除算を別の計算に置き換えようとします。 最適化ができる場合の一つとして、割る数が定数である場合があります。頭のいいコンパイラは、除算を乗算とビットシフト等を駆使した演算に置き換えます。この記事では、そういった最適化の背景にある理屈を部分的に解説します。 計算機環境としてはモダンなx86 CPUを仮定します。したがってレジスタは32/64ビットであり、負数は2の補数表現になっています。ある程度は他の命令セットでも通用する話になっているかもしれません。 そもそも整数の除算とは プログラミングにおける整数の除算の定義について確認します。整数$n$を整数$d$で割るとき $$ n = q \times d + r $$ が成り立つように除

    2で割ることと3で割ること - Qiita
  • Google Cloud Artifact RegistryでUnity Package Managerのプライベートレジストリを作成する - Qiita

    Google Cloud Artifact RegistryでUnity Package Managerのプライベートレジストリを作成するnpmUnityUnityPackageManagerGoogleCloudArtifactRegistry Google CloudのArtifact Registryは、11月17日(現地時間)に一般提供を開始した新しいサービスです。Google Container Registryの進化形でもあり、コンテナイメージだけでなく言語パッケージなども管理できます。 Artifact Registryはnpmをサポートしてます。UnityのPackage Managerはnpmをベースにして動作しており、社内でUnity Package Managerのプライベートレジストリのニーズがあったため、Artifact Registryのnpmが利用できないか試

    Google Cloud Artifact RegistryでUnity Package Managerのプライベートレジストリを作成する - Qiita
    delphinus35
    delphinus35 2020/12/08
    Artifact Registry早速アーケード出して申し込んでみた
  • 管理者用初期化URLを踏んでWebサービスのデータをふっとばした話 - Qiita

    自己紹介 職のエンジニアではありませんが、ちょっとICT系に詳しそうなやつって感じで、部署のサーバ管理を任されたりもしています。 背景 私の(当時所属していた)部署では、毎年、数週間かけて前年の各人の業務実績をとりまとめて一つの冊子(PDF)にするという仕事があり、この作業を少しでも自動化するため、Webサービスが内製されました。当初は単純に各ユーザが自分の業務実績一覧をテキストで用意してアップロードするというものでしたが、秘伝のタレのように毎年少しずつ改良されたり、大幅に作り直されて別システムから業務データを取り込んでからブラウザ上で編集できるようになったりしつつ、なんやかんやあって私が引き継ぎます。他にやりたい人もなく、ひとり鯖管です。OSはCentOS6でした。 このシステムでは、毎年新しいデータを編集するため、その作業開始時にデータを初期化する必要があります。この作業も自動化し、

    管理者用初期化URLを踏んでWebサービスのデータをふっとばした話 - Qiita
    delphinus35
    delphinus35 2020/12/08
    すげー!よくここから復帰できたな。ウェブアプリ開発者から見るとバカみたいなミスだが、復帰手順とかは門外漢なので大変参考になった。
  • 本番でTableを1つDeleteしてしまいON DELETE CASCADEでさらに4つTable dataが消えた話 - Qiita

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

    本番でTableを1つDeleteしてしまいON DELETE CASCADEでさらに4つTable dataが消えた話 - Qiita
    delphinus35
    delphinus35 2020/12/03
    わーお。DROPかと思ったらDELETEで全行削除かましたのか。ちゃんとBEGINしてから作業しましょうねー。
  • 本番環境でsudo yum updateしてサービスが動かなくなった - Qiita

    環境 EC2 (Amazon Linux) Apache php7.1 私がやってしまったこと この事件が起きたのは2020年6月。既に稼働しているWebサービスでとあるデータ取得の処理が止まってしまっているので調査してほしいと頼まれました。また、サービスに影響が出るものだからなるべく早めに対処してほしいと言われました。 マネージャー 「今日の夕方までにはお願いね。もし難しそうだったら午後イチで一旦MTGしよう。14時までに連絡をください。」 わたし 「任せてください!」 ・・・・ とは言ったものの、番サーバーで起きている障害の調査は今までやったことがありませんでした(もちろん番サーバーにログインしたこともない)し、進め方も全く思いつきませんでした。しかも、対応するサービスの開発には携わったことがなく、sshログインの設定から行う次第でした。 まあ、今まで頼まれたタスクを期限内に終えら

    本番環境でsudo yum updateしてサービスが動かなくなった - Qiita
    delphinus35
    delphinus35 2020/12/02
    ひええええ。なんで調査のためだけにroot権限与えてしまうの……/再度読んだけど、「調査してくれ」であって「不具合を直してくれ」とは頼まれてないよな。どうして……どうして……
  • Mac用タイル型ウィンドウマネージャーのyabaiがヤバイ - Qiita

    # !/usr/bin/env sh # global settings yabai -m config mouse_follows_focus on yabai -m config focus_follows_mouse autoraise yabai -m config window_placement second_child yabai -m config window_topmost on yabai -m config window_shadow off yabai -m config window_opacity on yabai -m config window_opacity_duration 0.0 yabai -m config active_window_opacity 1.0 yabai -m config normal_window_opacity 0.95 y

    Mac用タイル型ウィンドウマネージャーのyabaiがヤバイ - Qiita
    delphinus35
    delphinus35 2020/11/24
    同種のもの(Amethystとか)と比べてどうやばいのか書いて欲しいのだが。
  • ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識がになりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマ

    ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習
    delphinus35
    delphinus35 2020/10/21
    なるほどー。こういう心理なのか。/生のVimでもerrorformatを適切に設定すればエラー位置に自動でジャンプできるんだけどな。もっともそれができてたら初心者ではないが。/今ならsyntasticではなくてALEを勧めるべきでは。
  • Node.jsとはなにか?なぜみんな使っているのか? - Qiita

    となります。 またNode.jsの特徴として「Webサーバの役割もNode.jsがこなす」という点があります。(というかNode.jsの目的を考えるとWebサーバとしての役割がメインです) 元々Node.jsは大量の同時接続をさばけるようなネットワークアプリケーションを構築することを目的として設計されています。 そのため、Webサーバとしての機能から一貫してNode.jsが受け持ち、効率的に処理できるようになっています。 要するに通常使われるApacheやnginxのようなWebサーバの代わりにNode.jsが直接HTTPリクエストを受け取り、処理をしてくれます。 (実際にはNode.jsのみだとWebサーバとしては少し機能が物足りないので、その前段にApacheやnginxをリバースプロキシとして置く構成が多いです。) 目的3. モバイル/デスクトップ用のアプリケーションを作りたい No

    Node.jsとはなにか?なぜみんな使っているのか? - Qiita
    delphinus35
    delphinus35 2020/10/19
    一周回ってこういう説明が必要な時代になったか
  • Pythonの非同期プログラミングを完全理解 - Qiita

    CPUはコンピューターの処理コアで、貴重なリソースになります。CPUの実行時間を無駄遣いし、利用率を低下させると、プログラムの効率も必然的に低下します。上記の表が示したように、1Gbpsのネットワークで2KBのデータをアップロードしたら、CPUの感覚では14時間を過ごしたようなものです。もし、10Mbpsのネットワークとなると、更に100倍も効率が下がります。この長い時間を、CPUをただただ待たせて他の処理に移さない行為はまさにCPUの「青春」の無駄遣いになります。 2-2. 現実の問題点 コスト プログラムはコンピューターの計算リソースを有効に利用できないと、その穴を埋めるために、より多くのコンピューターが必要になってきます。例えば、スクレイピングのプログラムを非同期プログラミングで設計し直すと、もともと必要とした7台のサーバーを3台まで減らせて、コストを57%削減することができます。ち

    Pythonの非同期プログラミングを完全理解 - Qiita
  • なぜ我々は頑なにforを避けるのか - Qiita

    動機 前回の記事を投稿したことを某SNSで通知したところ、そのSNSでこんなコメントをいただいた。転記する許可を取ったわけでは無いので私なりに要約させていただくと、 なぜそんなトリッキーな書き方をしてまでforを使うのを避けるのか そんな書き方をして可読性を下げるくらいなら素直にforを使う方が良い ということだと理解している。 なるほど、一理ありそうだ。しかし一方で、前回貼ったStackOverflowのQ&Aはなかなかの人気記事(質問に1243ポイント、回答に最大で1559ポイント)なので「多少トリッキーなことをしてでもforを書きたくない!!」という意見をもつプログラマも一定以上いるのだろう。当然私もその1人だ。 ということで、この記事で「なぜそこまで意固地になってまでforを書きたくないのか」を説明することにする。 尚、今回は前回の記事つながりで言語はJavaScriptを使うが、

    なぜ我々は頑なにforを避けるのか - Qiita
    delphinus35
    delphinus35 2020/09/24
    え……ざっと読んだ感じ、for ofとfor await ofに関する言及がなくない?特に後者は他で代替が聞かないと思うんだけど。