デモとして、このブログに Pagefind を導入してみました。ヘッダーの検索アイコンをクリックすると検索フォームが表示されるので、キーワードを入力して検索してみてください。 使い方 Pagefind は構築済みの UI ライブラリと、CLI コマンドとしてインデックスを作成するためのツールから構成されています。まずは UI ライブラリの部分から見てみましょう。 UI ライブラリ Pagefind の UI ライブラリは、検索フォームと検索結果を表示するためのコンポーネントから構成されています。この UI は以下のコードを追加するだけで簡単に利用できます。 <link href="/pagefind/pagefind-ui.css" rel="stylesheet" /> <script src="/pagefind/pagefind-ui.js"></script> <div id="s
2023 年に使った技術まとめ 2023 年もそろそろ終わりなので、今年のエンジニア生活のまとめです。 正直今年はほとんど仕事しかやっていないです。どうしてもお仕事だと攻めた技術選定ができなくて(記事書くには)あんまり面白くないなあ…の気持ちではあるんだけど、その分実務でこんな技術使ってますよ、ってお話としてみていただければ幸いです。 React 18 / TypeScript 去年(2022)までは Vue と React 半々くらいで生きてたんだけど、今年はどっぷり React でした。 Vue の選択肢もないわけではなかったんだけど、ある程度の規模のプロジェクトで、かつアプリケーションとしての複雑度が高いものを作る時に Vue はやっぱりちょっと怖いんですよね。。正直コントロールできる自信がちょっとない。 多分当面は、ロジックの複雑度や抽象度が高いものは React、ロジックは素直で
Pythonにはライブラリが沢山あります。ライブラリとは便利な機能を持ったプログラムを集めたものを言い、このライブラリを上手く使うことで色々なことを実現できます。 今回はこのライブラリを用途別で図解にまとめました。 Pythonでプログラムを組む際の参考になりましたら幸いです。 ※簡単にまとめているだけなので、詳しい中身は公式ドキュメント等をご確認ください。 追記(2023/12/25) 当記事がありがたいことに好評いただけたので、Pythonの基礎も図解化しました。あわせてご活用いただけますと幸いです。 機械学習 機械学習 ⊃ 深層学習という包含関係です。 ざっくり言うと、特定のタスク(分析の方向性が明確)に対して予測できるのが機械学習で、より複雑なデータも処理できるのが深層学習です。 ただし深層学習はその分、学習に要する時間やデータは多くなります。 【機械学習入門】scikit-lea
経緯 world.hey.com DHHが「オタクくん見てる〜? 今からうちのレポジトリからTypeScriptを剥しま〜す」と宣言したことにより、Web開発者界隈でTypeScriptの是非自体の話になり騒ぎになった*1*2。 github.com その後、野次馬がたくさん集ってきてrevertプルリクエストを立てる人やTypeScript公式リポジトリから全ソースコードを消すプルリクエストを出す*3ようなキッズムーブをする人も出てきた world.hey.com 実際の変更 8617行のTypeScriptがJavaScript化された。(Sloc 便利) ❯ scc src/ ─────────────────────────────────────────────────────────────────────────────── Language Files Lines Blan
……と思っていたら5ヶ月かかりました. 【基盤開発チーム ブログリレー3日目】 「ほんとうにすぐ終わると思ったのかね」 こんにちは,エムスリーエンジニアリングGの榎田です.趣味は数学とテレビゲームです.最近はタクティクスオウガ リボーンを遊んでいます.システィーナをバーサーカーで運用しているのが弊ユニオンの個人的なイチオシポイントです. 閑話休題,ソフトウェア開発において「技術的負債」はつきものです.我々は無限の開発時間が取れるわけでも,神授の智慧を持っているわけでもないので,作ったものは何かしらの要因で負債を抱え,抱えた負債は(多くの場合,知らず知らずのうちに)増えます.負債だらけになってしまったソフトウェアの保守管理は大変ですし,負債になりにくいソフトウェアを作るのも難しいです.ではどうして負債を抱えてしまうのか.負債を返すことの何が大変なのか.負債リスクを予見するのはなぜ難しいのか.
これだけみると LibC がよく見えますね。 オープンソースのライブラリ比較や、エンタープライズな SaaS が競合に対する優位を見せたいときに星取表が使われることが多いです。 中立な立場でライブラリを選定する過程として出てくることがあります。 自分はこれに全く意味がなく、むしろ競争的な立場では出した側が負けるものと認識しています。 星取表を作る側の意図 よく見かけるパターンがこれです。 開発自体は長いため機能が豊富だが性能に劣る先発が、後発を貶めている 恣意的な項目選定で、そもそも負けている そもそも比較対象としての土俵が違う(全部入りのフレームワークと単機能なライブラリの比較) 特に 1 と 2 の組み合わせが多く、この裏では非機能要件で圧倒的に負けていることが多いです。例えば A は機能は豊富だけどビルドに 30秒で、Bは機能は足りないけど3秒だといった場合、多くの場合ではまず B
こんにちは!リンクアンドモチベーションでフロントエンドの開発をしています。岡田(@okadaike)です。 本日は弊社プロダクトのストレッチクラウドのVueのversionを2系から3系にmigrationしたので、そのご報告になります!! 今回はプロダクトチームの中で色々と試行錯誤して進めました!ストレッチクラウドはSPAが3つあるような構成になっており、今回はそのうちの一つを移行しました!。 最後に残りの2つの移行計画もまとめようと思います! Vue2は2023年末にEOLを迎えるのでこれからどんどん移行していくことになると思いますが誰かの役にたてればなと思います! ※余談ですが先日Vue.js v-tokyo meetup#16に参加してきました。その中で世界のアクティブVueユーザーの内6~7割はVue2を利用していると伺いました。 今年のこれからはVueのmigration祭りに
Information 2024/1/8: pandas , Polars など18を超えるライブラリを統一記法で扱える統合データ処理ライブラリ Ibis の100 本ノックを作成しました。長期目線でとてもメリットのあるライブラリです。こちらも興味があればご覧下さい。 Ibis 100 本ノック https://qiita.com/kunishou/items/e0244aa2194af8a1fee9 はじめに どうもこんにちは、kunishouです。 この度、PythonライブラリであるPolarsを効率的に学ぶためのコンテンツとして 「Python初学者のためのPolars100本ノック」 を作成したので公開します。こちらは2020年9月に公開した「Python初学者のためのpandas100本ノック」の問題内容をPolarsのメソッドに合わせて修正、再編したものになります。本コンテン
PythonのモジュールとはPythonには、いくつもの開発支援機能が備わっており、モジュールもその一つです。モジュールは部品という意味を持つ言葉で、Pythonで利用できるクラスや関数などをまとめたプログラムファイルで、他のプログラムから呼び出して利用することができます。 モジュールを利用すると、利用頻度の高いクラスや関数などをその都度記述しなくてよくなるため、コーディングを効率的に進めることができます。また、それに伴ってよりシンプルで可読性の高いコードを書くことが可能になります。 モジュールの概要Pythonのモジュールの実体は、「.py」の拡張子を持つプログラムファイルです。ファイル内にはPythonで書かれたコードが記載されています。具体的には、モジュールが想定する用途に沿った関数やクラスなどがまとめられています。 Pythonでは、関連性の高い複数のモジュールがディレクトリ(フォ
はじめに 今回の記事では、プログラマー間で見解が分かれるライブラリとフレームワークの違いを徹底解説する。我々プログラマーはアプリケーション等を開発する際にフレームワークやライブラリを駆使する。その中でも、「フレームワークとライブラリの違いがわからない」と考える人も少なくないだろう。中には混同して使う人がいるかもしれない。両者は厳密に言えば異なる意味を示す。 フレームワークとは フレームワーク(framework)はアプリケーションを開発するのに必要な機能がデフォルトで揃っているものを示す。アプリケーションとして動く骨組みが用意されているので、別途プログラムを書かなくても最低限のアプリケーションとして動作する。フレームワークがあれば、我々プログラマーはゼロからアプリケーションを開発する必要はない。フレームワークには、タスクを実行するために書かれた再利用可能なコードやプログラムが含まれていて、
概要 本記事は、HTTP クライアントライブラリである axios の v1.0.0 が満を持してリリースされたため、何がどう変わったのか、マイグレーションしても良いのかについて個人的に調べてまとめた結果になります。 TL;DR axios の v1.0.0 は、パッケージのモダン化に向けた節目としてのバージョンともいえる v1.0.0 では多数のバグ修正と、いくつかの小規模の機能追加がまとめて取り込まれた 破壊的変更や非推奨化は少なからずあるが、基本的な使い方や挙動を大きく変える規模の変更はない 一方で劇的に良くなる変化もないので、急いであげる理由もない 公式マイグレーションガイドは記事執筆時点では提供されていない axios について axios は、JavaScript 向けの HTTP クライアントライブラリの一種で、この種のパッケージとしては比較的古くから普及している老舗ライブラ
import type { ConfigFile } from "@rtk-query/codegen-openapi"; // https://redux-toolkit.js.org/rtk-query/usage/code-generation#simple-usage const config: ConfigFile = { schemaFile: "https://petstore3.swagger.io/api/v3/openapi.json", apiFile: "./store/emptyApi.ts", apiImport: "emptySplitApi", outputFile: "./store/petApi.ts", exportName: "petApi", hooks: true, }; export default config; import { empty
「Kindleの本が全部消えた話」というブログエントリ(1/2/3/4)が、ネット上で「怖い」「気をつけよう」と話題になっています。幸い、現在は解決したようですが、一時は300冊以上(総額30~60万円ほど)あったKindleライブラリが全て消えてしまったといい、Amazon利用者は「こういう落とし穴がある」という点には注意しておいた方がよさそうです。 ※写真はイメージです 「kindleの本が全部消えた話」(1/2/3/4) 話題になったのは、Twitterユーザーのsatさん(@satoru_takeuchi)のブログ。最初のエントリは4月21日に投稿され、なぜKindleライブラリが消えるに至ったのか、その後Amazon側とどのようなやりとりがあったかなどを、これまで約1カ月半、全4回にわたって報告しています。幸いなことに、最終的にはAmazon側でライブラリを復旧してくれることにな
ANDPADに入社して1年と少しが経ちました、モバイルアプリエンジニアの佐藤(@ushisantoasobu)と申します。 タイトル通りではあるのですが、現状のANDPAD iOS開発における課題と、ここ数ヶ月取り組んできた「マルチモジュール化」について書いていきます。 ANDPAD iOS開発における課題 スーパーアプリ戦略 vs マルチアプリ戦略 ANDPADが向き合っている課題、ここでは一言で「建築DX」と呼んでしまいますが、建築DXはとてつもなくデカい課題だと自分は認識しています。ゆえにモバイルアプリ開発としても以下の2つの戦略のうちどちらかを選択する必要がありました。 スーパーアプリ戦略 全ての機能やドメインを1つの巨大なアプリに集約 マルチアプリ戦略 機能やドメインごとにアプリをリリース・運用 ANDPADでは後者の「マルチアプリ戦略」を採用しています。そこらへんの経緯などにつ
Pythonの基礎が理解できてくると、Pythonを使用して実用的に役立つ処理を実行してみたくなるのではないでしょうか。 そこで今回は、Pythonの利用用途として人気である「Webスクレイピング」について解説していきます。スクレイピングの概要からサンプルコードの解説までお伝えしますので、この記事を読んだ後すぐにスクレイピングができるようになりますよ。 PythonでできるWebスクレイピングとは? Webスクレイピングとは、WebサイトからWebページのHTMLデータを取得し、見出しや写真といった特定のデータを抽出するコンピューターソフトウェア技術のことです。Webスクレイピングによって得られた情報は、不要な部分の削除といった加工が自動的に行われます。そのため、人の手でデータを収集する際にかかる時間を大幅に削減できます。 このWebスクレイピングを行うプログラムのことを「スクレイパ」と言
0 fgets <internal>:-1 1 <main> <internal>:-1 0 fgets <internal>:-1 1 <main> <internal>:-1 0 fgets <internal>:-1 1 <main> <internal>:-1 ... 0 time_nanosleep <internal>:-1 1 PhpProfiler\Lib\Loop\LoopMiddleware\NanoSleepMiddleware::invoke /home/sji/work/php-profiler/src/Lib/Loop/LoopMiddleware/NanoSleepMiddleware.php:33 2 PhpProfiler\Lib\Loop\LoopMiddleware\KeyboardCancelMiddleware::invoke /home/sji/
はじめにこの記事は食べログアドベントカレンダー2021の 18 日目の記事です。 食べログ FE チームの @hagevvashi です。 食べログでは 2021年7月から Renovate を運用しています。 Renovate は月に 50 件近い PR を出してきますが、半年近く溜めずに運用を続けられています。 もちろんこの量の PR を一つ一つ動作確認してから手でマージしているわけではありません。自動マージを活用して楽に運用しています。 この記事ではどのように自動マージを設計し、運用しているか紹介します。 自動マージ導入による効果 まずは、Renovate の自動マージを導入することによってどのような効果がもたらされたのか紹介します。 2021/7/21 に導入を開始してから合計 235 件の PR が Renovate によって作られました。 その内 89% を占める 210 件も
オープンソースのロギングライブラリとしてさまざまなJavaアプリケーションに使われている「Apache Log4j」に、任意のリモートコードが実行できてしまう脆弱性が発見されました(CVE - CVE-2021-44228)。 これが悪用されると、第三者が勝手にサーバを操作して悪意のあるソフトウェアを組み込んだり、悪意のある攻撃を行う際の踏み台にされるなどのさまざまな攻撃が行われます。 すでに脆弱性の存在は広く知れ渡っているため、脆弱性のあるLog4jを使っているシステムはいつでも攻撃を受ける可能性があるのです。 この脆弱性は広範囲な影響が予想されており、多くの専門家が非常に深刻な状況として捉えています。 できるだけ速やかに、JavaアプリケーションにおけるLog4jの利用の確認と対策が必要です。 Javaアプリケーションに明示的にLog4jを組み込んでいない場合も、例えばStrutsやR
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く