タグ

pに関するmurashitのブックマーク (861)

  • パッケージマネージャを自作するときに考えること - gfnweb

    プログラミング言語を自前で創っていると,パッケージマネージャが欲しくなってくるものだ.既存パッケージマネージャやそのラッパーによる配布で事足りることも多いが,自前言語の要件とうまく合わなかったりして,真に自分で実装せねばならないこともある.そうした場合,パッケージマネージャをどんな設計にすべきだろうか? 言語固有の都合には触れずになるべく一般に考慮すべき事項を洗い出し,簡単な設計例も提示してみたい. なお,稿はパッケージマネージャの設計に焦点を当てたものであり,効率的に依存制約を解消するアルゴリズムなど実装の詳細については解説しない.実際例えばOCamlでは 0install-solver というOPAMの裏でも使われているパッケージを利用すれば制約解消アルゴリズムそのものに踏み込まずとも制約解消処理を実装でき,(それ自体に興味があるときを除けば)必ずしもアルゴリズムを理解する必要はない

    murashit
    murashit 2023/02/16
  • WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進

    WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進 WebAssemblyのガベージコレクション機能が、Chrome 111 Devリリースにおいて試験的実装を示すOrigin trialとして実装されることが分かりました。 WebAssemblyのガベージコレクション機能はまだ仕様策定段階ですが、試験的機能として実装が登場することで仕様策定の作業などが進むと同時に、いわゆる高級言語でのWebAssembly対応が広がることも期待されます。 WASM GCはChromeのフィーチャーフラグで有効化 ChromeブラウザにはStable、Beta、Dev、Canaryなど、開発の段階に分かれた複数のリリースチャンネルがあります。 現在リリースされているChrome 111 Devリリースチャンネル

    WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進
    murashit
    murashit 2023/02/06
    素朴に考えると変換元の言語によってモデルが違うから共通化するメリットないし実質Dart/Flutter優遇策みたいに見えるんだけどどういうアレなんだろう
  • Nostrプロトコル(damus)を触ってみた - Qiita

    はじめに Twitterの動乱に巻き込まれている皆様、いかがお過ごしでしょうか。 私も例外なく巻き込まれており、特にAPI利用していたアプリケーションを停止することになって非常に残念です。 そこでTwitter代替サービスを探すわけですが Mastodon MisskeyActivityPub系が来て、何か新たに面白そうなものが現れました。 Damus、そしてそのプロトコルのNostrです。 今回、こちらをちょっと触ってみたので紹介します。 とりあえず触ってみたい人はこちら AT Protocolも書きました。こちら 注意 Nostr Assets ProtocolおよびNostrトークンは、Nostrの名前を勝手に使用している無関係の(おそらく詐欺)通貨です。混同しないようにご注意ください。 最近の動向含めた最新情報(2023/12) こちらの記事が参考になります ▽それ、1個のアカ

    Nostrプロトコル(damus)を触ってみた - Qiita
    murashit
    murashit 2023/02/06
    すげー素朴なしくみだ
  • ArkEdge Space で正社員になって半年が経った - 重力に縋るな

    タイトルの通りなのだけれど,ArkEdge Space で正社員になって半年が経っていた. 何をやっているかといえば,そこかしこで何度も言っているが,人工衛星を作っている. sksat.hatenablog.com 正社員になるなんてことは人生で始めてのことだけれど,正直なところその「変化」の瞬間には思い入れがあるわけではない. というかあんまり覚えていない.その前日と同じように仕事をしたんだと思う. たぶん一番大変だったのはバックオフィスの人だろう. まるで正社員かのように働くインターン生も,(大学生をやりながらであることによって)インターン生かのように働くこともある正社員も,どちらもとても面倒だと思う.いつも当にありがとうございます. だったらなんでこんな記事を書いているかといったら,まあ久しぶりに文章を書きたい気持ちになってきているからだろう. 一歩引いて考える余裕ができてきたとい

    ArkEdge Space で正社員になって半年が経った - 重力に縋るな
    murashit
    murashit 2023/02/02
  • Linuxコンテナの「次」としてのWebAssembly、の解説

    はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている

    Linuxコンテナの「次」としてのWebAssembly、の解説
    murashit
    murashit 2023/01/29
  • 電池不要のTOTOエコリモコンを分解してみた

    TOTOエコリモコンとは? TOTOといえばウォシュレットが有名ですが、電池不要タイプの「TOTOエコリモコン」という製品が販売されています。 これ自体は以前から売られているものですが、新品を入手する機会があったため、電池不要な構造を調べてみるために購入して分解してみました。 TOTOエコリモコンの外観をチェック 分解検証用に購入したTOTOエコリモコンです。 家庭用ウォシュレット等で見かけるリモコンとはデザインが全く違い、シルバーで大型のボタンを備えたものとなっています。 また電池不要タイプという事で、LEDランプによる表示や液晶画面などは存在しません。 ボタン部分を横から撮影してみました。 大型のボタンはクリック時のストークも大きくなっており、操作性という面ではユニバーサルデザインを意識したものといえるでしょう。 また大きなストロークは電池不要な構造の関係する部分でもありそうです。 今

    電池不要のTOTOエコリモコンを分解してみた
    murashit
    murashit 2023/01/28
    Zigbeeが正しい使い方されてる
  • alacritty+tmuxもいいけど、weztermがすごい件

    私はターミナルが大好きなので毎日使っているんですが、永らく alacritty + tmux を愛用してました。(といってもさっき見たら alacritty 使ってたのは 1 年ちょっとだったらしい・・・) しかし最近 wezterm というターミナルの話を Reddit とかでちょくちょく聞くようになってたので 2022個人開発環境大変革[1]に合わせて試してみることにしました。 wezterm とは? wez さんが作った Rust 製の GPU-accelerated で cross-platform なターミナルです。自分の名前をプロダクトに入れるところに正直自信の表れを感じます w wez さんは 2022 年現在 Facebook(meta)で働いているようです。 まぁけど、Rust 製の GPU-accelerated で cross-platform なターミナルってそ

    alacritty+tmuxもいいけど、weztermがすごい件
    murashit
    murashit 2023/01/28
    weztermでAquaSKK使えるようになってたのに気付いた(昔試したとき無理だった覚えがあったので敬遠してた)
  • ニコニコ漫画をRuby3.2.0に更新してYJIT有効化するとパフォーマンス改善された話 - BOOK☆WALKER inside

    はじめに こんにちは。ニコニコ漫画の開発をしているyotaとtukiyoです。 この記事はペアブロギングによって執筆しています。 記事ではニコニコ漫画で利用しているRubyのバージョンを3.2.0へ更新したこととYJITの有効化によるパフォーマンスの変化について紹介します。 ニコニコ漫画のインフラ構成についてにある通り、ニコニコ漫画は4つのプロダクトによって運用されています。 このうち記事の対象となるのは、Rubyを利用している「新バックエンド」と「課金サブシステム」になります。 今回、Rubyのバージョンが3.2.0になったことでYJITが実験段階ではなくなりました。*1 ニコニコ漫画のバックエンドシステム内では複雑な処理も多く、恩恵に与ることを期待して更新を行いました。 結果として大きなパフォーマンスの向上が見られました。 はじめに 更新に関する作業 更新前後のパフォーマンス比較

    ニコニコ漫画をRuby3.2.0に更新してYJIT有効化するとパフォーマンス改善された話 - BOOK☆WALKER inside
    murashit
    murashit 2023/01/25
    マイクロベンチマークとかじゃなくて実アプリケーションでそんなに変わるもんなのか
  • Skeb、12月の大規模障害は「Heroku障害ではない」「完全に解決」 詳細は触れず

    クリエイターに有償でイラストなどを発注できるサービス「Skeb」を提供するスケブ(東京都千代田区)は1月23日、2022年12月に発生した障害について「セールスフォース・ジャパン担当者との協議を経て、完全に解決した」と発表した。原因がクラウドサービス「Heroku」の障害でないことを確認したという。 Skebでは12月23日から24日にかけて障害が発生。当時の発表では、原因はHerokuのアカウントにあったとしていた。ただし詳細に不明点があり、解決後も問題の経緯を探っていたという。 スケブによれば、セールスフォース・ジャパンは障害の解決後、12月28日にスケブを訪問。原因がHerokuの障害ではないことを確認した他、セールスフォース・ジャパンが当時把握していた状況について説明を受けたという。その後協議を経て、1月23日に問題の解決に至ったとしている。ただし障害が起きた実際の原因については説

    Skeb、12月の大規模障害は「Heroku障害ではない」「完全に解決」 詳細は触れず
    murashit
    murashit 2023/01/23
    なんなんだよ
  • わたしはページ内検索を普通に使いたい

    以前にも少し書いたのですが、ウェブブラウザーで使えるページ内検索による体験が阻害されるのが当にストレスで、その例を残しておこうと思います。 採用側の気持ちも分かりますので、どうなると皆が幸せになるのか分からないという種類のものなので困ったところです。 省略されたテキストoverflow: hiddenとtext-overflow: ellipsisまたは-webkit-line-clampによってテキストが省略された場合、その省略部分がページ内検索にヒットすると非常に探しづらいです。 特に、グリッドで区切られたアイテムが複数列・複数行で並んでいる際に顕著です。 以前の記事のとおり、わたしはYouTubeでよく遭遇します。 下記のデモは、1000個のアイテムを並べたものです。 このうち、「Red Rose」というワードは12個のアイテムに含まれています。 デモを開いて「Red Rose」で

    わたしはページ内検索を普通に使いたい
    murashit
    murashit 2023/01/23
  • 【連載】それもまたUIだね。インタフェース散歩!

    人とコンピューターの関係を考えると、二つの間には常にインタフェースが存在します。この連載では、人とコンピューターを介在するインタフェースに着目し、インタフェースとそれらを世に生み出すプロダクト開発について議論します。初学者の方からプロフェッショナルの方まで、何らかのプロダクト開発のヒントを持って帰っていただけるような連載を目指します。

    【連載】それもまたUIだね。インタフェース散歩!
    murashit
    murashit 2023/01/19
  • 「HTML解体新書」リフロー版電子書籍を作りました - 弁護士ドットコム株式会社 Creators’ blog

    4月に発売された書籍「HTML解体新書」。その電子版は今までPDF版しかありませんでしたが、このたびリフロー版が発売となり、Amazonでも購入できるようになりました。 この記事では、HTML解体新書のリフロー版電子書籍を実際に作成した際の流れについて、なぜ作成したのか、どうやって作成したのか、どのようなトラブルがあったか、といった点をご紹介します。リフロー版の電子書籍の作成、出版を検討されている方の参考になれば幸いです。 リフロー版の電子書籍を作った理由 リフロー型と固定レイアウト型 リフロー型とアクセシビリティ リフロー版の電子書籍を作るには 電書協 EPUB 3 制作ガイド 実際の制作の流れ テキスト原稿を用意する XHTMLを作る その他EPUBに必要なファイルを準備する OCFコンテナのメタデータを用意する mimetype container.xml OPFパッケージのデータを

    「HTML解体新書」リフロー版電子書籍を作りました - 弁護士ドットコム株式会社 Creators’ blog
    murashit
    murashit 2023/01/16
  • この10年のプログラミング言語の変化 - 西尾泰和のScrapbox

    @nishio: あ、そうか、10年前からあったけど10年間の間に勢力を拡大したケースがあるからあんまり厳しく切らない方がいいのか(TypeScriptの登場が2012年、Rustの登場が2010年だった)

    この10年のプログラミング言語の変化 - 西尾泰和のScrapbox
    murashit
    murashit 2023/01/14
  • Mozcdic-UT (Mozc-UT)が終わった話と、代替品を開発してる話 - Chienomi

    2023-01-12にLinux界隈に激震が走ったらしい。 Linux環境(Unix環境を含む)の日本語入力を支えていた、Mozcdic-UTプロジェクトが終了したからだ。 まず、前提として私の立場を明確にしよう。 私は2017年から、従来のMozc-UTに代わる新しい(ライセンス上の懸念のない)Mozc辞書として誕生したMozc-NEologd-UTのFcitxバインディング、fcitx-mozc-neologd-utのAURパッケージをメンテナンスしてきた。 その後新生Mozc-UTが誕生してからはfcitx-mozc-ut-unifiedとfcitx-mozc-ut-unified-fullというふたつのパッケージを加え、計3つパッケージをメンテナンスしてきた。 その後、mozcdic-ut自体がfcitx4をサポートしなくなったこと、fcitx5は既にメンテナーがいたことから私

    murashit
    murashit 2023/01/13
  • mozc-utの公開の終了といろいろについての所感

    どういうことだってばよ Linux 上の日本語入力システムで一番メジャーといえる mozc(Google 日本語入力のオープンソース版)向けの辞書として公開されていた、mozc-ut の公開を作者が終了してしまいました。それに伴ってディストリビューションにパッケージの公開をしている人に削除が求められています。自分の知る限りでは AUR でしかパッケージングされていないので、その部分の影響は少なそうですが、かなりメジャーな mozc の辞書として知られていたので、影響が大きそうだと思いまとめることにしました。(私事で恐縮ですが、mozc-ut を利用していたのでまあまあなショックがあります) 発端 山田ハヤオさんの 2 つのツイートが作者のサイトで原因としてあげられています。 作者は 1 つめのツイートについて 山田ハヤオさんが「UT 辞書はライセンスに問題があってまともではない」と書いてい

    mozc-utの公開の終了といろいろについての所感
    murashit
    murashit 2023/01/13
  • 次世代 CSS 仕様が与えるコンポーネント時代の Web への影響 | blog.jxck.io

    Intro SPA の隆盛で進化したフロントエンドライブラリによって生み出された「コンポーネント」という資産は、それを View 層の最小単位として扱うエコシステムにその重心をずらした。 近年の Web 開発は、虫いのテンプレートエンジンにデータをはめ込む方式から、デザインシステムにカタログされたコンポーネント群に、 API から取得したステートを流し込み、それらを「いつ、どこで、どう」レンダリングするかという課題への最適解を、各位が模索するフェーズとなっている。 コンポーネントを敷き詰めるコンテナ側の設計は、 Flexbox および Grid の登場によるレイアウトの進化が手助けしたところも多いにある。しかし、「ページ」を前提に設計された CSS は、「コンポーネント」を前提にした設計に移行するうえで、ミッシングピースが多かった。 現在、提案/実装が進んでいる CSS の新機能群には、

    次世代 CSS 仕様が与えるコンポーネント時代の Web への影響 | blog.jxck.io
    murashit
    murashit 2023/01/11
  • もし「リーダブルコード」を弁護士が読んだら? - MNTSQ Techブログ

    こんにちは。「リーダブルコード」を先月読破して、感銘を受けた弁護士の人です。 なにに感銘を受けたかというと、「エンジニアが高級言語を効率的にコーディングするための工夫」は、契約という言語をコーディングするために援用できることがとても多いということです。 例えば、リーダブルコードは「関数には空虚な名前(tmpとかretvalとか)でなく、エンティティの実体に即した名前をつけよう!」と提案しています。 これめっちゃわかります!!!なぜなら、契約言語では当事者というクラスの表現のために「甲」「乙」という定義を未だに使います。そして、甲と乙を逆に書いてしまったままReviewを通過することが実際によくあります。オライリーさんには激怒されるでしょう。 しかし、よく考えると高級言語と契約言語が似ているのは当然だと思うようになりました。それは、どちらも「一定のインプットを入れると、必ず一定のアウトプット

    もし「リーダブルコード」を弁護士が読んだら? - MNTSQ Techブログ
    murashit
    murashit 2023/01/11
  • Rubyインタプリタの品質向上のために個人的にやっていること - クックパッド開発者ブログ

    技術部の笹田です。Ruby 3.2 無事にリリースされて良かったよかった。 Rubyインタプリタは複雑なプログラムなので、当然のごとくバグが入ってきます。Rubyインタプリタ開発者は、これに対していろんな対策をしています。たとえば、テストを書いて、CI環境でチェックするとか、今となっては当然のことを、当然のごとくやっています(RubyCIやchkbuildruby/spec: The Ruby Spec Suite aka ruby/specなどの整備や、実行環境の日々のメンテナンスの成果です)。 これに追加して、個人的にテストをとにかくたくさん繰り返し行うマシン群を用意しています。テストの実行頻度をなるべくあげて、「時々しか発生しない」というバグを炙り出して、Rubyインタプリタの品質向上を目指すためです。稿ではそんな、ちょっとだけ変わったテスト環境についての話をご紹介します。 この

    Rubyインタプリタの品質向上のために個人的にやっていること - クックパッド開発者ブログ
    murashit
    murashit 2022/12/27
  • 失われた「フリーソフト」の哀愁と、今を生きる開発者への願い。 - Zopfcode

    かつて、窓の杜や Vector へウキウキでダウンロードしに行ったような「フリーソフト(フリーウェア)」たち。これら「フリーソフト」たちの中には、利用についての明示的な許諾がないソフトが多く存在する。 これらの公式な入手手段が生きている間は何も問題はない。しかし最近は、サイトが閉鎖されるばかりか、連絡先すらわからず困るケースが多くなっている。このように公式の配布手段が失われると何が困るのか。そこには大きく2つの問題がある。再利用の許諾を欠くことと、ソースコードがないことだ。 2022/12/29 追記: unasuke が「コードを公開する側」から見て同じ話題を解説した記事を公開しているので、私の記事とは別な視点が欲しい、あるいは疑問を持った方がいれば是非こちらも参照して欲しい。 blog.unasuke.com 問題1. 再利用の許諾がない(あっても曖昧) 再利用の許諾が書かれていなけれ

    失われた「フリーソフト」の哀愁と、今を生きる開発者への願い。 - Zopfcode
    murashit
    murashit 2022/12/26
    わかる
  • 2022年の技術トピックをふりかえる - laiso

    それはベンツなんよ 総括 今年はコードをよく読むようにした。 技術的にはひき続きPaaSやクロスプラットフォームの動向に注目した。 デファクトの移り変わりを感じるので来年以降はGoGraphQLに手を出していきたい。 去年のエントリ: 2021年に作ったモノや技術をふりかえる 今年やったこと コード読み 去年はコードを書くことに注力していたので今年は一転コードを読んでいた。 プログラム雑談ポッドキャストを聞いていて「コード読み」っていう言葉がよく出てくるので聞きながらそういえば自分もこの分野が好きだなと思い出したので意識してやることにした。 丁度、最新技術のトレンドだけ俯瞰しているのに学びを感じなくなってきたのでより潜りたい気持ちがあったのでそれを満せたと思う。 IntelliJ IDEAで全言語のプログラミング環境が楽に揃っているのが心強い(Samuraismさんありがとう)。 読んだ

    2022年の技術トピックをふりかえる - laiso
    murashit
    murashit 2022/12/21