タグ

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

  • console.log(); しか使えなかった自分へ。。。 - Qiita

    この記事について Webエンジニアになって早1年半。railsのデバッグをする時にはエディターのデバッガーでスマートにできていたが、javascriptになるといつもconsole.log();ばかりを使って原始的なデバッグをしていた。。。 そんな脳筋な過去の自分に教えてやるための記事です。 console.log({変数名}); 「いきなりconsole.log();の紹介かい!!!」って思われるかもしれませんが、この技を知ったときは「なんで知らんかったんや。。。」って思うくらい便利だったので最初に紹介します。 以下のようなHTMLがある場合 <form> <input type="text" value="名無しの権兵衛" id="name"> <input type="text" value="80歳" id="age"> <input type="text" value="バスケ"

    console.log(); しか使えなかった自分へ。。。 - Qiita
    karahiyo
    karahiyo 2022/05/25
  • 「システム運用アンチパターン」を一読したので、その要点(特に薦めたい感想5点) - Qiita

    システム運用アンチパターン ―エンジニアがDevOpsで解決する組織・自動化・コミュニケーション | Jeffery D. Smith, 田中 裕一 | | 通販 | Amazon エンジニアがDevOpsで解決する組織・自動化・コミュニケーション。早速お薦めしたく書いています。読書感想文です。 感想5点 良いぞ。周りに薦めたい 百聞一見。目次だけでも: https://www.oreilly.co.jp/books/9784873119847/#toc 特に自分にとって良かったのは以下 9章 せっかくのインシデントを無駄にする 10章 情報のため込み:ブレントだけが知っている だが、一番スゴイのは11章かもしれない 「文化を変えようと思うのであれば、文化がどのように共有されているかを理解すること」 コロナ以前は 議事録 会議 机横での雑談 飲み会 タバコなどなどあったが コロナ以降、リ

    「システム運用アンチパターン」を一読したので、その要点(特に薦めたい感想5点) - Qiita
    karahiyo
    karahiyo 2022/04/27
  • 海外のガチHTMLコーダーに阿部寛のホームページを見てもらった - Qiita

    (2022/4/28) フォローアップ記事となる、ジェイソンさんの記事の翻訳版を公開いたしました。 「HTML3.2のどこが「間違って」いるのか、そしてそれを見た目重視のクラスで再現するのがおかしいわけ」 先日投稿した「「阿部寛のホームページ」はHTML界のシーラカンスである」の続編として、MediumのHTML関連の記事でセマンティックではないHTMLCSS(特にTailwind CSS)に対し舌鋒鋭い批判をしていらっしゃるJason Knightさんに、英語版の記事を見ていただいた。しっかりコードを分析されているようで恐縮である。忌憚・忖度の無いセカンドオピニオン的知見としてご覧いただければ幸いである。 (2022/4/22) 上司から会社の名前を載せて書いているのに、表現が過激すぎるのではないかとお達しがあったため、表現をマイルドにして、原文を削除した。大変申し訳ありませんでした。

    海外のガチHTMLコーダーに阿部寛のホームページを見てもらった - Qiita
    karahiyo
    karahiyo 2022/04/24
  • DenoがTypeScriptの使用をやめる5つの理由 - Qiita

    前書き この記事は翻訳記事になります。 近年、JSで書かれてるプロジェクトをTSに書き直すことが業界内で一種の風潮になって、 この記事で敢えてTSからJSに戻そうとする事例が目新しいと思ったので、翻訳してみました。 出処: 5 reasons why Deno will stop using TypeScript - StartFunction 原作者: eliorivero Denoの紹介: V8 JavaScriptエンジン及びRustプログラミング言語に基づいた、 JavaScript及びTypeScriptのランタイム環境である。Node.jsの作者であるライアン・ダールによって作成され、セキュリティと生産性に焦点を当てている。 --ウィキペディア 最近、Denoが内部コードでTypeScriptの使用を停止することを指摘する文書が浮上しました。 言及されている問題には、TypeS

    DenoがTypeScriptの使用をやめる5つの理由 - Qiita
    karahiyo
    karahiyo 2022/04/06
  • 典型的な DP (動的計画法) のパターンを整理 Part 1 ~ ナップサック DP 編 ~ - Qiita

    はじめに --- DP は役に立つ はじめまして。NTTデータ数理システムでアルゴリズムを探求している大槻 (通称、けんちょん) です。 好きなアルゴリズムは最小カットやマッチングですが、会社ではなぜか「DP が好きな人」と呼ばれています。 巷ではよく「DP なんて実務では使わない」といった言説が定期的に流れますが、そんなことはないです。僕自身この 2 年間で DP が使える実務案件に 3 件くらい関わりました! それはともかくとして、DP を学び立ての方がよく抱く悩みとして「バリエーションが多すぎて混乱するし、統一的なフレームワークがほしい」というのがあります。確かに DP のバリエーションは非常に多岐にわたるのですが、そのほとんどが以下の 3 つのフレームワークで説明できると思います: ナップサック DP 区間 DP bit DP 今回はこのうちのナップサック DP について、とにかく

    典型的な DP (動的計画法) のパターンを整理 Part 1 ~ ナップサック DP 編 ~ - Qiita
    karahiyo
    karahiyo 2022/03/13
  • 最新版Log4j 2.17.1ではCVE-2021-44832のリモートコード実行が修正されています - Qiita

    記事は2021年12月28日(米国時間)に公開した英語ブログNew Log4j 2.17.1 fixes CVE-2021-44832 remote code execution but it’s not as bad as it soundsの日語版です。 事前の予測通り、2021年12月28日19時35分頃(GTM/グリニッジ標準時)、ロギングライブラリLog4jに影響を与える別のセキュリティ脆弱性がCVE-2021-44832として公表されました。 この新しいセキュリティ脆弱性 CVE-2021-44832 は、これまで修正されたと考えられていた 2.17.0 までのバージョンに影響します。この脆弱性は、Log4j の 1.x ブランチに影響を与えた CVE-2021-4104 と性質が似ています。 CVE-2021-44832の影響 もし、Log4jの最新の修正バージョンに速や

    最新版Log4j 2.17.1ではCVE-2021-44832のリモートコード実行が修正されています - Qiita
    karahiyo
    karahiyo 2021/12/29
  • オレ的EXPLAIN技を語っちゃうゾ - Qiita

    メリークリスマス 記事はPostgreSQL Advent Calendar 2021の25日目です。今年も面白い記事がたくさん揃いましたね!!! さて、みなさん今年のPostgreSQLライフはどんな感じでしたでしょうか? 私はというと、なんだかチューニングばっかりやってました。1案件でいろいろお手伝いすることはまあまああったのですが、複数から次々チューニングの相談をもらって、歴代継承者の個性を発現したデクくんのごとく駆け回ったのが今年のハイライトです。 (この綱渡り感、、、伝われ!!!) 俺たちは雰囲気でチューニングしている 今回上手くいったけど、あの時たまたまひらめいた1案をぶつけてみたら効果でたのであって、次善の策なんてなかったけど??って毎回思ってるから、雰囲気でやっていると思う、マジで。コミュニティのノリだと笑いが起きていいんですけど、少しでも勝率を上げるために、若手の前でド

    オレ的EXPLAIN技を語っちゃうゾ - Qiita
    karahiyo
    karahiyo 2021/12/28
  • 「Google Cloud Managed Service for Prometheus」について - Qiita

    はじめに GCPがPreview版として提供している「Google Cloud Managed Service for Prometheus」に関する簡単なまとめになります。 Prometheusを運用する上での課題 Prometheusのアーキテクチャと基機能 Prometheusのアーキテクチャの全体図が以下になります。 参考:https://prometheus.io/docs/introduction/overview/ このままで、少しわかりにくいのでメトリクスを収集してからGrafanaで可視化するまでの流れを簡略化した図が以下になります。 よくあるPrometheusの運用上の課題 Global View 1個あたりのPrometheusのスクレプの性能限界等により、複数のPrometheusを運用することになったので、複数のPrometheusを横断してクエリを実行したい

    「Google Cloud Managed Service for Prometheus」について - Qiita
    karahiyo
    karahiyo 2021/12/22
  • バッチ処理について考える - Qiita

    TL;DR ひとくちにバッチといっても色々ある 夜間バッチをもう作るな オンラインバッチはSQL以前にDB設計がんばれ はじめに Twitterのタイムラインで以下のようなツイートが回ってきました。 バッチ処理をみんな舐めてかかったり、ショボイとか思ってる人多い印象なんだけれども、数十万~数千万件規模のデータを処理したことあるのかな。テンプレ通りのコードじゃ動かないよ?ネットににも答え載ってないよ?低レイヤも意識しないと動かないよ? 2020年1月10日 ツイートされたわだっしーさんの意図がどこにあるかは確認してないですが、極限の世界でテンプレート的な処理では対応出来ないのはあるよな、と思いつつもある程度はバッチの作法としての書き方があると思っています。 このツイートとその関連ツイートを読みながら、そういえばバッチ処理に関して書いてある記事はあまり見ないなぁ、とおもったので他のネットや

    バッチ処理について考える - Qiita
    karahiyo
    karahiyo 2021/12/22
  • Go言語のMP4ライブラリ abema/go-mp4 - Qiita

    はじめに 稿では、 ABEMA で開発した Go 言語の MP4 ライブラリを紹介します。 GitHub 経緯 以前の記事 AbemaTV の MPEG-DASH 対応 で ABEMA (当時の AbemaTV)の自作システムによる MPEG-DASH の配信について書きました。 その中で MP4 の Box を編集して配信に使用している事にも触れています。 もともとは当初必要だった最小限の実装のみでしたが、 MP4 の解析を必要とする機会も段々と増えました。 そこで、 MP4 の読み書き部分をライブラリとして実装を切り出して汎用的に使える形に改修しました。 MP4 とは 映像を扱う規格(H.264など)や音声を扱う規格(aacなど)はそれぞれにいくつもの種類があります。 しかし、それぞれの規格だけでは映像と音声を同期させて記録・再生することができません。 そこで、 MP4 や MPEG

    Go言語のMP4ライブラリ abema/go-mp4 - Qiita
    karahiyo
    karahiyo 2021/12/17
  • なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita

    なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】UXUIDesignUIデザイン画面設計 1.はじめに エンジニアの私がデザインを気で勉強した結果、デザイナーとエンジニアはそもそも思考が大きく違っているということがわかりました。 今回は「それ」をデザインに苦手意識のあるエンジニア方にも理解してもらえたらと思い、わかりやすくまとめてみました。 2.アプリの画面デザインを考えてみよう まず、こんなアプリを考えてみてください。 フィットネストレーナーが使うアプリ トレーニングルームでお客様とお話しながら使う 端末はタブレット そして 会員の個人情報確認 前回までのトレーニング状況の確認 次回の予約受付 といったことをします。 使える情報としては、こんな感じです。 あなたならどう画面デザインをするか、もしお時間があったら考えてみてください。

    なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita
    karahiyo
    karahiyo 2021/12/12
  • IPアドレスの例示で xxx.xxx.xxx.xxx を使うな - Qiita

    悲劇は起こった… ある日のLINE A氏「IPアドレスについて教えて欲しい!」 B氏「IPアドレスっていうのは xxx.xxx.xxx.xxx っていうフォーマットの…」 A氏「このリンクなに?」ポチー \フワーオ♡/ B氏(YABE) 何が起こったのか LINETwitter などの SNS は投稿されたリンクを自動的に飛べるようにしてくれます。 今回不幸なことに、この .xxx というドメインは存在し、xxx.xxx というドメインは登録されていました。 参考: ドメイン (domain)とは |「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 ドメイン名の種類 JPNIC そして .xxx ドメインの用途はよりによって… 用途 登録対象 > アダルトエンタテイメント業界用 < >> アダルトエンタテイメント業界用 << >>> アダルトエンタテイメント業界

    IPアドレスの例示で xxx.xxx.xxx.xxx を使うな - Qiita
    karahiyo
    karahiyo 2021/12/09
  • AWSの資格を全部取ったので思い出を振り返る - Qiita

    この記事はフューチャーAdvent Calendarの1記事目です 12月1日は私の誕生日なので遠慮なく一番乗りします、おめでとう自分。 AWSの資格を11個全て取得しました AWS認定試験の存在は2021年現在多くの人が知っていると思います。 AWSの資格は基礎コース、アソシエイト、プロフェッショナル、そして専門知識の4カテゴリ、11個の試験が存在します。 専門知識の試験はたまに増えたり減ったりします。 2021年段階ではAWS Certified Alexa Skill Builder - Specialtyが廃止され、2022年に「SAP on AWS - 専門知識」が公開予定です。 先日ついに上記資格をコンプリートしました。 12個取る必要が無いので今が一番楽なタイミングかもしれませんね。 何故受験するのか 単純なメリット 私が以前勤めていた会社では試験に受かると1~3万円程度の報

    AWSの資格を全部取ったので思い出を振り返る - Qiita
    karahiyo
    karahiyo 2021/12/04
  • Visual Studio Code - *.drawio.svg や *.drawio.png の衝撃 - Qiita

    はじめに 先日、 Visual Studio Code の Extension に Draw.io Integration という、VSCodedraw.io を使用出来る拡張機能がリリースされ話題になりました。 リリースされるや否や、界隈では盛り上がりを見せまして、Qiita の記事や #InfraStudy でも導入方法や事例が紹介されたりしました。 VSCodeDraw.ioが使えるようになったらしい! - Qiita Infrastructure as Codeにおける理想のドキュメント管理を目指して #infrastudy | Developers.IO そんな訳で、モデリングなどの設計作業をするときはこの方法で作図するのがデフォルトになってきたのですが、先日更に(個人的に)驚愕の機能を知ったのでご紹介します。 draw.io について draw.io は無料の作図ツール

    Visual Studio Code - *.drawio.svg や *.drawio.png の衝撃 - Qiita
    karahiyo
    karahiyo 2021/11/24
  • スケールする要求を支える仕様の「意図」と「直交性」 - Qiita

    はじめに どんなソフトウェアエンジニアも拡張しやすくメンテナンスしやすいソフトウェアを作りたいと思っているはずです。また、どんなプロダクトマネージャも同様に拡張しやすいシンプルな要求を作りたいと考えているはずです。 しかし、将来の不確実性や発展性に対して見通しを立てるのは難しいものです。そのため、開発チームの思いとは裏腹にソフトウェアの複雑性はどんどんと増大していきます。気がついたら技術的負債と呼ばれるような手もつけられない泥団子になってしまうということもしばしばです。誰もが生産性を下げるために機能を追加したいわけではなく、ビジネス価値を提供するために機能を追加したいだけなのにです。 このような状況を避けるためにはどうしたらよいのでしょうか。今回はその一つの手段として、要求には隠れた「意図」があり、それを発見していくことの重要性についてまずはお話しします。さらにわかりやすい要求が持つ仕様の

    スケールする要求を支える仕様の「意図」と「直交性」 - Qiita
    karahiyo
    karahiyo 2021/11/05
  • なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita

    はじめに ソフトウェアプロジェクトには不思議な性質があります。現状のスケジュールに課題を感じて、短くするために人員を投下しても、なかなか思い通りに短くならない。それどころか悪化してしまうことがあります。場合によってはプロジェクト自体が破綻して失敗してしまうことすらあります。 今回は、このようなソフトウェアプロジェクトに潜む直感に反する性質を数理的なモデルを介して理解していく試みです。ある種の思考実験としてお楽しみください。 宣伝 Qiitaさんとコラボ企画でアドベントカレンダーをつくりました。 DXをめちゃくちゃ改善した話を募集しています。 https://qiita.com/advent-calendar/2021/dx-improvement 10人の妊婦がいても1ヶ月で一人の子供は生まれない これは誰かの技術力やプロジェクトマネジメント力に欠陥があるのではなく、「人月の神話」で有名な

    なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita
    karahiyo
    karahiyo 2021/11/02
  • MPEG DASHを知る - Qiita

    はじめに 正式名称はMPEG-DASHだが、DASHと呼ばれる。呼んじゃう DASHはDynamic Adaptive Streaming over HTTPの略 2012年4月にISO国際標準規格(ISO/IEC 23001-6)としてリリース 背景 HTTPプロトコルを使用した動画配信プロトコルはあるが、互換性がないためHTTPプロトコルを使った動画配信プロトコルの国際標準規格として策定された HLS(HTTP Live Streaming) Apple SS(Smooth Streaming) Microsoft HDS(HTTP Dynamic Streaming) Adobe DASHの特徴 最適な高品質ビデオストリームを提供できる 再生が途切れない(再生中にバッファリング状態にならない) 動画が途切れないように帯域などの環境に応じて動的にコンテンツ(ビットレートなど)を切り替え

    MPEG DASHを知る - Qiita
    karahiyo
    karahiyo 2021/10/13
  • Kubernetes利用時のJavaアプリケーションリソースの制限に関するよくある誤解 - Qiita

    このシリーズの最初の記事では、Kubernetesを使用する際のJavaアプリケーションリソースの制限について、よくある誤解のいくつかを見ていきます。 ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。 このシリーズの記事では、企業のお客様がKubernetesを使用する際に遭遇する一般的な問題のいくつかを探ります。 コンテナ技術がますます洗練されるにつれ、アプリケーションプラットフォームの基盤としてDockerKubernetesを選択する企業顧客が増えています。しかし、これらの顧客は実際には多くの問題に遭遇しています。このシリーズの記事では、顧客がこのプロセスをナビゲートするのを支援してきたアリババクラウドのコンテナサービスチームの経験から導き出されたいくつかの洞察とベスト

    Kubernetes利用時のJavaアプリケーションリソースの制限に関するよくある誤解 - Qiita
    karahiyo
    karahiyo 2021/09/28
  • ScalaっぽいDI - Qiita

    AbemaTVの広告配信サーバーで使われている、Scalaっぽく使えるDI 経緯 Scalaで、これだ!というDIフレームワークってあんまりないですよね。 メジャーどころはだいたいJava製とかで、Scalaだからできる書き方とかもたくさんある中で、それを活かせないライブラリが多いなぁという印象です。 (immutableな設計してもライブラリの兼ね合いで結局mutableになっちゃう...とかね いい比較事例なのでお名前をお借りしたいと思いますが、業界だと、ドワンゴさんのDIの手法が有名ですよね。 あれはもう教科書通りのお手にすべき設計だと思います。 ライブラリ無しで実現するんだったら他の選択肢はないんじゃないかと思うくらい。 でも一つ、個人的な感想を言わせてもらうと、定義するモノが多く、 extends ... with ... with ... ってなってしまうのがちょっとつらい。

    ScalaっぽいDI - Qiita
    karahiyo
    karahiyo 2021/09/22
  • kubernetesでgRPCするときにenvoy挟んでみたよ - Qiita

    kubernetes(今回はGKE内)でgRPCの通信を場合にぶち当たる問題として、ロードバランシングの問題があります。 gRPCの通信は永続化されるので、そのままの状態で使うとバックエンドにあるサービスがスケールしても分散されないということになります。 具体例 上記のような構成でhoge-gateway(4pod)からhoge-app(10pod)に向けてコネクションプーリングが1で通信をする場合、hoge-appが最大4podしか使われない状態になります。 下記がその状態です。 GKE Container - CPU usage for hoge-app GKE Container - CPU usage for hoge-gateway 解決方法 これを解決する手段としてgRPCのclientLoadbalancingを使う方法がありますが、clientに依存する方法はあまりスマート

    kubernetesでgRPCするときにenvoy挟んでみたよ - Qiita
    karahiyo
    karahiyo 2021/08/18