タグ

okinakaのブックマーク (7,193)

  • NixOSで最強のLinuxデスクトップを作ろう

    Web・クロスプラットフォームアプリケーションの発達、ProtonによるWindows向けゲームLinux対応など、現在のLinuxデスクトップは機能面においてWindowsMacと遜色ない水準に達しています。 しかし、その発展とは裏腹に未だシェアは非常に少なく、Linuxデスクトップに憧れはあるけど実際に使うのはあまり……という人が多数派でしょう。その理由はおおよそ以下の3つに集約されると思います。 環境構築のために煩雑な手順を踏まなければならず辛い どこにどんな設定がされているのか分からない うっかり環境を破壊してしまいそうで怖い 実は、上記の課題を上手くクリアできる夢のようなLinuxディストリビューションが存在します。 その名は…… ロゴかっこいい 今回はNixOSを使ってぼくがかんがえたさいきょうのLinuxデスクトップ環境を作っていきましょう。 NixOSとは? NixOS

    NixOSで最強のLinuxデスクトップを作ろう
    okinaka
    okinaka 2023/07/10
  • エレコムの子供用キーボード、小3の息子と触ったら「おかあさん感動!」モノだった

    エレコムの子供用キーボード、小3の息子と触ったら「おかあさん感動!」モノだった
    okinaka
    okinaka 2023/07/08
  • Webフレームワーク「Astro」とは? 開発初心者からベテランまで注目する理由

    はじめに Web制作におけるフレームワークというと、ReactVue.jsなど、エンジニアが効率的に開発を行うために必要なシステムの骨組み、という印象がありますが、Astroは筆者のような、どちらかというとデザイン寄りの制作者でも理解しやすい設計になっており、実体験としてデザインから静的サイトの構築までを一人で完結させるのに有効活用することができました。 もちろんエンジニアの方にとっては、高パフォーマンスなWebフレームワークとして最近注目されているAstroを筆者以上に深く理解し、既存の開発プロセスを改善するヒントにも繋がるのではないかと思います。 現代におけるWebサイト構築のアプローチ 一つのWebサイトを構築しようと思ったとき、現代ではさまざまなアプローチが存在します。 単体、もしくは複数のページをHTMLコーディングする方法から、WordPressに代表される各種CMSをカ

    Webフレームワーク「Astro」とは? 開発初心者からベテランまで注目する理由
  • フィーチャーフラグを管理するためのOpenFeature | フューチャー技術ブログ

    はじめにTIG DXユニット真野です。 CNCF連載の2目はクラウドネイティブなフィーチャーフラグの標準とAPI、SDKを提供するOpenFeatureについてです。 フィーチャーフラグとはフィーチャーフラグとはコードを変更せずに、フラグを使って機能を有効/無効化する開発/デプロイ手法のことです。一般的なユースケースとしては、特定のユーザーに対して再起動とか再デプロイをせずに、新機能を有効化したいといった場合に役立ちます。信頼度が高くなったらより段階的に広範囲に対象を広げていくと安心ですね。この使い方だけであれば、カナリアリリースを想像しますが、他にも次のようなユースケースが考えられます。 初期から契約している特別な顧客(あるいはプレミアムプランに契約している顧客)に向けて開発した機能を提供する バグが見つかったので、該当機能を無効化してアプリの振る舞いをロールバックする 繁忙期にシステ

    フィーチャーフラグを管理するためのOpenFeature | フューチャー技術ブログ
    okinaka
    okinaka 2023/06/22
  • CakePHPでJSON Serverを使ってみた

    皆さんこんにちは、システム部のアユシュマです。 今回はCakePHPでJSON Serverを使ってみたことについて書いていこうと思います。 JSON (JavaScript Object Notation) はサーバーとクライアントアプリケーション間のデータ交換に使用できる軽量のデータ形式で、シンプルで読みやすく、JavaScriptと簡単に統合できるため、現代のWeb開発標準となっています。JSONを使えば、開発者はスケーラビリティが高く、柔軟なウェブアプリケーションを迅速かつ容易に構築することができます。 そのJSONサーバーを構築するための最も強力なツールの1つに、RESTful APIを構築するためのビルド済みコンポーネントを多数提供する、PHPベースのMVCフレームワークCakePHPがあります。 今回は、CakePHPでJSON サーバーを利用するプロセスについてや、インスト

    CakePHPでJSON Serverを使ってみた
  • GitHub - geolonia/normalize-japanese-addresses: オープンソースの住所正規化ライブラリ。

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - geolonia/normalize-japanese-addresses: オープンソースの住所正規化ライブラリ。
  • とにかく日本の住所のヤバさをもっと知るべきだと思います|inuro

    「住所の揺らぎ程度のことにAIを使いたいだとかデジタル音痴」だの「住所の正規化なんてExcelで2時間あれば作れそう」だの、たいへんフットワークの軽やかな言説の数々に、位置情報界隈のみならず住所の正規化や名寄せに少しでも関わったことのあるエンジニアが総立ちでマサカリを投げていたのも記憶に新しい今日この頃ですが(2023年6月6日)、この手の騒動は周期的に起こってる印象です。 ということはつまり いつまで経っても解消されない、解決が困難な課題である その困難さが界隈以外に共有されていない であるわけで、その都度Twitterにトリビアが投下されてはTLが賑わい華やかではありますが、そろそろ自分の整理としてもどれだけ日の住所システムがカオスで、その計算機的な処理がいかに困難かをメモっておこうかと思いました。 なおこの件については既にQiitaにGeoloniaの宮内さんが鼻血の出そうな良エン

    とにかく日本の住所のヤバさをもっと知るべきだと思います|inuro
    okinaka
    okinaka 2023/06/07
  • 【紐使い】『番外編 紐を片付ける「まとめかた」』装飾+イザという時の紐を備える - Campsite7

    テントの建てる紐使いもとりあえずは終わって(もっとたくさんの結びを使うことはできますが、それはインターネットで自習しましょう「ロープワーク」で検索すれば素晴らしい『サイン』がたくさん出てきます)。 【ロープの格納法】 ロープの格納法はいくつか(いくらでも)ありますが、今回はボーイスカウトで初めに教わる方法を。 この方法は装飾を兼ねた方法ですが、まあ考え方の基として遊んでみてください。 1)ロープをパタパタと折りたたみ 2)ロープの束にロープを巻き付けて行きます(その時に写真右上のように、紐の「ループ」で一度ロープを挟みましょう。 3)反対の端まで巻いたら、束ねたロープの「ループ」に紐を通します。 この時にループの反対側から一出ている「ロープ」につながっているループに通したあと、この「反対側のロープ」を引っ張るとキュっと締まります。 【装飾兼非常用紐に】 さて、この束ね方は基は同じなん

    【紐使い】『番外編 紐を片付ける「まとめかた」』装飾+イザという時の紐を備える - Campsite7
    okinaka
    okinaka 2023/06/04
  • How to Keep Track of Your Reading List With Google Sheets

    You've probably heard of a to-do list. But what about a “to-read” list? Here's how to keep track of your reading list using Google Sheets. Nowadays, reading lists aren’t all textbooks and papers. They’re more like a multimedia playlist that doesn’t fail to keep you on your toes. Whether it's online articles, videos, podcasts, or films, it's a lot to stay on top of, and easy to let some fall betwee

    How to Keep Track of Your Reading List With Google Sheets
    okinaka
    okinaka 2023/05/17
  • ドメイン駆動設計(DDD)を整理

    またクラスを利用していないため、オブジェクト指向の特性「継承」「カプセル化」「ポリモーフィズム」は利用していません。この部分が厳密なドメイン駆動設計(DDD)のニュアンスと異なるので「風味」という言葉を使っています。 全体概要と用語の整理 まず初めにドメイン駆動設計の全体の概要と出てくる用語について紹介します。 自分は言葉を理解しないとコードの理解に落とし込めなかったので詳しく解説をしていきます。 各用語の具体的な実装は後の章で紹介します。 すべての用語において理解しやすいように「ユーザー管理システムを実装する」例を用いて解説を入れています。(解説の都合で書籍とは異なる例を採用しています) ドメイン駆動設計とは ドメイン駆動設計はその名の通り、「ドメインの知識」に焦点をあてた設計方法 「ドメイン」とは、ソフトウェア開発におけるプログラムを適応する対象となる領域 ドメインについて ドメイン駆

    ドメイン駆動設計(DDD)を整理
    okinaka
    okinaka 2023/05/09
  • CakePHP 4.x に ParaTest を導入 - idubmorganのブログ

    CakePHP 4.x に ParaTest を導入 テストの数が増えてきて全件テストを実行するのに時間がかかるようになった為、ParaTestを導入し、テストを並列実行するようにしてみました。 version CakePHP: 4.4.10 ParaTest: v6.9.1 PHPUnit: 9.6.7 ドキュメント https://github.com/paratestphp/paratest ParaTest PHPUnit でのテストを並列で実行できるツール 並列数(プロセス数)はオプションで指定できる テストクラス単位で並行実行される模様 環境変数 ParaTest に並列実行されるプロセスごとに1から始まる連番が設定される DB を利用したテストを並列実行する際は、TEST_TOKEN を利用して、各プロセス毎に利用するDBを分けるが必要がある Laravel 10.x の並列

    CakePHP 4.x に ParaTest を導入 - idubmorganのブログ
  • オープンソースでセルフホスト可能&自由自在にプランをカスタマイズ可能な課金管理システム「Lotus」使用レビュー

    「使った分だけ課金」という仕組みはシンプルで分かりやすいですが、一方で使用量をユーザーごとに計測して請求金額を算出する仕組みはなかなか複雑になってしまいがちです。「Lotus」はそうした複雑な課金管理を一発で解決できるツールとのことで、どんなことができるのか実際に確かめてみました。 Lotus — Open Source Pricing and Billing Infrastructure https://www.uselotus.io/ LotusのサーバーはDockerを利用して起動するため、下記のリンクから自分の環境に合った方法でDockerをインストールします。 Install Docker Engine | Docker Documentation https://docs.docker.com/engine/install/ 今回はCentOSを利用するため、下記のコマンドを入

    オープンソースでセルフホスト可能&自由自在にプランをカスタマイズ可能な課金管理システム「Lotus」使用レビュー
    okinaka
    okinaka 2023/05/08
  • CircleCI上のChromeを日本語化する方法(Laravel dusk) | 打田裕馬 公式サイト

    Laravel duskを用いたブラウザテストをCircleCIに組み込む場合、ブラウザが日語表示できず少しデバッグがしづらいですよね。 そこで、headlessのChromeを日語する方法を記しておきます。 やっていることはすごく泥臭くて、フォントを落としてきて、日語対応フォントに切り替えています。 # PHP CircleCI 2.0 configuration file # # Check https://circleci.com/docs/2.0/language-php/ for more details # version: 2.1 orbs: php: circleci/php@1.1.0 browser-tools: circleci/browser-tools@1.2.5 jobs: build: docker: - image: cimg/php:8.1-brow

  • Headless is Going Away!

    Now that we got your attention, headless is not actually going away, just the convenience method to set it in Selenium Headless is an execution mode for Firefox and Chromium based browsers. It allows users to run automated scripts in headless mode, meaning that the browser window wouldn’t be visible. In most of Selenium’s bindings there is a convenience method to set this execution mode while sett

    Headless is Going Away!
  • AWS でバッチ処理・定期実行する4つの方法

    4つのバッチ処理・定期実行方式の詳細情報それぞれのバッチ処理・定期実行方式について詳細を見ていきます。 EC2について使用するAWSサービスEC2 処理概要Linux系OSで用いられる定時実行機能であるcronのコマンドを使用する メリット昔からよく使われているcronの知識が使える デメリットEC2インスタンスを起動しておく必要があり、使っていない時間もコストがかかる 障害に弱い。EC2サーバに障害があると終わる サーバが複数になると管理が大変 SQS×ECS使用するAWSサービスEventBridge SQS ECS 処理概要EventBridgeでキューを生成。ECSコンテナでキューを取得して実行する メリットECSを起動しておくため、コンテナの起動時間を要さない。 デメリットEventBridgeでキューを生成するが、EventBridgeはまれに1 つのイベントに対して複数回トリ

    AWS でバッチ処理・定期実行する4つの方法
  • Docker一強の終焉にあたり、押さえるべきContainer事情

    章立て はじめに Docker・Container型仮想化とは Docker一強時代終焉の兆し Container技術関連史 様々なContainer Runtime おわりに 1. はじめに Containerを使うならDocker、という常識が崩れつつある。軽量な仮想環境であるContainerは、開発からリリース後もすでに欠かせないツールであるため、エンジニアは避けて通れない。Container実行ツール(Container Runtime)として挙げられるのがほぼDocker一択であり、それで十分と思われていたのだが、Dockerの脆弱性や消費リソースなどの問題、Kubernetes(K8s)の登場による影響、containerdやcri-o等の他のContainer Runtimeの登場により状況が劇的に変化している。記事では、これからContainerを利用したい人や再度情報

    Docker一強の終焉にあたり、押さえるべきContainer事情
  • AnsibleとTerraformを連携させてAWS環境の構築を自動化してみよう

    AnsibleとTerraformを連携させてAWS環境の構築を自動化してみよう:スキマ時間にこっそり学ぶ「Ansible」入門(終) Ansibleのユースケースを紹介しながら、Ansibleの魅力をお伝えする連載。最終回はAnsibleとTerraform を連携させてAWS環境の構築を自動化する方法を紹介します。

    AnsibleとTerraformを連携させてAWS環境の構築を自動化してみよう
  • Better gRPC な Connect に乗り換える - Go言語編

    デジタル認知行動療法アプリ Awarefy は、2022年4月からバックエンドシステムを Go + gRPC / Protocol Buffers を用いて開発・運用しています。現在進行中の Web アプリ開発のために、connect-go への切り替えが事実上必要になったため、grpc-go から connect-go へのマイグレーションを実行しました。 Connect とはそもそも Connect とはなにかですが、Better gRPC と理解するのがよいでしょう。 Getting started | ConnectConnect is a slim library for building browser- and gRPC-compatible HTTP APIs.ConnectConnect is a slim library for building browser- an

    Better gRPC な Connect に乗り換える - Go言語編
  • アカウントの棚卸の作業をちょっとでも楽できるようなツールを試作してみた | DevelopersIO

    前置き(長い 定期的に所属部署で使用している外部サービスのユーザーアカウント棚卸を行っています。 対象は社内ユーザーですが、各サービスからユーザーアカウント一覧を取得し、まとめていく作業はサービスやアカウントの数が増えれば増えるほど 棚卸の難易度は上がっていってしまいます。 具体的には以下の課題がありました。 そもそも棚卸をあまりやっていない 作りっぱなしで放置されていることが多い。 退職者のアカウントが残り続けている など、セキュリティ的に良くはない。 使用していないのにコスト増の可能性もある。 アカウント所有者の情報を取得する作業 自動、手動での取得に関わらず、最新の状態との差分を確認するのに時間がかかってしまう。 サービスごとでアカウントのリストを作っていた。 アカウント所有者ごとに今後の利用可否を確認する作業 アンケートを作成して確認していたが、その作成にも時間かかる。 サービスご

    アカウントの棚卸の作業をちょっとでも楽できるようなツールを試作してみた | DevelopersIO
    okinaka
    okinaka 2023/03/24
  • OpenAPI Generatorに適したOpenAPIの書き方 - ZOZO TECH BLOG

    はじめに こんにちは! WEARバックエンドブロックの高久です。 WEARではOpenAPI(Swagger)を使って、アプリやWebのクライアントが利用するAPIを定義しています。そして先日、開発効率化のためにOpenAPI GeneratorでOpenAPIからAPIクライアントコードを自動生成、活用できるように整備をしました。その中でOpenAPI Generatorに適したOpenAPIの書き方のポイントがいくつかあったので、内容を紹介していきます。 想定読者 OpenAPIを現在利用している、またはこれから利用する予定の方 OpenAPI Generatorを利用したコード自動生成を検討している方 背景 当初WEARではAPIクライアントコードはOpenAPIでのAPI定義を基に各クライアントが手動で実装していました。しかし手動で実装すると初期の実装コストや変更時の追従コストがか

    OpenAPI Generatorに適したOpenAPIの書き方 - ZOZO TECH BLOG