2022年8月13日のブックマーク (14件)

  • リファクタリングの価値の考察 - プログラマーの脳みそ

    リファクタリングには価値がある、とプログラマは確信していることだろう。しかし、その価値が何であるか?を上手く説明できるかというと難しいのではないだろうか。稿ではリファクタリングの価値をテーマに筆者の説を提示していく。 品質特性の側面から 補足 品質特性の相互作用 リファクタリングの価値 障害対応 機能追加 システムの製品寿命 まとめ 品質特性の側面から ソフトウェアの品質特性としてISO/IEC 9126が一般的に用いられている。大きく6つの特性と細分化された副特性からなり、ISO/IEC 9126 - Wikipedia から引用すると 機能性(functionality) - 機能とその特性に影響する特性群 信頼性(reliability) - ある状況がある時間続いたときにソフトウェアがどの程度機能するかに影響する特性群 使用性(usability) - 利用するのにかかる手間、個

    リファクタリングの価値の考察 - プログラマーの脳みそ
    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    読んでて個人的に、解析性と試験性を向上させるリファクタが好きなんだなと気づいた。特に価値を伝えづらい指標かもしれない。
  • インフラもバックエンドもフロントエンドも Go で書いてみた

    先日 CDK for Terraform が GA になりました。 CDK for Terraform を使うことにより、 TypeScriptGo などといったプログラミング言語を使って Terraform エコシステムを利用したインフラの定義やプロビジョニングを行うことができます。 「Go でインフラが書ける」と聞き、ふと思ったことがこちらです。 というわけで書きました。 (2022/10/27 追記) CI/CD も Go で書いた記事を公開しました。 作ったもの GoGoGo の画像をランダムで表示するサンプルアプリです。 主な利用技術について簡単に紹介します。 利用技術 Go 説明不要ですね。 Google 様が作ったプログラミング言語です。 Gin Go の軽量な Web フレームワークです。 公式の紹介に「パフォーマンスは Martini の最大 40 倍です」と書か

    インフラもバックエンドもフロントエンドも Go で書いてみた
    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    golang でフロントエンドは初めてみたけど、wasm の普及でこういう選択肢もあり得る時代になってきたのかな。
  • もしかして陣痛?普通の腰痛と陣痛の見分け方 - 綱島駅4分の整体院いぎカイロプラクティック

    軽度~重度と人により症状の強さは異なれど、妊娠時に腰痛で苦しめられている人は少なくありません。 特に臨月ともなればお腹も大きくなり、腰や背中にも大きな負担がかかってしまい酷い腰痛に見舞われることも。 しかし、いよいよ出産が近づいた状況で腰痛だと思っていたら実は陣痛だったなんていうケースも少なくありません。 今回はそんな臨月における腰痛と、腰痛と勘違いされやすい陣痛についての見わけ方や特徴をご紹介していきたいと思います。 臨月に激しい腰痛が起これば「もしかして陣痛!?」と思うでしょう。しかし、実際には普通の腰痛だったということケースも多くあります。 まずは、陣痛と普通の腰痛には症状の違いがあります。 代表的な陣痛と普通の腰痛の症状の違いをご紹介しますので、把握しておくといざという時に落ち着いて行動出来るかもしれません。 【腰痛】 ・立ち上がったり、座ったりなど動作をする時に痛みを感じる ・ジ

    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    やっぱ間違いが起こりやすいのか。なんという罠だ。
  • iPhoneのSafariで見ているページをはてなブックマークに登録する方法

    iPhoneのSafariで見ているページをはてなブックマークに登録する方法 Safariにブックマークレットを登録する まずはiPhoneのSafariにブックマークレットを登録する手順を示します。 ▲はてなブックマークアプリを起動してログインしたら、右上の設定をタップします(左)。そして、ブックマークレットを登録をタップします(右)。 ▲続いて、Safariの下中心マークをタップし(左)、ブックマークをタップします(右)。 ▲任意の名称を入力してから右上の保存をタップします(左)。次に、下のブックマークをタップし(右)、 ▲右下の編集をタップします。 ▲はてブ登録をタップします(左)。そして、URL欄にブックマークレットをはりつけます。(手順に従っていれば、ブックマークレットをコピーしている状態になっています。)(右)。 これでiPhoneのSafariで見ているページをはてなブックマ

    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    ついに導入してしまった。
  • Babel が Flow から TypeScript に移行した

    先日 Babel のメンテナーとして知られる Nicolò Ribaudo 氏が次のツイートを投稿した。 We finally finished migrating the Babel monorepo from Flow to TypeScript! It has been a very long process started by @z_bodya, and after migrating package-by-package @JLHwung just opened this PR 😄 pic.twitter.com/WKXxV8x2MY — Nicolò Ribaudo 🏳️‍🌈 • 💙💛 (@NicoloRibaudo) July 23, 2022 そう、JavaScriptトランスコンパイラである Babel のソースコードが Flow から TypeScrip

    Babel が Flow から TypeScript に移行した
    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    Babel の規模でも移行するぐらいなんだから、本当に TypeScript は唯一勝者になったんだなと感じる
  • VeeValidate: Painless Vue.js forms

    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    Vue で一番人気っぽいフォームバリデーションライブラリ。コンポーネントと Composition API の両方をサポートしており、フォームバリデーションの実装における面倒事を一通り引き受けてくれる。
  • インタビュー: 古川陽介氏が見たBunの実力とJSランタイムの未来(後編)

    今回話を伺ったエキスパート フォローしよう! 2022年7月初旬に登場した高速JavaScriptライブラリ「Bun」の実力をエキスパートの古川陽介氏が語るインタビューの後編をお届けします。後編ではBunが構成要素として選択した技術についての深堀り、さらにBunそしてサーバサイドJavaScript界隈の未来についても展望していただきました。インタビュー前編もあわせてお読みください。 Zig、パッケージ管理、エンジン - Bun技術選択の理由 白石: いま出てきたZigという言語ですが(前編参照)、私も実は今回始めて聞いたレベルに近いんですが、えっとNode.jsはたしかC++で書かれていていますよね。(マイクロベンチの結果からいうと)ZigそのものはC++より速いという話になるんでしょうか。 古川: 正直言うとわかってないです。ただ1点、Zigの特徴としていうと、C言語から呼び出したと

    インタビュー: 古川陽介氏が見たBunの実力とJSランタイムの未来(後編)
    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    サーバサイドJSの今後のイメージが湧いて良かった。ただ正直ギアが何種類あるみたいなたとえ話は余計わかりづらかったので、普通にランタイムモードの種類が充実してるとかって話で良かったのでは。
  • インタビュー: 古川陽介氏が見たBunの実力とJSランタイムの未来(前編)

    2022年7月初旬、サーバサイドJavaScriptの世界に突然現れたJavaScriptランタイム「Bun」 - Node.jsやDenoを大きく上回るといわれる高速性や、Zigで書かれたエンジンなどが話題となっていますが、実際のところ、当に既存のJSランタイムを凌駕する存在なのか、そしてBunの登場をきっかけにJSランタイムの世界はどう変わっていくのか - 登場時からBunを見てきたTechFeed JavaScriptエキスパートの古川陽介氏に、TechFeedの白石俊平がオンラインでお話をうかがいました。稿ではインタビュー前編として、Bunの設計思想と高速性にフォーカスした内容をお届けします。 今回話を伺ったエキスパート フォローしよう! Bunの原点は「打倒 Node.js」 白石: あらためてなんですけど、まず「Bun」とは何なのか、そこから教えていただけるでしょうか。 古

    インタビュー: 古川陽介氏が見たBunの実力とJSランタイムの未来(前編)
    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    ポジショントークもあるかもしれないけど、Banに対して雰囲気だけで感じてた爆速感を拭えたので良かった。
  • はてな、在宅勤務環境構築に関わる福利厚生を更新 - プレスリリース - 株式会社はてな

    株式会社はてなは、従業員の働き方に関する「フレキシブルワークスタイル制度」において、入社時の在宅勤務一時金を含む制度内容の一部を8月1日より更新したことをお知らせします。 ▽「フレキシブルワークスタイル制度」2022年8月1日の変更点 社員・契約社員を対象に、入社時の環境設定支援のため支給する「在宅勤務一時金」を2万円から12万円に変更 社員・契約社員を対象に許可していた、オフィスで利用していた椅子やディスプレイなどの備品の在宅利用(貸与)を中止 変更に伴う手当として22年8月に10万円を支給(月2万円の在宅勤務手当とは別の特別手当として支給) ▽ 変更の背景 はてなでは、従業員が「在宅・出社勤務を自由に選択できる」というフルリモートも可能な働き方を実現する「フレキシブルワークスタイル制度」(2020年11月開始・2022年5月恒久化)を運用しています(※)。 「フレキシブルワークスタイル

    はてな、在宅勤務環境構築に関わる福利厚生を更新 - プレスリリース - 株式会社はてな
    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    前職がフルリモートな人が転職した場合、既に環境が整備されてるんだから12万円丸儲けできる気がする。
  • typeRootsの誤解 -- TypeScriptで、npmからインストールしたパッケージに型定義ファイル (*.d.ts) が存在しない場合の正しい対処方法 - Qiita

    typeRootsの誤解 -- TypeScriptで、npmからインストールしたパッケージに型定義ファイル (*.d.ts) が存在しない場合の正しい対処方法TypeScripttsconfig 要約 npmからインストールしたパッケージに型定義ファイル (*.d.ts) が存在しない場合、独自の型定義ファイルを作り、下記1, 2のどちらかの設定を行う事で、import時に型定義の内容を適用させることができます。 TypeScriptオプションのbaseUrlとpathsの組み合わせで型定義ファイルのパスを指定する 型定義ファイルの中で、declare module "xxx" { ... } で外部モジュールのアンビエント宣言を行う TypeScriptオプションのtypeRootsでもこれを実現できると紹介されている場合がありますが、typeRootsはimport時には効かないため

    typeRootsの誤解 -- TypeScriptで、npmからインストールしたパッケージに型定義ファイル (*.d.ts) が存在しない場合の正しい対処方法 - Qiita
    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    この記事で言われてるような誤解をしっかりしてたので助かる
  • TypeScriptのdeclareやinterface Windowを勘で書くのをやめる2022

    おことわり 個々の関数や変数に正しい型をつける話はしません。TypeScript HandbookのDeclarationの章などを読むことをおすすめします。 かわりに、稿では関数や変数の型宣言をどこにどう置くべきかの指針を与えます。 モジュールとスクリプト declareを正しく使うにはまずモジュールとスクリプトの区別を理解し、意識することが大切です。 ブラウザやNode.jsは外部からの指定でモジュールとスクリプトを区別しますが、TypeScriptでは原則としてファイルの内容でモジュールとスクリプトを区別します。 import 宣言または export 宣言が1つ以上あればモジュール。 CommonJSモジュールの場合はTypeScript専用構文である import = 宣言、 export = 宣言を使う。 それ以外の場合はスクリプト。 ただし、JavaScriptファイル (

    TypeScriptのdeclareやinterface Windowを勘で書くのをやめる2022
    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    マジで雰囲気で書いてるので定期的にこういうので再インプットすると捗る。
  • LINE MUSIC のパフォーマンスを向上させた Vue3 マイグレーション

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog こんにちは、LINEの京都開発室でフロントエンド開発を担当している柴坂浩行です。 みなさんは仕事中などにパソコンで音楽を聴くことはありますか? LINE MUSIC にはスマホアプリだけではなくWeb版アプリがあります。 私たちが開発しているWeb版アプリでは、JSフレームワークとして Vue.js を使用しています。 https://music.line.me/webapp/ これまでこのWeb版アプリには Vue2 が使われてきましたが、 2022年6月、私たちは Vue3 にアップグレードしたバージョンをリリースしました。 私たちのチームではWeb版アプリの機能開発と平行して、パフォーマンスの改善にも取り組んでいます。パ

    LINE MUSIC のパフォーマンスを向上させた Vue3 マイグレーション
    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    マジで Vue 3 だけでここまでバンドルサイズ減る?ツリーシェイカブルになったの含めても、Option API 剥がしたわけじゃないそこまで劇的になることなかった気がする。
  • スタディスト Tech Blog

    OpenSearchでWildcard queryを使って検索していた部分をn-gramに変更した結果、OpenSearchの平均検索レイテンシーが98%減になった話を紹介します

    スタディスト Tech Blog
    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    へいしゃー
  • ESLintのconfigがどのように変わり得るか(flat configとは何か)

    はじめに ESLint v8.21.0のリリースでこれまでとは異なるconfigシステム(flat config)が持ち込まれた。 以下の通り、新しいconfigシステムへの一歩というように言及があり、ESLintを利用する上で無視できない影響を受ける変更となりそうなので、どのようなものか確認しておきたい。 We took a big step toward ESLint’s new config system! The new FlatESLint class is now merged. Its API is not yet stable, and not all features are implemented yet, but it is accessible via the Node.js API for early testing. See RFC9 for the origi

    ESLintのconfigがどのように変わり得るか(flat configとは何か)
    shingo-sasaki-0529
    shingo-sasaki-0529 2022/08/13
    設定ファイル自体がテスタブルになりそうで特に良い。現代のフロントエンド構成はプロジェクトによって多種多様だから、eslint を正しく扱えているかを検証するのも一苦労なので。