並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 60件

新着順 人気順

PackageManagementの検索結果1 - 40 件 / 60件

PackageManagementに関するエントリは60件あります。 npm開発node.js などが関連タグです。 人気エントリには 『pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator』などがあります。
  • pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator

    - はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂

      pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator
    • HomebrewのインストーラーをRubyからBashに書き直しました! - プログラムモグモグ

      みなさんはHomebrewをお使いでしょうか。macOSをお使いの多くの開発者が使っていると思います。 HomebrewのインストーラーはRubyで書かれており、次のコマンドでインストールするようになっていました。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" HomebrewがRubyに依存していることは良いのですが (formulaの書きやすさはRubyならでは)、インストーラーの話になると事情が変わってきます。HomebrewのインストールコマンドはmacOSの工場出荷状態でも動く必要があります。こういうものにRubyを使っているのはリスクがあります。 将来的にmacOSデフォルトにRubyやPythonが含まれなくなる (参考リンク

        HomebrewのインストーラーをRubyからBashに書き直しました! - プログラムモグモグ
      • MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)

        先日、メインの開発環境を MacOS から Windows 10 Professional へと移しました。理由としては主に2点で、現在仕事を自宅の固定席で行っており PC を持ち運びする必要がなくなったため Mac より高速で安価な Windows デスクトップ機を使いたいこと(Ryzen 9使いたい!)、WSL2 が正式版となり使ってみた感じ問題なく WSL2 で仕事の開発ができそうだったことが挙げられます。 WSL2 はふつうに Linux なので問題なく開発環境の構築が行なえ、Windows からも VSCode Remote のおかげでで違和感なくWSL2上のコードを編集、実行ができ快適な開発が行えています。(なお、WSL2 についての記事は山程溢れているので、ここでは殆ど触れません。) しかしながら、WSL2 ではないふつうの Windows 上で開発する機会が出てきたので、M

          MacOS ユーザが WSL では無い Windows のコンソール環境を整える - 2nd life (移転しました)
        • Windowsで開発

          Windowsで開発環境を整えた。 背景 開発環境を改善しようと思い、PCデスクの見直しなどをやっていたら、Windowsでも開発できるようにしようと思い至った。新しい環境を試してみたい気持ちが1割と、新しいゲーミングPCを組みたい気持ちが9割だ。 エディション Windows 10 Homeエディションを利用している。 Windows 10 ProにはHyper-Vという仮想化機能を直接利用できる利点があるが、WSL2で同じようなことをより便利に実現できるようになったおかげで、この点においてPro版の必要性は薄れてきている。今のところ自分のやりたいことはWindows 10 Homeですべて実現できている。 Windows Update WSL2を使うために、Windowsをバージョン2004・ビルド19041に更新した。 日々の自動更新ではバージョン1903で止まっていて、まだ自動では

            Windowsで開発
          • [速報]Windows用パッケージマネージャ「winget」がプレビューリリース。コマンドラインからアプリケーションをインストール。Microsoft Build 2020

            オンラインイベント「Microsoft Build 2020」を開催中のマイクロソフトは、コマンドラインから利用するWindows用パッケージマネージャ「Windows Package Manager」のプレビューリリースを発表しました。 Windows Terminalのコマンドラインから「winget install」と入力、実行するだけで、アプリケーションがWindows 10にインストールされます。 例えば「winget install powertoys」と入力すればpowertoysが、「winget install vscode」と入力すればVisual Studio Codeがインストールされる、という具合です。 インストールはあらかじめ用意されたmanifestファイルに従って行われます。 Windows Package ManagerはGitHub上でオープンソースとし

              [速報]Windows用パッケージマネージャ「winget」がプレビューリリース。コマンドラインからアプリケーションをインストール。Microsoft Build 2020
            • colorsなどのnpmパッケージに悪意あるコードが含まれている問題について

              追記: 2022年1月11日 2:29 JSTにDoS脆弱性としてセキュリティアドバイザーが出されて、悪意あるバージョン(1.4.1や1.4.2)はnpmからunpublishされ、npmの最新は安全なバージョンである1.4.0へと変更されました。 Infinite loop causing Denial of Service in colors · GHSA-5rqg-jm4f-cqx7 · GitHub Advisory Database 2022-01-08 に colors というnpmパッケージにDoS攻撃のコードが含まれたバージョンが1.4.44-liberty-2として公開されました。 GitHub: https://github.com/Marak/colors.js npm: https://www.npmjs.com/package/colors 問題についてのIssu

                colorsなどのnpmパッケージに悪意あるコードが含まれている問題について
              • ‘-‘ という名前の、中身が無いのに70万回ダウンロードされてる謎のnpmパッケージ

                – という名前の JavaScript/TypeScript パッケージについて警告を発している記事が話題となっています。 このパッケージ、中身はほとんど空で、Readme と、dev で TypeScript を動かせるようにするライブラリ群を呼ぶ箇所だけのもの。 しかし、この “-” を使っている他の npm パッケージが 50個以上あり、約一年前の公開時からのトータルのダウンロード数は72万回にもなります。 しかし、”-” を読み込んでいるパッケージを見てみても、”-” が必要そうには見えません。 警告記事では、この無名のパッケージが密かに使われるようになった原因が、npm コマンドのコマンドラインを打つときのミスタイプにあるのではないかとの仮説を立てています。 つまり、someFlag というオプションを使い npm i -someFlag somepackage と打つべきところ

                  ‘-‘ という名前の、中身が無いのに70万回ダウンロードされてる謎のnpmパッケージ
                • この10年のプログラミング言語の変化 - 西尾泰和のScrapbox

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

                    この10年のプログラミング言語の変化 - 西尾泰和のScrapbox
                  • 「オープンソース」は壊れている

                    christine.websiteのブログより。 または: お金を払わない限り、有用なソフトウェアを書かないのか? 最近、重要なJavaエコシステム・パッケージに大きな脆弱性が見つかりました。この脆弱性が完全に兵器化されると、攻撃者はLDAPサーバから取得した任意のコードを実行するよう、Javaサーバを強制することができます。 <マラ> もしこれがニュースで、あなたがJavaショップで働いているなら、残念ですが、あなたには2、3日が待っています。 私は、これが「オープンソース」ソフトウェアの主要なエコシステム問題の全ての完璧な縮図だと考えています。log4j2が、この問題の最悪のシナリオの1つの完璧な例であると思うので、このすべてについていくつか考えを持っています。この問題に関与したすべての人が、現実世界の問題に対する完全に妥当な解決策のためにこれらすべてを行ったことは完全に合理的であり、

                      「オープンソース」は壊れている
                    • 政治的問題のためRuby GemsとGitHubからChef関連の諸々が消えた件について

                      アメリカ合衆国のとある政府機関への抗議のため、Chef関連のGemやGitHub上のソースコードを作者が削除した。 雇用期間に業務にてGemが作成されていたため、Chef SoftwareがGemの所有権を主張してGemを復活させた。 最終的には抗議行動に対してChef Softwareが折れることで決着が付いた。 現在Chef界隈が混乱している。 どうやら政治的問題のためにRuby Gemsに登録されたGemやGitHub上のソースコードが消されたらしい。 なかなか興味深い出来事で、なおかつ日本語圏に情報が出ていないので適当に記録しておく。 用語 Ruby:プログラミング言語の1種。日本においては超広範囲で使用されている超メジャーな言語。 RubyGems:Rubyにおけるパッケージシステム。他人のRubyプログラムやライブラリを簡単に取り込むことができる。 Chef: 構成管理ツールの

                        政治的問題のためRuby GemsとGitHubからChef関連の諸々が消えた件について
                      • node_modulesの問題点とその歴史 npm, yarnとpnpm

                        皆さんnpmパッケージのバージョンを上げるときにハマって依存地獄から抜けられなかったことはありませんか? 私はあります。 複雑怪奇な依存関係を調べてみようとnode_modulesを覗いてみて、そのカオスっぷりに臭いものに蓋をしたことはありませんか? 私はあります。 そこでnode_modules以下について調べてみたのですが、node_modulesにどんな問題点があって、npmやyarn, pnpmは何を目指していたのか時系列順に紐解いた方がわかりやすいことに気づきました。 ここでは初期のnpmが抱えていた問題から今に至るまでを順を追って説明します。 するとnode_modulesの仕組みの他に、各パッケージマネージャの方針の違いが見えてくるはずです。 初期の頃のnpm (~2015年以前) この頃はシンプルで、依存関係はそのままnode_modulesのディレクトリ構造に反映されてい

                          node_modulesの問題点とその歴史 npm, yarnとpnpm
                        • OSSすぐ死ぬ - kmuto’s blog

                          (結論はなく、ダラダラ昔話を書いただけ。) サービスやプロダクトの開発にあたって、自社外で開発されたオープンソースソフトウェア(OSS)を外部コンポーネントとして使うという場面は今や当たり前だと思うけど、そのOSSができるだけ長く保守開発を続けてくれるにはどうしたらよいか、ということまで考えることは少ないだろう。 OSSはそのライセンス遵守の上では金銭を支払うことなく自由にサービスやプロダクトに使えるし、うまく機能がハマれば開発の費用・時間コストを大幅に軽減できる。 ただ、そうしてできた素晴しいサービス、プロダクトのアーキテクチャを見返してみると、個人の手弁当のOSSが危ういバランスを支えてSPOF的に存在していることがある。ジェンガの絵がよく出てくるよね( File:dependency.png - explain xkcd )。 Someday ImageMagick will fin

                            OSSすぐ死ぬ - kmuto’s blog
                          • GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている

                            GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている 4月10日でサービス開始からちょうど15周年を迎えたGitHubは、当初からRuby on Railsを用いたモノリシックなアプリケーションとして作られてきました。現在では200万行近い規模のコードになっているそうです。 今年1月にはGtHubを利用しているデベロッパーが1億人に到達したことも発表しました。GitHubはまさに世界最大級のRailsアプリケーションだと言っていいでしょう。 そのGitHubは5年前の2018年、Railsのバージョンを3.2から5.2に上げる作業に1年半を費やし。そして二度とこのようなことにならないよう、より頻繁にアップデートを行うべき、などの教訓を得たとしていました。 そして現在、GitHubは毎週月曜日にRailsのアップデート作業

                              GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている
                            • KubernetesでJVMアプリを動かすための実践的ノウハウ集 / JVM on Kubernetes

                              CloudNative Days Tokyo 2019 1D3 セッションのスライドです。 #CNDT2019 #OSDT2019 #RoomD

                                KubernetesでJVMアプリを動かすための実践的ノウハウ集 / JVM on Kubernetes
                              • マイクロソフト、Javaの開発環境をまるごとインストールしてくれる「Visual Studio Code Installer for Java」公開。VSCode、JDK、テストランナー、デバッガ、依存関係ビューア、IntelliCodeなど

                                マイクロソフト、Javaの開発環境をまるごとインストールしてくれる「Visual Studio Code Installer for Java」公開。VSCode、JDK、テストランナー、デバッガ、依存関係ビューア、IntelliCodeなど マイクロソフトは、Windows上にJavaの開発環境をまるごとインストールしてくれるツール「Visual Studio Code Installer for Java」をリリースしました。 「Visual Studio Code Installer for Java」は、コードエディタのVisual Studio Codeを中心に、Javaの実行環境、テストランナー、デバッガ、依存関係ビューア、コード補完をしてくれるIntelliCodeなど、Javaアプリケーションの開発を支援するツール群を一括してインストールしてくれるというもの。含まれているも

                                  マイクロソフト、Javaの開発環境をまるごとインストールしてくれる「Visual Studio Code Installer for Java」公開。VSCode、JDK、テストランナー、デバッガ、依存関係ビューア、IntelliCodeなど
                                • GitHub、ソフトウェア部品表の作成機能を無償公開--脆弱性管理を容易に

                                  印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます ギットハブ・ジャパン(GitHub)は4月7日、クラウド上のリポジトリーからソフトウェアを構成するコンポーネントやライブラリーなどの状況を開発者が容易に把握、管理できる「ソフトウェア部品表」(SBOM)の作成機能「Export SBOM」を発表した。GitHubの全てのクラウドリポジトリーで無償利用できる。 SBOMは、企業や組織などで使われるソフトウェアの脆弱(ぜいじゃく)性を悪用したサイバー攻撃が深刻な被害をもたらしていることを踏まえて、2021年5月にJoe Biden米大統領が署名したサイバーセキュリティ対策の強化を目指す大統領令に盛り込まれた。同令では、ソフトウェア開発組織に対し、ソフトウェア製品を構成するコンポーネントやライ

                                    GitHub、ソフトウェア部品表の作成機能を無償公開--脆弱性管理を容易に
                                  • パッケージマネージャで配布されるマルウェア、対策と課題について - ぶるーたるごぶりん

                                    はじめに 画像は記事に全く関係ないカニのフィギュアです👋 近年、善良なパッケージを騙ったマルウェアが配布されているケースが増えてきています。 これらのマルウェアはパッケージマネージャ上で配布され、開発者端末やそれをビルトインしたシステムを利用するユーザー端末で悪事を働きます。 これは俗にいうサプライチェーン型攻撃で、 これらの関連ニュースを目にする機会が増えてきていることを、多くの開発者が体感されていると思います。 ただ、これらのサプライチェーン型攻撃の記事は、 どうしてもエンドユーザー(パッケージを利用する開発者側・それらを組み込んだアプリを実行するユーザー側)の対策に焦点が当てられたものが殆どのように感じています。 そこで本記事では、このエンドユーザー側の対策だけではなく、 パッケージマネージャメンテナーたちがどう対策しているのかも含めて、 「パッケージマネージャ上で行われるマルウェ

                                      パッケージマネージャで配布されるマルウェア、対策と課題について - ぶるーたるごぶりん
                                    • 現代開発を加速させる古来の術式

                                      浮かない顔をしておるな。ワケを話してみよ。 npmの依存パッケージが増えた ふむ。npmで依存パッケージを増やしたと。それで? なに、他の開発者から 動かない と言われたのか。で、毎回 npm ciをしてくれ と頼んでいるわけか。 …その問題、半世紀ほど前に解決されておるぞ。 何かの縁じゃ。お主に開発環境を自動更新する古来の術式を教えてやろう。 詠唱準備 手始めに適当なパッケージを作るかの。今からの操作は空ディレクトリの中で作業していくぞ。 お主がNode.jsをインストール済であれば、

                                        現代開発を加速させる古来の術式
                                      • corepack is 何?

                                        追記: 2023-11-19 corepack v0.20.0 にて、CLI のコマンド体系が一新されて多少わかりやすくなりました (PR#291)。新しいコマンドは README を参照。 追記: 2022-02-03 Node.js v14.19.0 に corepack が標準バンドルされました。 corepack がバンドルされていない Node.js v12 系は 2022-04-30 に EOL を迎えるので、あと 3 ヶ月もすればアクティブな Node.js 環境には必ず corepack が揃っているという状態になりますね。引き続き experimental ステータスのままではありますが。 追記: 2021-09-08 Node.js v16.9.0 で corepack が標準バンドルされました。まだ experimental 扱いですが。 デフォルトでは yarn も

                                          corepack is 何?
                                        • 機械学習なdockerfileを書くときに気をつけとくと良いこと - nykergoto’s blog

                                          みなさん機械学習系の環境構築はどうやってますか? 僕は最近は Docker を使った管理を行っています。 特に師匠も居なかったので、ぐぐったり人のイメージを見たり手探りで docker をつかいつかいしている中で、最初からやっとけばよかったなーということがいくつかあるのでメモとして残しておきます。 大きく2つです。 キャッシュは消す テストを書く キャッシュは消す ライブラリをいろいろと install すると大抵の場合ダウンロードしたファイルを保存されている場合が多いです。何かのタイミングで再びそのライブラリをインストールする際にはダウンロードしたファイルを使って、素早くインストールすることができます (この仕組みがキャッシュです)。 キャッシュがあると容量が重くなるという欠点があります。重たいイメージは pull に単に時間がかかりますから、システムとしてデプロイする時にトラフィックが

                                            機械学習なdockerfileを書くときに気をつけとくと良いこと - nykergoto’s blog
                                          • GitHub、コード提供の全ユーザーに2要素認証(2FA)を義務付けへ 2023年末までに

                                            同氏によると、現在GitHubで2FAを使っているのは全アクティブユーザーの約16.5%のみ。傘下のnpmにいたっては、わずか6.44%のみという。 npmは2月、上位100のライブラリのメンテナに2FAを義務付けた。5月末までに上位500に拡大する計画だ。 関連記事 「ロシアをGitHubから切り離して」の意見に公式が返答 「私たちのビジョンは、全ての開発者のホームになること」 「GitHubからロシアを切り離して」──ロシアのウクライナ侵攻を受けて、このような件名の投稿がGitHub上に掲載された。さまざまな物議を醸したが、GitHubは「私たちのビジョンは、どこに住んでいても、全ての開発者のホームになることだ」と返答をした。 GitHub傘下のnpm、上位100のパッケージメンテナは2FA必須に GitHub傘下のパッケージリポジトリnpmは、上位100のライブラリのメンテナは2要素

                                              GitHub、コード提供の全ユーザーに2要素認証(2FA)を義務付けへ 2023年末までに
                                            • Pythonのパッケージ管理の中級者の壁を超える stapy#98

                                              以下のstapy#98にて発表したスライドです https://startpython.connpass.com/event/296755/ PythonのPackage Managerを深く知るためのリンク集 https://gist.github.com/vaaaaanquish/1ad9639d77e3a5f0e9fb0e1f8134bc06#file-python-package-manager-md

                                                Pythonのパッケージ管理の中級者の壁を超える stapy#98
                                              • GitHub資格認定プログラムが一般ユーザも利用可能に | gihyo.jp

                                                2024年1月8日、GitHubはこれまでGitHub/Microsoftの従業員とパートナーのみが利用可能であったGitHub Certifications(資格認定)プログラムを、世界中のすべての顧客も利用可能とすることを発表した。1月8日から誰でも登録サイトにアクセスしてGitHub Certificationsの学習と認定試験の準備を進めることができる。 GitHub Certifications are generally available -The GitHub Blog 利用可能な認定プログラムは以下の4種。 GitHub Foundations Certification GitHubプラットフォームの基本的な概念とGitHub製品を初めて学ぶ人向け。gitの使用方法からリポジトリ管理、コミット、ブランチ、マージ、プロジェクト管理などのGitHubコア機能をひと通り学習で

                                                  GitHub資格認定プログラムが一般ユーザも利用可能に | gihyo.jp
                                                • Pythonのパッケージングと配布の全体像

                                                  EDIT: このブログと似た内容の話をPyCon APAC2023にてお話ししました。 こちらの登壇資料も合わせてご覧いただけると幸いです こんにちはWantedlyの樋口です。 Pythonのパッケージングと配布は歴史が長く、多くのツール(ex. conda, pip, pipenv, poetry, rye...)が開発されてきました。これらの多様性はPythonが多くの人に使われ、継続的に改善されたゆえの賜物ですが、同時にこれらの理解を難しくしている要因にもなっていると感じます。 そこで本記事では、Pythonのパッケージングと配布の全体像を紹介します。パッケージングと配布が何か、なぜ重要なのか、そしてそれぞれのツールが何を解決しようとしているのかについて説明します。以下のような疑問を解決できることを想定しています。 パッケージングと配布の仕組みがなぜあるのか 多数あるツールが何を解

                                                    Pythonのパッケージングと配布の全体像
                                                  • デスクトップ環境をdisposableに保つ - あんパン

                                                    もう5年以上続けている取り組みのひとつにデスクトップ環境をdisposableに保つというのがある。いつでも何があっても即座に環境を捨てて作り直せるようにするということ。EC2やVPSのインスタンスに対してAnsibleでプロビジョニングできる状態にしておけば即座に新しいホストを立てて古いホストを捨てられる、そんな状態を目指すということ。具体的には以下のようなことを心がけている。 書類のマスターデータを端末上に置かない デスクトップ環境をdisposableに保つ第一歩は、とにかく手元になんらかのデータのマスターを置かないことにつきる。端末上にマスターデータを置いていると当然新しい環境を用意する際にデータ移行が必要になる。移行をしないためにはこれらを手元に置かないようにする。書類はGoogle DriveやNASに入れる、ソースコードは全てGitHubに上げておく、などなど。現代では機密情

                                                      デスクトップ環境をdisposableに保つ - あんパン
                                                    • JavaScript Registryの今後 - from scratch

                                                      さて、前回は tink と yarn v2 における CLI 戦略の話でした。次は JavaScript Registry についてです。 ちなみにこの内容が今回 JSConf.EU 2019 で一番盛り上がったトピックです。 JavaScript Registry とは JavaScript Package をバックエンドで管理しているサービスです。 npm が管理しているものがいちばん有名です。他にも GitHub が管理する Registry が公開される予定です。 The economics of Package Management the economics of package management slide: github.com video: www.youtube.com 「Package Managementの経済」というタイトルです。 聴講者からすると、何話すのか

                                                        JavaScript Registryの今後 - from scratch
                                                      • JavaScript Package Manager 2019

                                                        Node学園で発表した JavaScript Package Manager の話です。

                                                          JavaScript Package Manager 2019
                                                        • Go 1.13 に向けて知っておきたい Go Modules とそれを取り巻くエコシステム - blog.syfm

                                                          はじめに 今年の 8 月にリリースが予定されている Go 1.13 では、Go 1.11 で導入された Go modules に加え、Go module proxy といった新しいエコシステムが登場します。 そこで、そもそも Go modules は何を行っているのかや、何ができるのか、どういった要素で構成されているのかを紹介します。 また、古い Go バージョンから Go 1.13 へアップデートする場合や、 dep や Glide といったベンダリングツールから Go modules へ移行する際の懸念点も併せて紹介します。 先日発表した "Go Modules and Proxy Walkthrough" はこのポストがベースになっています。 TL;DR な人はスライドを見るのがおすすめです。 speakerdeck.com Go Modules Go modules という仕組みは

                                                            Go 1.13 に向けて知っておきたい Go Modules とそれを取り巻くエコシステム - blog.syfm
                                                          • AppleがmacOS 10.15 Catalina後のmacOSでPythonやRuby、Perlを同梱しない事について、Homebrewが対応を表明。

                                                              AppleがmacOS 10.15 Catalina後のmacOSでPythonやRuby、Perlを同梱しない事について、Homebrewが対応を表明。
                                                            • Rustのビルドを高速化する方法 | POSTD

                                                              Rustコードのコンパイルが遅いことは誰でも知っています。しかし筆者は、世の中のほとんどのRustコードはコンパイルをもっと速くできると強く感じています。 例えば、つい最近の記事にこのように書かれていました。 一方、Rustでは、プロジェクトやCIサーバーの性能にもよりますが、 CIパイプラインの実行に15~45分かかります。 これは筆者には理解できません。GitHub Actions上にあるrust-analyzerのCIの所要時間は8分です。しかも、これは100万行の依存関係に加え、20万行の独自コードが記述されたとても大規模で複雑なプロジェクトでの話です。 確かに、Rustは根本的な部分で非常にコンパイルが遅いのは間違いありません。Rustはジェネリクスのジレンマにおいて「遅いコンパイラ」を選び、全体的な設計思想としてコンパイル時間よりもランタイムを優先しています(この点に関する優れ

                                                                Rustのビルドを高速化する方法 | POSTD
                                                              • Maintainer Month: オープンソースをメンテナンスするコツ

                                                                週に一度まとめて更新のようなパターンだと、体調が悪いときなどにその週はスキップされ、また次の週も更新しようとして偶然タイミングが合わなかった場合などに、1ヶ月更新が止まるみたいな状態は起きやすいです。 1ヶ月更新を止めてしまうと、そこで更新する習慣が失われて、この書籍でいう逆戻りが起きるのかなと思っています。 そのため、JSer.infoではタスクを細分化して進められる時にやっていけるような形を作っています。 ライブラリのメンテナンスのリズムをツール化する JavaScript周りは顕著ですが、ライブラリが細かく分かれていることが多いため、リポジトリの数も多いです。 そのため、リポジトリのCI設定や依存ライブラリのアップデートなどをメンテナンスするだけで無限の時間がかかります。 このメンテナンス作業を手動で毎回やるととても疲れるので、自分の場合はツール化していることが多いです。 作ったり、

                                                                  Maintainer Month: オープンソースをメンテナンスするコツ
                                                                • npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba

                                                                  うりうりさんの↓のコメントを見て、そういえばnpm ciって見たことあるけどチェックしてないなぁ。というかnpm installも雰囲気で使ってるなぁ。と思ったので、うりうりさんに教えてもらったことを手がかりに、npm installとnpm ciについて調べた。 これ、node_modulesキャッシュしてたり npm install使ってるけど npmのグローバルキャッシュ(~/.npm)をキャッシュした上で npm ciで早くなったりしないんだろうか GitHub Actions上でテストを約3倍早くした話https://t.co/MpmFktGBxU— wreulicke (@wreulicke) March 14, 2023 ちょこっと検索して見てみたところ、新旧情報があって自分が混乱したのと、公式ドキュメントには概要は書かれているものの詳しい内容は書かれていないので(僕が見つけ

                                                                    npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba
                                                                  • Denoよどこへ行く - keroxpのScrapbox

                                                                    最近めっきりDenoに触ってない。一言で言うと飽きてしまった。 とはいえどうなってるかくらいの情報は追っているのだが、どうも使いたいと言う気分にならない。 今自分はDenoコントリビューターではないのでいち開発者としての外から見たDenoの現状を語ってみる 最近のDenoはWeb標準に追従している 具体的には、fetch APIの実装に始まり、ブラウザに実装されているAPIの実装を頑張っている windowオブジェクトもあるし、webcryptoやWebGPUのような、ブラウザでも誰も使ったことのないようなAPIまで実装している 自分はどうもこの流れに乗れなかった この方針は現在のDenoコアチームの強い姿勢であり、最近JavaScriptの標準化団体であるTC39に参加したという だがDenoがサーバーサイドの言語である以上、ブラウザに存在する様々なブラウザ的問題を解決するための仕組みや

                                                                      Denoよどこへ行く - keroxpのScrapbox
                                                                    • Perlの依存モジュールのアップデートを自動化するためのCLIツールを作った。GitHub Actions上で動かしてPull Requestも送れる - hitode909の日記

                                                                      近年のソフトウェア開発では、RenovateやDependabotといった依存関係更新のためのツールが普及していて、ツールの支援を借りながら依存ライブラリを更新していく開発フローが広まってきている。 これらのツールは、package.jsonで管理されているライブラリだったり、Dockerfileで指定しているイメージだったりを自動的に最新版に更新してPull Requestを出してくれるので、人間は内容を確認してマージボタンを押すか、変なところがあったら手直ししてからマージしていくだけでよい。 はてなでの開発フローでも使い倒していて、先月くらいにも、社内で共有して使ってる設定を公開したりしていた。今ではRenovateのない暮らしに戻ることは考えられないくらいに広まっている。 developer.hatenastaff.com 普段、仕事ではPerlやTypeScriptを書いていて、T

                                                                        Perlの依存モジュールのアップデートを自動化するためのCLIツールを作った。GitHub Actions上で動かしてPull Requestも送れる - hitode909の日記
                                                                      • npm v7の主な変更点まとめ

                                                                        こんにちは@watildeです。趣味でnpmへのコミットをたまにしているのですが、最近はNode.js側に比重を置いているのでv7のキャッチアップに少し遅れてしまいました。キャッチアップついでに自分なりに情報をまとめたので、v7における代表的な新機能と破壊的変更について、GitHubの記事よりも少し詳しめに紹介と解説を行ってみます。なるべく参考リンクを付けているので、詳細が気になった際はリンクから一次情報に飛んで読んでみてください。 また、情報に誤りがあった場合はTwitterにて教えていただけると助かります。 背景 npmチームより、2020/10/13にnpmの新しいメジャーアップデートであるところのv7の公式リリースが発表されました。8月からbeta版のリリースを繰り返していましたが、2ヶ月かけて内部的なリファクタリングとスモークテストを繰り返して今回の発表に至ったのかと思います。ま

                                                                          npm v7の主な変更点まとめ
                                                                        • フロントエンドのモノレポ構成はスケーリングの夢を見るか | サイボウズ フロントエンドエキスパートチーム

                                                                          それっぽいタイトルを付けましたが特に意味はないです。 workspace を使ったコマンドを最適化して実行する Turborepo についてのお話で Turborepo を軽く触ってみた際にnpx create-turbo@latestで作られる構成がとてもわかりやすく、プロダクトの初期段階からモノレポを採用するのは選択肢の 1 つとしていいのでは、と思い続編を書きました。 前回と同じくサンプルのリポジトリはこちらになります。 https://github.com/nus3/p-turborepo/tree/main/yarn 概要 モノレポを採用することで、同一リポジトリ内で自作した汎用的なライブラリやコンポーネントを複数のアプリケーションで使いまわせる モノレポの規模が大きくなってきた場合には、モノレポ内のパッケージを npm に公開することでアプリケーションとパッケージを非同期に開発

                                                                            フロントエンドのモノレポ構成はスケーリングの夢を見るか | サイボウズ フロントエンドエキスパートチーム
                                                                          • 中身のないnpmパッケージ「-」が70万回以上ダウンロードされる— その理由とは | POSTD

                                                                            名前が1文字の「-」という謎めいたnpmパッケージは、2020年にレジストリで公開されて以来、70万回以上ダウンロードされています。 さらに、このパッケージには有効なコードが含まれていません。では、一体なぜこれほど多くダウンロードされているのでしょうか? npmパッケージ「-」の中身 「-」というnpmパッケージは、2020年初めにnpmレジストリで公開されてから、約72万回もダウンロードされてきました。 パッケージのバージョンは0.0.1のみで、ファイルは3つです。 tar tvf 0.0.1/--0.0.1.tgz package/dist/index.js package/package.json package/README.md これらのファイルは主にマニフェスト(package.json)とindex.jsで、特に面白い点はなく、スケルトンコードが書かれているだけです。 マニフ

                                                                              中身のないnpmパッケージ「-」が70万回以上ダウンロードされる— その理由とは | POSTD
                                                                            • npmとyarnとpnpmの違い2021

                                                                              (Last Update: 2022/02/03) npm と yarn(v1) と pnpm (とyarn v2)の違いについて記述します。 Versions npm Yarn pnpm 各パッケージの特徴 npm npmはnpm社が提供する、JavaScriptパッケージマネージャーです。 npmというコマンドラインで動作するプログラムでパッケージを管理できます。いわばnpm公式のパッケージマネージャーとなります。 Windows等でインストールするとNode.jsに同梱されています。 Yarn Yarnはnpmより後発のJavaScriptパッケージマネージャーです。 元々、npmにはインストール時のパッケージバージョンの非再現性やパフォーマンス上の問題、セキュリティの問題が山積しており、それを解決するために開発がスタートしました。 いわば、サードパーティのnpmということになります

                                                                                npmとyarnとpnpmの違い2021
                                                                              • Docker Hubに保存したコンテナイメージ、無料プランでは6カ月間使われないと削除へ

                                                                                Docker Hubは、Dockerコンテナのリポジトリとして最も有名かつ活発に使われているサービスの1つです。 おそらく多くのユーザーがDocker Hubに登録されたDockerコンテナのイメージを利用するなど、そのお世話になったことがあるでしょう。 そのDocker Hubにおけるコンテナイメージの保管について「Container Image Retention Policy」として規約が変更されたことが話題になっています。 Docker update ToS: Image retention limits imposed on free accounts | Hacker News Docker Hub の新しいコンテナ・イメージ保管ポリシー(参考訳) - Qiita これまでDocker Hubに保存されたコンテナイメージは期限なく保存され続けていましたが、今後はFreeプランの

                                                                                  Docker Hubに保存したコンテナイメージ、無料プランでは6カ月間使われないと削除へ
                                                                                • JCenter が2021年5月1日にシャットダウンすることになったので Android アプリエンジニア観点でメモをまとめた - BattleProgrammerShibata

                                                                                  シャットダウンが延期されました 読み取り専用として存続します JCenter のシャットダウンについては2022年2月1日へ延期になりました。 https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/ UPDATE: To better support the community in this migration, JFrog has extended the JCenter new package versions submission deadline through March 31st 2021. To clarify, the JCenter repository will keep serving packages for 12 months until February

                                                                                    JCenter が2021年5月1日にシャットダウンすることになったので Android アプリエンジニア観点でメモをまとめた - BattleProgrammerShibata

                                                                                  新着記事