並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 237件

新着順 人気順

パッケージ管理の検索結果121 - 160 件 / 237件

  • CentOS Streamへのシフトでうろたえないための手引き

    何が起こったの? CentOSプロジェクトがCentOS Streamに開発をシフトしていくことを宣言しました。これに伴ってRHEL 8の再構築としてのCentOS Linux 8は2021年に終了予定となりました。 ref: https://blog.centos.org/2020/12/future-is-centos-stream/ CentOSはLinuxの2大ディストリビューションの一つであるRed Hat Enterprise Linuxから商用パッケージを抜いてリビルドしたバージョンです。 商用パッケージが抜いてあるため、サポート無しで良ければ無料で本番環境で利用できるという事でOSの商用サポートを必要としないようなケースでよく利用されています。 今回、CentOS Linuxが終了してCentOS Streamになる事でCentOS終了!? という感じで一瞬ビビりましたがそ

      CentOS Streamへのシフトでうろたえないための手引き
    • Amber The Programming Language

      Write your scripts in a modern type-safe and runtime-safe programming language that handles many bugs and mistakes during compilation process.

        Amber The Programming Language
      • なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決する

        なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決するShellScriptUNIXSQLitePOSIXQiitadelika 「利用者は数十億人!? SQLiteはどこが凄いデータベース管理システムなのか調べてみた」の続きです。 はじめに 複雑な構造のデータを扱うのであればシェルスクリプトや Unix (POSIX) コマンドでデータ管理を行うのは避けるべきだと思います。解決不可能な問題が多いからです。しかしそれでも何かしらの理由でやろうと考える(やらなければいけない)のであれば SQLite を使うのをおすすめします。シェルスクリプトや Unix コマンドは行単位の単純なテキストデータをシーケンシャルにデータ処理するのが前提となっており、改行や空白が含まれるデータや複雑な構造のデータ扱うのは苦手です。またシェル

          なぜシェルスクリプトで高度なデータ管理にSQLiteを使うべきなのか? ~ UNIX/POSIXコマンドの欠点をSQLで解決する
        • sudoとsuがRustで書き直される。メモリ安全性向上へ

            sudoとsuがRustで書き直される。メモリ安全性向上へ
          • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita

            はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。一つはコマンド、もう一つはシェルの文法なのですが、具体的にはこの二つは一体何が違うのでしょうか? そもそもなぜ似ている機能が二つもあるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑張って書いたので見

              シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita
            • Linux procfs 徹底入門

              これは Linux Advent Calendar 2019の 15 日目の記事です。procfs について勉強したことをまとめます。 検証環境CentOS 8 を利用する。 ]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.el8.x86_64 #1 SMP Tue Jun 4 09:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux procfs とは疑似ファイルシステムのひとつ。 ディスク上に実体は存在せず、メモリから情報を取得する。 カーネルだけが知っている情報 (例えばシステム全体のロードアベレージ/CPU負荷/メモリ利用状況や、プロセスごとの情報)が取得できる。

                Linux procfs 徹底入門
              • Linuxにおける新たなパケットフィルタリングツール「nftables」入門 | さくらのナレッジ

                たとえば、かつてiptablesで設定していたIPv4に関連するパケットフィルタリング設定は、nftablesにおいては「ip」というアドレスファミリに紐付けたテーブルを作成することで設定できる。同様に、ip6tablesやarptables、ebtablesで設定していたものはそれぞれ「ip6」や「arp」、「bridge」というアドレスファミリに紐付けたテーブルで設定する。 「inet」「および「netdev」アドレスファミリはnftablesで新たに導入されたもので、まず「inet」はIPv4およびIPv6の両方を対象にした設定を行えるアドレスファミリだ。従来IPv4とIPv6の両方にまたがったフィルタリングルールを設定したい場合はiptablesとip6tablesの両方で同じようなルールを追加する必要があったが、nftablesではinetアドレスファミリで指定することで単一の設

                  Linuxにおける新たなパケットフィルタリングツール「nftables」入門 | さくらのナレッジ
                • また make の話してる(2020年9月14日) - なにもわからない

                  私の大好きな Makefile の話が盛り上がっていたのでまとめました。 「やめてね。」って方はお声がけください。 同じ会社にいるけど、真逆の感想を持っている。Makefile読まないと副作用が分からないし、Rakefile/package.jsonだけで済むのに無駄に1つレイヤ増えていて、Makefileできたときからいる人は楽だけど、途中から入った人にとっては学習コストが高い。 https://t.co/EXtmI3xl72— 神速 (@sinsoku_listy) 2020年9月13日 golangでMakefileを使うのは分かる。 ただ、RubyやNode.jsのリポジトリなら $ git clone xxx $ cd xxx $ bundle install && rake もしくは npm install && npm test で環境構築ができることを期待する。— 神速 (

                    また make の話してる(2020年9月14日) - なにもわからない
                  • 「Windows Subsystem for Linux」が「systemd」に対応へ/「systemd」に依存するLinuxアプリケーションを「WSL」で利用可能に

                      「Windows Subsystem for Linux」が「systemd」に対応へ/「systemd」に依存するLinuxアプリケーションを「WSL」で利用可能に
                    • 「バニラ」の起源について

                      IBMのBookMasterでは、デフォルトを"vanilla"、特別な設定を"mocha"と呼んでいたらしい。 http://web.archive.org/web/20211224091337/ftp://public.dhe.ibm.com/printers/products/dcf/samples/B2H.HTM 「Chapter 6. Caveats and restrictions (what's supported and what's not!)」に以下の記述がある。 Conditional sections (.cs) and BookMaster's "vanilla" DVCF macros (.CONFIG and .WHEN) are supported, but not BookMaster's "mocha" DVCF macros (e.g. .USING,

                        「バニラ」の起源について
                      • grepを忘れただけなのに - Qiita

                        去年も『本番環境でやらかしちゃった人のアドベントカレンダー』は盛り上がりましたね。 知見が多く、関心しながら拝見しています。 人は必ず何かしらミスを起こすもの。 明日は我が身と思いながら、業務をこなす日々です。 そんな私も業界に入って1年目(前々職)に、本番環境の洗礼にあったことがございます。 当時は苦々しい思いをしましたが、その経験を供養するためにもここに残そうと思います。 発生当時の状況 事件当時、私はサーバのリプレイス案件にアサインしていました。 その業務の中で上司に日常的に運用されているスクリプトの調査を依頼されました。 私はまだ経験が浅かったため理解が合っているかは怪しいですが、関わっていたシステムは設計の段階で大分やっつけだったらしく、 格納場所が間違っているスクリプトやログが散見されました。 リプレイスを切っ掛けに整理をする予定だったと記憶しています。 入ったばかりのペーペー

                          grepを忘れただけなのに - Qiita
                        • ひさしぶりにzshに戻りました - ちなみに

                          仕事用のマシンをM1 MacBook Proに交換してもらったので、開発環境を整え直しました。 2年ほど fish を使ってきたのだけれど、普段は良いのだけれど、ちょっと自動化したくなったときに、やはりPOSIX準拠じゃないシェルはなかなか難しかった。macOSの標準も zsh になったことだし、久しぶりに戻ってみることにした。 導入 現代なので XDG Base Directory Specification に乗っかっておくことにする。 Arch Linux の Wiki がよくまとまっていて助かるのでこれを参考にして進めた。 zshの場合は ZDOTDIR を指定するといいのだけれど、これをどこで指定するのかという問題がある。zshの起動時に最初に読み込まれるユーザー設定は ~/.zshenv なのだけれど、ここに ZDOTDIR を書くということは .zshenv だけホームディレ

                            ひさしぶりにzshに戻りました - ちなみに
                          • おなじみ「ping」コマンドの生みの親が20年以上前に開発秘話を記したブログ

                            ネットワークレベルでサーバーと通信ができるか確認できる「ping」コマンドは、1983年にUNIXコマンドとして開発されて以来、サーバーの死活監視や通信速度の測定など、あらゆる場所で使われているコマンドです。そんなpingコマンドを開発したマイク・ムース氏は、2000年11月20日にレストランからの帰宅途中、高速道路で玉突き事故に巻き込まれて亡くなっていますが、ムース氏により「ping」コマンド開発秘話が綴られたブログ「The Story of the PING Program」はムース氏の没後20年となる2020年現在も閲覧することができます。 The Story of the PING Program https://ftp.arl.army.mil/~mike/ping.html ムース氏がpingコマンドについて語っているブログはアメリカ陸軍研究所のFTPサーバー「ftp.arl.

                              おなじみ「ping」コマンドの生みの親が20年以上前に開発秘話を記したブログ
                            • いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくった - Qiita

                              いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくったPythonOpenAIChatGPTlangchain はじめに ChatGPT APIが出たので早速さわってみました。せっかくなので何か便利なものをということで自分向けに使えそうなツールをつくっていたら 良いかんじに動作したのでご紹介します。 つくったものは、「ChatGPTを用いた自然言語によるシェルコマンドランチャー」です。百聞は一見にしかずと言うことでまずは動作するところをみてください。 概要 wannaコマンドは、ChatGPTを用いた自然言語によるシェルコマンドランチャーです。自然言語によって、bash scriptを生成し、名付けし、管理できます。 コマンドライン上での操作は簡単に多くのことを行うことができるため、非常に便利です。しかし、多くのコマンドやオプションの組み合わ

                                いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくった - Qiita
                              • コンテナランタイムの仕組みと、Firecracker、gVisor、Unikernelが注目されている理由。 Container Runtime Meetup #2

                                Docker MeetupとかCloud Native Daysの運営をしながら、無限にスケールするインフラはないかなって、日々もやもやと考えています。 さっそく本題に入っていきましょう。 コンテナってそもそも何ですかっていうと、まず「chroot」というLinuxの機能があって、これはrootディレクトリを特定のディレクトリに切り替えて、そこから下を別のファイルシステムとして確立する、といった技術です。 そこに対して「namespace」という機能で、ユーザー、プロセス、ネットワークを個別に割り当てて、さらにリソースにも制限をかけると、まるでVM(仮想マシン)のように動いて面白いね、というのがコンテナですよ、という説明はよくされると思います。 これを図にしました。 まず、対象のディレクトリに対して「pivot_root」という機能を使ってファイルシステムのルートを作ります。 そのうえで「

                                  コンテナランタイムの仕組みと、Firecracker、gVisor、Unikernelが注目されている理由。 Container Runtime Meetup #2
                                • パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)

                                  jq(https://stedolan.github.io/jq/)の紹介では、「JSON処理のワンライナー〈一行野郎〉としてめちゃくちゃ便利!」とアピールするのが定番です。もちろんそれは本当で、「めちゃくちゃ便利!」です。が、実は jq は、ワンライナー記述にとどまらない、かなり本格的なプログラミング言語です。 JSON処理のためのDSL〈Domain Specific Language | 領域特化言語〉なので、汎用言語ではありません。しかし、汎用言語が備えている言語機能の一部(関数定義、モジュールシステムなど)を jq も持っています。また jq は、独特で楽しいプログラミング・パラダイム -- “パイプライン指向”に基づいて設計されています。 この記事では、ワンライナーを超えた jq の使い方と、プログラミング言語としての jq の特徴を紹介します。長い記事になってしまったので、一

                                    パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)
                                  • GoogleのShell Style Guideの邦訳 - Qiita

                                    背景 (Background) どのシェルを使うか (Which Shell to Use) Bash は実行が許可された唯一のシェルスクリプト言語である。 実行可能ファイルは #!/bin/bash と最小限のフラグで始めなければならない。シェルオプションの設定に set を利用することで、 スクリプトを bash script_name として呼び出してもその機能を損なわないようにせよ。 全ての実行可能シェルスクリプトを bash に制限することで、全てのマシンにインストールされた一貫したシェル言語を得る。 これに対する唯一の例外は、コーディング対象によって強制される場合である。この1つの例として、Solaris SVR4 パッケージは、どんなスクリプトにも plain Bourne shell であることを要求する。 いつシェルを使うか (When to use Shell) シェル

                                      GoogleのShell Style Guideの邦訳 - Qiita
                                    • 11種類のオペレーティング・システムについてまとめてみた - Qiita

                                      TL;DR 「オペレーティングシステム?知ってるよ。WindowsとかMacのことだよね」というぐらいの知識だった私が、二週間ほどひたすらWikipediaでインプットしまくったクソ浅い情報を共有します。 最初の動機 「Go言語が対応しているアーキテクチャってなんだろ?」 Go言語には環境変数をコンパイラに渡すことで、出力されるバイナリの対応するOSとアーキテクチャを変えることができます。 GOOS がオペレーティングシステム(OS)、 GOARCH がアーキテクチャです。 こんな感じにビルドすると、 linux というオペレーティングシステムで、 ppc64 というアーキテクチャに対応したバイナリが出力されます。 なるほど。 じゃあ、 Go言語が対応しているOSとアーキテクチャって何があるの? と疑問が湧いてきますね。 その疑問に応えるコマンドが go tool dist list です

                                        11種類のオペレーティング・システムについてまとめてみた - Qiita
                                      • chmod -R 777 /usr を実行したCentOS7で、一般ユーザがroot権限を得られることを確認する - Qiita

                                        chmod -R 777 /usr を実行したCentOS7で、一般ユーザがroot権限を得られることを確認するLinuxSecurityrootpermission Teratailで、suコマンドでrootログインできないという質問があり、てっきり/etc/pam.d/suまわりの設定かと思いきや、そうではなく、自己解決で説明された原因に一同驚愕ということがありました。 /usr/share/nginx/html に権限を追加したくて、横着して chmod 777 -R /usr とコマンド実行した記憶があります。 CentOS7、suコマンドでrootにログインできない、パスワードは絶対あっているのになぜ? /usr 以下のパーミッションをすべて777に設定したら、逆に動くべきものが動かなくなる例なのですが、これをやるとセキュリティ上問題であることは言うまでもありません。究極的には、

                                          chmod -R 777 /usr を実行したCentOS7で、一般ユーザがroot権限を得られることを確認する - Qiita
                                        • 軽量でインストールも簡単なシングルバイナリのKubernetesディストリビューション「k0s」、Mirantisがオープンソースでリリース。LinuxとWindowsに対応

                                          米Mirantisは、軽量かつシングルバイナリで、インストールや運用も簡単なKubernetesのディストリビューション「k0s」をオープンソースとしてリリースしました。 新しい Kuberentes distro, #k0s が OSSで公開されました! 軽量、ワンバイナリ、Intel/ARM対応、アップデートも簡単! チェックしてみてください!https://t.co/B4gBUPWau2 — Mirantis Japan (@Mirantis_JP) November 13, 2020 対応するOSはLinuxとWindows(今後リリース予定)。プロセッサはIntelとARMに対応します。 軽量かつ簡単に導入できて運用も容易 k0sは、「100% upstream vanila Kubernetes distro」(100%純正で色付けのないKubernetesディストリビューショ

                                            軽量でインストールも簡単なシングルバイナリのKubernetesディストリビューション「k0s」、Mirantisがオープンソースでリリース。LinuxとWindowsに対応
                                          • 登大遊氏、日本は「超正統派」のICT人材を育成すべき。そのために、自由な試行錯誤を許容するインチキネットワークの普及に取り組む(中編)。JaSST'22 Tokyo

                                            登大遊氏、日本は「超正統派」のICT人材を育成すべき。そのために、自由な試行錯誤を許容するインチキネットワークの普及に取り組む(中編)。JaSST'22 Tokyo 2022年3月10日と11日の2日間、ソフトウェア業界のテスト技術力の向上と普及を目指すイベント「ソフトウェアテストシンポジウム JaSST'22 Tokyo」がオンラインイベントとして開催されました。 イベントの最後には、招待講演として登大遊氏による講演「世界に普及可能な日本発の高品質サイバー技術の生産手段の確立」が行われています。 この記事ではその講演の内容をダイジェストで紹介します。記事は前編、中編、後編の3つに分かれています。いまお読みの記事は中編です。 正統派と超正統派 今日お話するのは、「正統派」と「超正統派」という概念です。 正統派というものは人の作ったクラウドを使う。これはもう十分に育成できると思います。 そし

                                              登大遊氏、日本は「超正統派」のICT人材を育成すべき。そのために、自由な試行錯誤を許容するインチキネットワークの普及に取り組む(中編)。JaSST'22 Tokyo
                                            • ドイツでは航空交通管制にEmacsが使われていた

                                              https://old.reddit.com/r/emacs/comments/lly7po/do_you_use_emacs_lisp_as_a_general_purpose/ 1990年代初頭、東欧革命で東西ドイツが統一したあと、私は厄介な仕事、というか誰もやりたがらない仕事に派遣された。ある月曜日の朝、DASAの工場に入った(DASAというのは当初ドイツ航空で、そのあとダイムラー航空になり、今はエアバスに吸収された) プロジェクトはDASAからHPが受注したもので、東西のATC(航空交通管制)システムを統一するというものだった。つまり2つの大企業と政府からの発注ということで、うちのような受注会社はおこぼれを預かっていたわけだ。Emacsの話は実は2つある。 最初の話。その月曜日の朝、手助けする開発者達と顔合わせした。彼らは素晴らしいものに囲まれた研究所にいた。最新のHPワークステー

                                              • あの日見たLinuxのディレクトリやコマンドのフルネームを僕達はまだ知らない - Qiita

                                                はじめに Linux利用歴はそこそこありますが、よく使うディレクトリやコマンドのフルネームを全て知っているかというと、そうでもないなと思ったので、今回はそれについてまとめてみました。 特にLinux初学者の方にとっては、各ディレクトリ名やコマンド名は何の略称かを知っておいた方が、覚えやすいと思うので、ぜひ参考にしていただければと思います。 注意事項 本記事では、よく使うディレクトリやコマンドの中で略称になっているもののみを取り上げています。すべてのディレクトリやコマンドを網羅しているわけではありません。 略称のフルネームがすべて明確に文書化されているわけではありません。これらの略称は、元々UNIXや他のプラットフォームで使用されていたものや、開発者やコミュニティの独自の規則や慣習に基づいています。 Linuxディストリビューションによっては、独自の命名規則や用途を持っている場合もあります。

                                                  あの日見たLinuxのディレクトリやコマンドのフルネームを僕達はまだ知らない - Qiita
                                                • チルダ(~)はどうしてホームディレクトリになるのか - Lambdaカクテル

                                                  たまに忘れてコケたり,周りでも困っている人がいるようだったのでメモ. 追記(2020-09-06T11:25+09:00) この記事では仕組みのほうについて記述しており,由来については書いてなかったのですが,ブコメでホームディレクトリがチルダで表記されるようになった由来について幾人かの識者にご指摘いただきました. unix.stackexchange.com ちょうどHOMEキーと同じ場所にチルダキーがあったんですね.ありがとうございました. tl;dr ~/は$HOME/と同義である ~/が$HOME/に,ひいては実際の$HOME/の中身に展開されるのはシェル(e.g. bash, zsh, etc...)の拡張機能 シェルを使わなければその機能は使えないので,手で展開する必要がある シェルを使わない状況: プログラム中からパスをいじるような場合,DockerfileのCMDなど ~--

                                                    チルダ(~)はどうしてホームディレクトリになるのか - Lambdaカクテル
                                                  • Docker社、WSL 2に最適化した「Docker Desktop for WSL 2」来月リリース。Windows 10でLinux版Dockerを実現、Kubernetesも1クリックでセットアップ

                                                    Docker社、WSL 2に最適化した「Docker Desktop for WSL 2」来月リリース。Windows 10でLinux版Dockerを実現、Kubernetesも1クリックでセットアップ Docker社は、WSL 2に最適化した「Docker Desktop for WSL 2」テクニカルプレビューを来月公開する予定であることを明らかにしました。 The Future of #Docker Desktop for #Windows https://t.co/3xNkXc2aoY via @sferquel pic.twitter.com/HKsMraXJKH — Docker (@Docker) 2019年6月17日 WSL 2は、Windows 10上でLinux環境を実現する「Windows Subsystem for Linux(WSL)」の次期版。Windows

                                                      Docker社、WSL 2に最適化した「Docker Desktop for WSL 2」来月リリース。Windows 10でLinux版Dockerを実現、Kubernetesも1クリックでセットアップ
                                                    • grep の「バイナリファイル (標準入力) に一致しました」が出る条件を調べていたらそれは長い旅路の始まりだった。

                                                      はじめに 昨今では1行につき、1つの JSON を出力する様なログファイル形式も珍しくはありません。 grep しやすい データベース化しやすい これらの理由で各所で多く使われています。僕も仕事で普通に使っているのですが、ある日突然そのログファイルを集計するスクリプトで以下の様なエラーが出始めました。

                                                        grep の「バイナリファイル (標準入力) に一致しました」が出る条件を調べていたらそれは長い旅路の始まりだった。
                                                      • Linuxカーネルビルド大全 - Qiita

                                                        はじめに (本記事は Linux Advent Calendar 2020 および 東京大学 品川研究室 Advent Calendar 2020の11日目の記事として書かれました。) カーネルのビルドについての情報はググると色々と出てきますが、「ここを見ればOK」と思えるサイトに巡り会えていないので、自分で書いてみることにしたのが本記事です。 いずれLinuxカーネルをビルドする必要にかられるであろう研究室・学科の後輩や、忘れっぽい将来の自分のためにも、改めてLinuxカーネルのビルド方法についてまとめてみたいと思います。 概要 さて、「カーネルをビルドしよう」という状況に置かれた場合、実際にすべきことは主に以下の4点だと思います。 ソースコードの取得 ビルド環境の構築 カーネルコンフィグの準備 ビルド及びインストール そこで本記事では、カーネル本体のビルド上記の4点の他、関連して以下の

                                                          Linuxカーネルビルド大全 - Qiita
                                                        • Linuxの面白いコマンド9選 - Qiita

                                                          はじめに Linuxの面白い(あんまり使い道のないどうでもいい)コマンドを9個まとめてみました。暇な時ぜひ試してみてください! ※環境によっては、コマンドのインストール方法が異なる場合があるので、本記事ではインストール方法を記載しません。 1.メッセージをつぶやくウシ cowsay cowsayは、メッセージをつぶやくウシ(オプションで他の動物を指定することも可能)のアスキーアートを生成するプログラムです。 下記コマンドを実行すると、「Hahaha」というセリフを言うウシが表示されます。 $ cowsay Hahaha ________ < Hahaha > -------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || $ cowsay -f turtle Hahaha ________ < Hahaha > -------- \ __

                                                            Linuxの面白いコマンド9選 - Qiita
                                                          • なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?

                                                            回答 (3件中の1件目) なかなか理解しづらい話だと思いますが、当時のベル研究所において、Unixのグループは濃密な知のルツボだったのです。B言語が発明されるとすぐに、十数人の人々が使い始め、良かったところと悪かったところのフィードバックが集まりました。デニスは数日後にはインタプリタ言語だったB言語をコンパイラ化し、古いバージョンを分かりやすいところに置いていました。B言語のユーザーは、バグを見つけるとデニスにメールし、バグが直るまで古いコンパイラを使っていました。 B言語をC言語に改名した主な理由は2つあります。まずB言語(とBCPL)は、CPUのアドレスがバイト単位ではなくてワード...

                                                              なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?
                                                            • crontabを捨てsystemdに定期実行を任せよう。 - Qiita

                                                              Linux環境で定期的に実行させたい処理はcronで処理するのが一般的かと思います。 30分毎に exec.sh を実行する。

                                                                crontabを捨てsystemdに定期実行を任せよう。 - Qiita
                                                              • 今どきのシェルスクリプトは数値計算にexprを使わない(POSIX準拠) - Qiita

                                                                はじめに 1992 年に POSIX でシェルが標準化されて以来、シェルスクリプトの数値計算に expr コマンドは使いません。expr コマンドを使って計算していたのは Bourne シェル(古い UNIX の sh)時代の話で、現在の POSIX sh (dash、bash、ksh 等)時代では数値計算に expr コマンドは不要です。今どきはシェルの機能だけで整数の計算を行うことができます。「今どき」って一体いつからだって話なわけですが……。 注意 シェルスクリプトでパフォーマンスの話をするとすぐに「他の言語で〜」という方がいますが、私はどんなことにでもシェルスクリプトを使えなんて一言も言っていません。パフォーマンスを気にしている理由は、そこが実際にシェルスクリプトのボトルネックになるポイントだからです。そもそもシェルスクリプトと一般的な言語は言語設計レベルで得意なことが違います。ユ

                                                                  今どきのシェルスクリプトは数値計算にexprを使わない(POSIX準拠) - Qiita
                                                                • 10年間バックエンドエンジニアとして働いた人がよく使っているコマンド

                                                                  皆さんのよく使うコマンドの状況とかも知りたいので書いていただけると嬉しいです。 概ねデフォルトで入っているコマンドのみ記入してます。(gitとかは除外してます) 詳しいオプションやその他の使い方は別途調べるのが吉です。 これからコマンドを学ぶ人は を参考にすると良いかと思いました。 調べなくてもコマンドを思い出せる ls ファイル、フォルダ確認したい時

                                                                    10年間バックエンドエンジニアとして働いた人がよく使っているコマンド
                                                                  • 「Visual Studio Code」で「WSL 2」上のリモートコンテナを使用するには、Microsoftが解説

                                                                    「Visual Studio Code」で「WSL 2」上のリモートコンテナを使用するには、Microsoftが解説:Windows 10でDocker Desktop Stableを効果的に活用する Microsoftは2020年7月1日(米国時間)、「Visual Studio Code」(VS Code)で「WSL 2」(Windows Subsystem for Linux 2)にあるリモートコンテナを使用する方法を「Visual Studio Code Blog」で紹介した。 WSL 2は、Microsoftが2020年5月にリリースした「Windows 10 バージョン2004」(May 2020 Update)に標準搭載された。Dockerも2020年5月に、バックエンドとしてWSL 2をサポートした「Docker Desktop for Windows」(Docker De

                                                                      「Visual Studio Code」で「WSL 2」上のリモートコンテナを使用するには、Microsoftが解説
                                                                    • tail -F /path/to/access.log のようなストリームに対して何度でもgrepを試行錯誤できるツール filt を作った - Copy/Cut/Paste/Hatena

                                                                      filtというツールを作りました github.com これはなに まずは以下のスクリーンキャストをご覧ください tail -F /path/to/access.log のようなログの流れを止めてはgrepをして、止めてはgrepのコマンドを変更してしています。 その間、実は裏では実際のストリームは止めていません。 つまり、ストリームのパイプ先に まずfiltを指定しておく ことで、ストリーム自体は止めずに、パイプ先のコマンドを 後で何度でも 変更できます。 grepやsedやawkが下手なので何度も試行したい 私はgrepやsedやawkなどのコマンドを一発で指定できるほど練度が高くないので、コマンドを組み立てるために何度も Ctrl+C でキャンセルしては再実行の繰り返しをしていました。 最近は stern や Harvest などでKubernetesのPodのログを流すことをもある

                                                                        tail -F /path/to/access.log のようなストリームに対して何度でもgrepを試行錯誤できるツール filt を作った - Copy/Cut/Paste/Hatena
                                                                      • 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がすごい件
                                                                        • UNIXシェルの並列化により最大34倍高速化する「PaSh」、米MITなどが開発 プログラム結果も正確

                                                                          Innovative Tech: このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 米ペンシルベニア大学、米MIT、ポーランドのXIV Staszic High School、米国の研究機関Aarno Labs、米Stevens Institute of Technologyによる研究チームが開発した「Practically Correct, Just-in-Time Shell Script Parallelization」は、UNIXシェルで実行されるプログラムの速度を精度を保証しながら劇的に加速させるシステムだ。 このシステムはUNIXシェルにおいて、スクリプトを先読みして並列化を行う。これによりプログラム結果を正確な上で最大34倍高速化し、Webインデックスや自然

                                                                            UNIXシェルの並列化により最大34倍高速化する「PaSh」、米MITなどが開発 プログラム結果も正確
                                                                          • Goのソースコード内のトリビア - YAMAGUCHI::weblog

                                                                            はじめに こんにちは、StackdriverあらためGoogle Cloud Operations担当者です。Google Cloud Operationsもさることながら、Go Conferenceの運営など、長らくGoコミュニティに関わってきましたが、まだまだ知らないことがあったということを昨日今日で知ったので共有します。 time.minWall time.minWall という値があります。 src/time/time.go - go - Git at Google const ( hasMonotonic = 1 << 63 maxWall = wallToInternal + (1<<33 - 1) // year 2157 minWall = wallToInternal // year 1885 nsecMask = 1<<30 - 1 nsecShift = 30 ) こ

                                                                              Goのソースコード内のトリビア - YAMAGUCHI::weblog
                                                                            • Efficient Linuxコマンドライン

                                                                              Linuxスキルをレベルアップする実用的な実践書。本書では、コマンドを組み合わせて複雑なコマンドを作成することで、手動で行われているタスクを自動化するための方法を学びます。具体的には、パスワードの管理、大量のテストファイルの生成、テキストファイルを変換してデータベースのように扱う方法など、現実的なビジネスの問題を解決する方法を明らかにします。単なるテクニックではなく、背後で何が行われているかについても学べるので、Linuxのシェルに対する理解が深まります。それと同時に、Linuxコマンドに関するさらに上級レベルの知識とテクニックが身につきます。 賞賛の声 監訳者まえがき まえがき 第I部 主要な概念 1章 コマンドの組み合わせ 1.1 入力、出力、パイプ 1.2 コマンドラインに取り掛かるための6個のコマンド 1.2.1 コマンド① wc 1.2.2 コマンド② head 1.2.3 コマ

                                                                                Efficient Linuxコマンドライン
                                                                              • Linuxのfree コマンドの見方とオプション ~availableやbuff/cacheの定義~

                                                                                メモリの状態確認コマンド freefree コマンドはメモリの利用状態を確認することができます。 例えば以下のように表示されます。(数値の単位は KiB= 1024 Bytes) [root@localhost ~]# free total used free shared buff/cache available Mem: 3868920 197528 3402296 8680 269096 3444844 Swap: 839676 0 839676ヘッダ (total, used, free, shared, buff/cache, available) のそれぞれの関係は下図の通りです。 このコマンドで、メモリの空き状況を確認したいのであれば、free を見るよりも available を見ましょう。 というのも、Linux の特性として「空きメモリを無駄にしない」という設計思想の元

                                                                                  Linuxのfree コマンドの見方とオプション ~availableやbuff/cacheの定義~
                                                                                • なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita

                                                                                  Unix 哲学的に考えれば、行を並び替える sort コマンドと重複行を取り除く uniq コマンドは別のコマンドであるべきなように思えます。しかし sort コマンドには -u オプションとして uniq コマンドに相当する機能が組み込まれています。なぜそうなっている(そうなってしまった)のかを「ソフトウェア作法(さくほう)」を参照しながらこの記事で明らかにしたいと思います。 関連記事 Unix哲学「一つのことをうまくやる」は単機能のコマンドを作ることではない 「誰」がuniq機能をsortコマンドに組み込んだ!? 熱烈的な Unix 哲学の信者は「どうせ Unix 哲学を理解しない GNU が便利だと思ってオプションを追加したのだろう」と考えるかもしれません。しかし uniq 機能が組み込まれたのは Version 7 Unix、つまり Unix の開発者が組み込んだのです。これは 1

                                                                                    なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita