並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 11666件

新着順 人気順

シェルスクリプトの検索結果121 - 160 件 / 11666件

  • 自作Linuxコンテナの時代 - ゆううきブログ

    最近、Docker以外のコンテナ型仮想化技術の流れとして、自作コンテナエンジンの時代が来るのではないかと感じている。 自作コンテナエンジンとは、コンテナ型仮想化技術を構成する個々の要素技術を組み合わせ、自分の用途にあわせて最適化したコンテナエンジンのことだ。 他のOSのコンテナ仮想化技術について疎いため、以下ではLinuxに限定して話を進める。 概要 Dockerも含めて、Linuxコンテナはコンテナを構成する複数の要素技術の組み合わせである。自分のやりたいことに対して、Dockerをはじめ既存のコンテナエンジンが複雑すぎるケースがある。そこで、自分の用途にあわせてコンテナエンジンを自作することを考えてみる。libcontainerに代表されるように、Linuxコンテナエンジンを自作しやすい環境が整いつつある。今後は、巨大なコンテナエンジンに対して、UNIX哲学に基づいて制御可能な小さなコ

      自作Linuxコンテナの時代 - ゆううきブログ
    • 最高のプログラミング言語(または私は如何にして心配するのを止めてコードを愛するようになったか) | POSTD

      常に世界のどこかで誰かが、この世で一番のプログラミング言語は何かというトピックで投稿し、忘れ去られた言語のすばらしい一面や、新しい言語の有用性を主張しています。どうやら、その順番が私に回ってきたのかもしれません。そろそろ私も、プログラミング言語についての自分の考えを皆さんにお伝えしようと思います。 始めに少し言い訳をさせてください。30以上の言語で開発した経験があり、他の人が書いた多くのコードと悪戦苦闘をしてきた開発者でもない限り、「自分の意見には客観性がある」とはとても言えないと思います。そんなわけで、このトピックを取り上げる他の多くの人と同じように、私の意見も偏っています。多くの言語に精通した開発者がこの話題自体を不毛だと感じるのは、このせいかもしれませんね。 要約: すばらしい言語 早速、このブログ限定ということで、私が考える”すばらしい言語”を発表しましょう。 アセンブリ言語: マ

        最高のプログラミング言語(または私は如何にして心配するのを止めてコードを愛するようになったか) | POSTD
      • 新 GitHub Actions 入門 - 生産性向上ブログ

        github.blog GitHub Actions の新バージョンが 8/8 に発表されました。 www.kaizenprogrammer.com 自分は過去にも旧バージョン時に GitHub Actions の入門記事を書いていたのですが、新バージョンがこれまでと大きく変わってしまっているので、この記事ではあらためて GitHub Actions についていろいろ調べたり動かしてみたりした内容をまとめます。 目次 注意事項 GitHub Actions とは これまでの GitHub Actions とどこが変わったか コンセプト マルチプラットフォーム対応 HCL から YAML へ 料金 その他 GitHub Actions と Azure Pipelines 簡単な例 (Hello, World) ワークフローの設定 ワークフローとは ワークフローを実行するイベント ワークフロー

          新 GitHub Actions 入門 - 生産性向上ブログ
        • 本番サーバー60台のホスト名を全部 cat にしてしまった話 - Qiita

          この記事は、本番環境などでやらかしちゃった人 Advent Calendar 2023 の4日目です。年末進行、いかがお過ごしでしょうか?みなさま無事に仕事が納まることを願っております… 新人インフラエンジニアが、本番ウェブサーバー60台のホスト名を全部 cat にしてしまった話について、ここに供養させていただきたいと思います 背景 おそらく今から7年くらい前、インフラエンジニアとして転職してきて1年ほどが経ち、本番環境での作業もこなれてきたなというバッチリのタイミングで事を起こしてしまいました。サーバーは CentOS 6 だったと思います。 職場としてはまだまだベンチャー感にあふれ大きな裁量が与えられスピード感のある環境ながら、サービスの登録ユーザー数は1,000万を超え、本番環境の規模としては既になかなかの大きさがあり、ウェブサーバーだけでも60台くらいあったと思います。ひと山につき

            本番サーバー60台のホスト名を全部 cat にしてしまった話 - Qiita
          • 達人出版会:技術系電子出版・電子書籍

            探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 Blenderでアニメ絵キャラクターを作ろう!トゥーンレンダリングの巻 夏森轄 サイバーセキュリティの教科書 Thomas Kranz(著), Smoky(訳), IPUSIRON(監訳) ゲーム作りで楽しく学ぶ オブジェクト指向のきほん 森 巧尚 ブランドスイッチの法則 田中 宏樹 Blenderでアニメ絵キャラクターを作ろう!モデリングの巻 夏森轄 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶

              達人出版会:技術系電子出版・電子書籍
            • 開発環境としてのデスクトップLinuxのススメ - 今日学んだこと

              前回の更新からかなり時間があいてしまいました。 ネットに規制がかかるかの国へ出張してたのと、本題であるLinuxデスクトップ環境を構築してたりしてで。 デスクトップLinux? ここではサーバー用途との対比語として利用しています。実際はノートPCにインストールしてたりします。 なんでオススメ?結論はよ 構成によってはという前置き付きですが、軽いです。めちゃくちゃ軽いです。 今このブログを書いているのもlenovoのx100eという約5年前のネットブックだったりするんですが、メインマシンとしているMac mini Late2012 梅モデルより断然軽いです。 特にはてなブログの管理画面って、しょっちゅう固まるんですよ・・・。加えて、我が家の子は日本語入力さえしょっちゅう引っかかる。それがない。まさかネットブックが僕をストレスから開放してくれるとは思ってませんでした。 参考までに、x100eの

                開発環境としてのデスクトップLinuxのススメ - 今日学んだこと
              • xargs を使ってカジュアルに並列処理 - たごもりすメモ

                シェルからでも重い処理というのはちょこちょこあって、例えば超デカいログファイルを移動して圧縮したりというお仕事は世界中のあらゆる場所で毎日行われていたりする。コマンドラインからでも大量の圧縮済みログファイルをいっぺんに展開したい、とか。 あるディレクトリ以下に存在するたくさんのファイルを(圧縮済みのものを除いて)全部 bzip2 圧縮したい!と思ったら、とりあえずさくっと次のようにコマンドラインで叩けばいい。 $ find . -not -name '*.bz2' | xargs bzip2 これで、まあそんなに問題なく効率的にbzip2圧縮ができる。だがしかし。 最近は複数コアのCPUが普通に転がってるし、あまつさえHyperThreadingが有効になってたりしてOSから見える論理CPU数がハンパない。普通に8とかある。その一方で複数コアを使用してくれるコマンドというのはあんまりなくて

                  xargs を使ってカジュアルに並列処理 - たごもりすメモ
                • 東大のCPU実験で自作コア上の自作OS上で自作シェルを動かした話 - 旅する情報系大学院生

                  東大の情報科学科では3年の秋学期にCPU実験という、自分たちでCPU、コンパイラ、シミュレーターを作ってレイトレーシングを動かすことが単位要件の名物実験があります。僕らの班では12月初旬に単位要件を満たすCPUは出来ていたので、2/20にあった成果報告会までの間にIwashi班という自作CPU上でlinuxを動かすことを目標とした余興班を作ってこのエントリのタイトルにあるような結果に終わったのでその報告をしたいと思います。 コンテキストスイッチしている画像: 目次 目次 対象とする読者 自己紹介 できたこととできなかったこと 技術的な詳細 ISA よかったところ 悪かったところ 結論 ステート管理 Floating point UART 自作OS/Shellの仕様 動機 やること 実装方針 増えるレジスタ 増える命令 MMUの挙動 タイマ割り込みの挙動 iretの挙動 Kernelの実装

                    東大のCPU実験で自作コア上の自作OS上で自作シェルを動かした話 - 旅する情報系大学院生
                  • 最近、httpstat なるものが流行っているらしい - tellme.tokyo

                    github.com おそらく先行実装は python で書かれたこれです。 curl にはウェブサイトの応答時間を計測する機能が搭載されており、このツールではそれを利用して出力結果をグラフィカルに表示させています。単なる curl のラッパーのようなツールなのですが、見た目がリッチになるのに加えて、単一ファイルで実行でき python のバージョンに影響されないような工夫がされているのが、受けているポイントのような気がします。 このツールを見たとき「Go で書いてみるの良さそう!(この手のツールで単一バイナリになるのは嬉しいですよね)」と思い、休憩時間やお昼休みなどにちまちま書いていたら、二日前に先を越されてしまいました(そりゃそうですよね。なんでもスピードが大事だと痛感)。 github.com また、ついこの間まで 800 Stars くらいだったのですが、ここ1週間で爆発的に伸びて

                      最近、httpstat なるものが流行っているらしい - tellme.tokyo
                    • シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita

                      シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくるShellScriptBashUNIXshellPOSIX はじめに シェルスクリプトの変数代入で = の前後にスペースを置くことができない理由は、検索すれば「プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話」のような記事がすぐに見つかります。記事に書いてあるとおり変数代入とコマンド呼び出しと区別がつかないからです。それは間違いではないんですが、私はもう少し説明が足りないと感じています。そこで今回は = の前後にスペースを置けない本当の理由を解説したいと思います。 の前に皆さんにはこの話を読みながら、自分がシェルスクリプトの言語設計者だったとしたら、どういう言語仕様にするかを考えて欲しいです。なぜかと言うとシェルスクリプトの文

                        シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita
                      • (解消されました!)GPL違反状態になっていたNEOGEO Arcade Stick Proの解析情報 - honeylab's blog

                        先ほど確認したところ、OSSのソースコードのリポジトリが公開されたようです。 以下、一旦打消し線扱いにします。 https://github.com/xudarren/NeogeoASP_OSS honeylab.hatenablog.jp 先日発売され、分解していろいろ遊んでいる NEOGEO Arcade Stick Proですが、 (以前の記事を読んでいない方はこちらを先にお読みいただくとより詳しいです) honeylab.hatenablog.jp honeylab.hatenablog.jp 解析しているうちに、以下のソフトで構成されていることがわかっています。 ・OS Linux 3.4.0+ (Android kernel for Actions semiconductor Soc ATM7029) ・エミュレータ "mvsnjemu" ・ソフトウェア ・SNK_MAIN (

                        • Linux Square全記事インデックス

                          Linux Squareフォーラムに掲載されている全記事にアクセスできるインデックスです。このページを見れば、Linux Squareフォーラムのすべてが分かります。また、インデックスは記事の追加とともに拡充していきます。

                          • 駆け出し時代の自分に読ませたかった技術書18選 遠回りをしまくった自分に送りたい

                            どうもお疲れ様です。MESIです。 これは私が駆け出しの新卒1年目の頃でしょうか。 ある社内のつよつよエンジニアからこう言われました。 「MESIよ。流行りのフレームワークの使い方を覚えるのではなく、土台を理解しなさい」 彼はそう言い残すと1冊の本を残し会社を去っていきました。 これ。 託された本を読んでみたものの当時の私には難しすぎました。 理解ができないのですが、何が理解できないのかがわからない。そんな状態でした。 毎日この本とにらめっこをしましたが、時間だけが過ぎていきました。 大学でコンピュータサイエンスを全く学んでいない状態で入社した当時の私には難しすぎたのです。 私は諦めずにOS関連の低レイヤーの本を読み出しました。そして以下のループにハマりました 本の内容が理解できない ↓ 本を理解するために別の本を読む ↓ 理解できないのでまた別の本を読む いきなり難しい本にチャレンジをし

                              駆け出し時代の自分に読ませたかった技術書18選 遠回りをしまくった自分に送りたい
                            • 【入門】インフラやるなら知っておきたいトピックのリンク集 - Qiita

                              インフラをやるうえで知っておきたいトピックを独断と偏見で選んでリンク集をつくりました. HTTP HTTP入門 [BurpSuiteJapan]HTTP基礎入門 RESTful API Web API入門 RESTful API 入門 KVS key-valueストアの基礎知識 KVS 超入門 - footmark NoSQL HBaseの概要とアーキテクチャ | Think IT(シンクイット) Oracle Cloud Hangout Cafe - 明解! NoSQLの勘所 - Speaker Deck データベース 2018-11-データベース / 2018-11 database - Speaker Deck SQLをはじめよう - 初心者でもわかる、構文とデータ取得の基本 - エンジニアHub|若手Webエンジニアのキャリアを考える! RDBとNoSQLにみるDB近現代史 データ

                                【入門】インフラやるなら知っておきたいトピックのリンク集 - Qiita
                              • シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita

                                はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、本当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シェルスクリプト特有の問題、シグナルやトラップ、サブシェルや子プロセスの問題、さらには特定のシェル固有の仕様やバグなどさまざまな問題に対処する必要があり大変です。独自実装の例では古いロックファイルが残ってしまい、それをいつどのタイミングで片付ければ安全なのか?

                                  シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita
                                • はてなブックマーク開発ブログ

                                  はてなブックマークのブックマーク数が多い順に記事を紹介する「はてなブックマーク数ランキング」。9月4日(月)〜9月10日(日)〔2023年9月第2週〕のトップ30です*1。 順位 タイトル 1位 OpenInterpreter / ついにAIがガチのアシスタントに!これは凄い、というか凄すぎる|shi3z 2位 元給食営業マンが「ホーユー」の学校・警察での給食提供停止騒動の原因をざっくり解説してみた。 - Everything you've ever Dreamed 3位 横向きA4サイズの現代アート。霞が関の「ポンチ絵」はどうして生まれたか? その知られざる使命とは|narumi 4位 ダイヤモンドにかかった魔法が解ける日。天然ダイヤの終焉?|nayadia 5位 小児性愛者だけど生きるのが辛い 6位 ジャニーズ事務所、ブランド名を温存について(9/8追記) - はてブの出来事 7位 (

                                    はてなブックマーク開発ブログ
                                  • 使えるとちょっと便利なSSHのTIPS

                                    こんにちは、牧野です。久々の、9か月以上ぶりのブログです。。 仕事では、ここ1年近くずっっとインフラ関係のことをやっていました。 今日は、SSHに関するTIPSを紹介します。 1. 特定のサーバーにSSHログインする時に、特定の設定を使用する ホームディレクトリ/.ssh/configファイルに設定を書いておくと、特定のサーバーにログインする時に、自動的に特定の設定を使うようにできます。 SSHのオプションをサーバーによって分けたい時に入力が楽になります。 以下は、xxx.yyy.zzz.aaaでアクセスする時に使う秘密鍵をid_rsa_testに設定しています。 .ssh/config Host xxx.yyy.zzz.aaa IdentityFile /home/asial/.ssh/id_rsa_test 2. ホストキーをチェックしないようにする LinuxからサーバーにSSH接続

                                      使えるとちょっと便利なSSHのTIPS
                                    • One-liners | Basic | Cheat sheet | Linux Command Library

                                      $ wget --random-wait -r -p -e robots=off -U mozilla http://www.example.com

                                        One-liners | Basic | Cheat sheet | Linux Command Library
                                      • 7年間使ってきたWordPressを捨ててContentful+Gatsby+Netlifyにしたら爆速になったし経緯とか教訓とか語る - Qiita

                                        7年間使ってきたWordPressを捨ててContentful+Gatsby+Netlifyにしたら爆速になったし経緯とか教訓とか語るWordPressReactNetlifygatsbycontentful こんにちは、古都ことと言います。普段はブログやらなんやらをやっているのですが、今回ブログのお引っ越しをしたのでその経緯などについてお話ししたいと思います。 先にまとめ ブログをVPSとWordPressで7年間運営してきた 速度面やメンテナンス面でそろそろガタがきていた Contentful+Gastby+Netlifyの構成に移行した Lighthouseで高スコア叩き出せた 技術選択って難しいね 運営しているブログ Subterranean Flower Blogというブログをやってます。 主にフロントエンド周りのことを取り扱っており、たまにマリオ64の記事や、転職の記事などでも

                                          7年間使ってきたWordPressを捨ててContentful+Gatsby+Netlifyにしたら爆速になったし経緯とか教訓とか語る - Qiita
                                        • Webエンジニア1年目の自分に捧げたい本・記事を超まとめ - Qiita

                                          そろそろWebエンジニア3年目の折り返しになるので、Webエンジニアとして働く中でこれまで読んできた情報たちをまとめようと思い立ちました。 エンジニア3年目の今だからこそまとめられる情報として、「エンジニア1年目の1年間で読んでおきたかったな〜。」という本と記事をまとめておきます。 まとめ始めたら楽しくなってしまい、情報量が多くなってしまった...。全部手に取るのは不可能だと思うので、サーっと目を通して見て興味が湧いた本や情報を手にとっていただけると良いかと。 これからWebエンジニアになる人、Webエンジニア1年目の人の参考になれば幸いです。 これは何? Webエンジニア1年目が仕事を進める上で絶対に求められるであろう知識を、技術力・Web知識・仕事の進め方・キャリアの観点からまとめました。 「これだけ読んでおけば絶対大丈夫!!」という安易なものではありませんが、「どんな知識を学べばいい

                                            Webエンジニア1年目の自分に捧げたい本・記事を超まとめ - Qiita
                                          • シェルスクリプトの処理境界が鮮明になる「名前付きブロック記法」なるものを考えてみた

                                            シェルスクリプトは長くなると処理の境界が不鮮明になりがち。 コメントで処理の境界を表現する工夫はよく見かけるが、もっと良い方法はないか考えてみた。 :コマンド、&&演算子、複合コマンド()や{}を組み合わせて書くと、処理の境界線がはっきりする。

                                              シェルスクリプトの処理境界が鮮明になる「名前付きブロック記法」なるものを考えてみた
                                            • 僕は僕にどういう教育を授けたか - 怠惰を求めて勤勉に行き着く

                                              まえがき 会社の若い子に「情報系出身でもないのに一体どうやって勉強してきたんですか?」と聞かれたのでランチを食べながら「こんな本読んだ。これもタメになった。あ、これもタメになった」とKindleを広げながらリストアップした。思い返せばたくさん本を読んだ。その中には役に立ったものもあれば時間の無駄だったものもある。すると「あ、役に立った本だけ抽出したら有益かもしれないな」と思ったのでエントリにする。 僕は文章を簡潔に分かりやすくまとめる才能が致命的にないのでこのエントリもげっそりするほど長い*1が、2017年も暮れなのでここはひとつ日本酒でもかっ喰らいながら自分の人生を振り返ってみようと思う。 無理やり要点をまとめるならば、 TCP/IPの知識 Linuxの知識 なにかひとつプログラミング言語 なにかひとつGUIシステムの理解 アルゴリズムとデータ構造 強運*2 を身につけたらどんなに低く見

                                                僕は僕にどういう教育を授けたか - 怠惰を求めて勤勉に行き着く
                                              • Cコンパイラをスクラッチから開発してみた(日記)

                                                以前に8ccというCコンパイラをゼロからひとりで開発していたときのログです。40日でセルフコンパイルできるところまで到達しています。日付はすべて2012年です。コードとヒストリはすべてGitHubで見れます。 3月4日 というわけでコンパイラを作っているわけだけど、1000行くらい書いたらそれなりに動き始めてきた。こんなのも動くし: int a = 1; a + 2; // => 3 こういうのも通る。 int a = 61; int *b = &a; *b; // => 61 文字列は文字の配列として扱っていて、配列をポインタに成り下げる振る舞いも実装しているので、こういうのも通る。関数呼び出しもある。 char *c= "ab" + 1; printf("%c", *c); // => b 前回もこのあたりはがんばって実装したからここまで作るのはわりと単純作業かも。二回目だから配列とか

                                                  Cコンパイラをスクラッチから開発してみた(日記)
                                                • シェル芸初心者によるシェル芸入門

                                                  MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜Takahiro Inoue

                                                    シェル芸初心者によるシェル芸入門
                                                  • ミスをエンジニアリングすることについて、例えばなぜ自動化するのかについて−−『「事務ミス」をナメるな!』を読んで - Line 1: Error: Invalid Blog('by Esehara' )

                                                    はじめに 今更いうことではないのだけれど、自分は凡ミスの多い人間だという自覚がある。例えば、このブログを書いていたとしても、結構な割合で「てにをは」を間違えることが多いし、また予定等を勘違いして、実は期日を過ぎていたということもある。 そういうこともあってか、「こういう単純な凡ミスを無くす」ことが出来ないかなと思って、本を手に取ったのだけど、いい意味で裏切られた。いい意味、というのは、その本のタイトルに反して、要するに「ミスをエンジニアリングするということがどういうことか」ということが書かれていたからだ。この本はタイトルで純粋に損しているとは思う。 個人において「ミスをする」ということはどういうことか 大抵、人間が何かをミスする場合、そのミスというのは無能であるか、あるいはうっかりといったような「能力の欠如」として捉えることが多い。しかし、本書の場合、それよりかは、むしろ「人間の知恵が働き

                                                      ミスをエンジニアリングすることについて、例えばなぜ自動化するのかについて−−『「事務ミス」をナメるな!』を読んで - Line 1: Error: Invalid Blog('by Esehara' )
                                                    • xargs -P が激しく便利なのでメモ - おともだちティータイム

                                                      xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例 例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。 まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long: convert 引数が全て展開されるためこのような事が起きる。 私は xargs を使って処理することを思い付いた。 ls | xargs -I{} convert --geometry 800x800 {} c_{} 処理は行なわれるが非常に遅い。 しかも CPU を全く使っていないことが分かり、私は処理を並列的に行なう事を考えた。 そこで xargs の -P オプションの出番である。 P の後に並列

                                                        xargs -P が激しく便利なのでメモ - おともだちティータイム
                                                      • ターミナルにリッチなモニターを表示させる

                                                        B! 512 0 0 0 以前、 sparkという シェルスクリプトで棒グラフを表示するコマンドを紹介しましたが、 さらに複雑なグラフや地図などもターミナルに表示してしまおうと言う プロジェクトの紹介。 blessed-contrib termui wopr ブラウザに表示させる blessed-contrib nodeがインストールされている必要がありますが、 nodeが入っているなら取り敢えず $ git clone https://github.com/yaronn/blessed-contrib.git $ cd blessed-contrib $ npm install $ node ./examples/dashboard.js を実行してみてください。 ターミナル上に こんな感じのものが表示されると思います。 追記: 2015/11/30 上のgifはGNU screenを立

                                                          ターミナルにリッチなモニターを表示させる
                                                        • BASHの脆弱性でCGIスクリプトにアレさせてみました

                                                          環境変数に仕込まれたコードを実行してしまうBASHの脆弱性が CGIスクリプトに影響を与えるか試してみたら結果は悲惨な感じに Tweet 2014年9月25日 嶋田大貴 この記事は2014年のものです 朝から Bash specially-crafted environment variables code injection attack なるもので騒ぎになっていたので、さっそく手元の Apacheで試してみました。 /hoge.cgiというURIで実行されるように、一行のメッセージを出力するだけの CGIスクリプトを設置します。いっけん、なんの入力もクライアント側から受け付けていないため危険のありようもなく見えます。 #!/bin/sh echo "Content-type: text/plain" echo echo "Hi! I'm an ordinary CGI script w

                                                            BASHの脆弱性でCGIスクリプトにアレさせてみました
                                                          • シェルスクリプトを書くのをやめる - blog.8-p.info

                                                            今年から、できるだけシェルスクリプトを書くのをやめようとしている。私が毎日 zsh に打ち込んでいるのも広義のシェルスクリプトだし、自分用の雑なスクリプトを書くことはあるけれど、チームの他の人も将来に使ったり改変したりするようなものは、なるだけ他の言語を使っている。 シェルスクリプトを書くのは難しいし、その難しさは、学ぶに値しないといったら言い過ぎかもしれないけれど、2021年に初心者が取り組むべき問題とは言い難いと思う。 シェルは悪いプログラミング言語である Bash Strict Mode とかを使ってみても、シェルスクリプトには落とし穴が多すぎる。自分で書いたものを自分で使っている分には大丈夫なのだけど、スクリプトがチーム内で使われるようになると、考慮していなかったところ、例えばファイル名に空白文字が含まれるとか、そういうレベルの微妙なところで、ちゃんと書かれていないスクリプトは壊れ

                                                            • シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)

                                                              プログラムの種類によっては、そのまま実行できるものと、実行できるようにするために「ビルド」が必要なものとがあります。Cなどのコンパイルが必要な言語で書かれたプログラムは当然ビルドが必要ですし、コンパイルが不要な言語であっても、インストーラパッケージを作るというビルド作業が必要な場合はあります。 ビルド作業の自動化のためのツールとしてmakeなどがありますが、そこまで本格的な事をやる必要がない場合は、シェルスクリプトで「ビルドスクリプト」を作るのが手軽でおすすめです。この記事では、そのような場合に役立つシェルスクリプトのテクニックを4つご紹介します。 エラーの気付きやすさとデバッグのしやすさを高める メッセージに色を付ける シェル関数をライブラリにする 一時的に作業ディレクトリの中に入る エラーの気付きやすさとデバッグのしやすさを高める はじめに紹介するテクニックは問題が発生した時に気づきや

                                                                シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)
                                                              • 検索ではあんまり出ないbashの便利技 - Qiita

                                                                bashでは記号類をたくさん使うので、この書き方は何?と思っても検索でなかなか出てこないことがあると思う。 そこで知っていると便利なコマンドを残しておく。 随時追記予定。 確認に使用したbashのバージョンは以下のとおり。

                                                                  検索ではあんまり出ないbashの便利技 - Qiita
                                                                • 『マスタリングLinuxシェルスクリプト 第2版』、こういう1冊手元に有るとずっと使える本はちゃんと買っておきたいですね - Magnolia Tech

                                                                  マスタリングLinuxシェルスクリプト 第2版 ―Linuxコマンド、bashスクリプト、シェルプログラミング実践入門 作者:Mokhtar Ebrahim,Andrew MallettオライリージャパンAmazon 令和最新版のシェルスクリプトの入門書とリファレンスがセットになった1冊。手元に置いておくと安心感ありますよね。 令和最新版なので、冒頭からデバッグしたいならVisual Studio Code がオススメ、と出てきます。 コンテナ使おうと思ったらシェルスクリプトの読み書きの出番がどんどん増えていって、コンテナに一番必要なスキルはシェルスクリプトのスキルでは?と思っている今日この頃です(違います)が、そのくらいの用途に必要な要素は全部盛り込んであり、シェルスクリプトの文法と実践的な使い方に加えて、一緒に利用されることの多いgrep、awk、sedといったコマンドの解説も併せて載

                                                                    『マスタリングLinuxシェルスクリプト 第2版』、こういう1冊手元に有るとずっと使える本はちゃんと買っておきたいですね - Magnolia Tech
                                                                  • Linux標準教科書|無償でダウンロードできる初学者向けLinux学習教材 | Linux技術者認定試験 リナック | LPI-Japan

                                                                    20万ダウンロード突破! 初心者の方が基礎からLinuxを学習するために最適な教科書 LPI-Japanは、Linux/OSS技術者教育に利用していただくことを目的とした教材「Linux標準教科書」を開発し、無償にて公開しています。 基本的なコマンド、正規表現、シェルスクリプト、ファイル管理など、Linuxの基礎知識を系統立てて学べるように構成されており、初心者の方が基礎からLinuxを学ぶために最適な内容となっています。操作手順をひとつずつ説明している本教材はすでに20万回以上ダウンロードされ、「授業でも自習でも使える実践的な教科書」として学校教育、若手エンジニア教育、個人学習などに広くご利用いただいています。 Linux標準教科書で学習する内容は、LinuCレベル1の101試験と102試験の受験にも役立つ内容となっています。 本教材は試験対策教材ではありません LinuCの試験対策には

                                                                      Linux標準教科書|無償でダウンロードできる初学者向けLinux学習教材 | Linux技術者認定試験 リナック | LPI-Japan
                                                                    • 本日12月1日より、プログラマ有志による2013年の技術系Advent Calendarが各所ではじまる | gihyo.jp

                                                                      本日12月1日より、プログラマ有志による2013年の技術系Advent Calendarが各所ではじまる 本日12月1日より、プログラマ有志による2013年の各技術系Advent Calendar(アドベントカレンダー)が一日目を担当する人のblogではじまっている。 昨年以上に細分化されたため、昨年よりも今年のAdvent Calendarの数が多くなっているようだ。また、技術系以外の人に対してもこのような形式のAdvent Calendarの認知度が上がり、技術系以外のAdvent Calendarも昨年より増えている。 一般的なAdvent Calendarは、12月25日のクリスマスを楽しみに待つために、12月1日から24日までのカレンダーの日付の部分(扉だったりする)を開けるようになっており、1日ずつその日の日付の部分を開くと天使や動物の絵などが見えるという仕組み(もちろん、様々

                                                                        本日12月1日より、プログラマ有志による2013年の技術系Advent Calendarが各所ではじまる | gihyo.jp
                                                                      • javaプログラマー向け学習のための本(新人から5年めくらいまで)を考えてみた - Qiita

                                                                        1.ガチ新人向けのコンピュータに関する教養 新入社員で専門課程で情報処理教育を受けていない場合の基礎教育 専門教育を受けていてもレベルによっては、適宜読んだほうがよい プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識 プログラマにとってCPUとはなにか データを2進数でイメージしよう コンピュータが小数点数の計算を間違える理由 四角いメモリーを丸く使う メモリーとディスクの親密な関係 自分でデータを圧縮してみよう プログラムはどんな環境で動くのか ソース・ファイルから実行可能ファイルができるまで OSとアプリケーションの関係 アセンブリ言語からプログラムの本当の姿を知る ハードウェアを制御する方法 コンピュータに「考え」させるためには レッツ・トライC言語! ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識 第1章 Web

                                                                          javaプログラマー向け学習のための本(新人から5年めくらいまで)を考えてみた - Qiita
                                                                        • Bashスクリプトのチートシートと便利なスニペットまとめ - オープンソースこねこね

                                                                          Bashでスクリプトを書く際によく自分が使っている小技や関数などです。 またBashでは他のプログラミング言語以上に$や:などの記号の使い方が独特でググラビリティが低いので、基本文法などもチートシートとしてまとめておきます。 基本文法 変数と配列 制御構文 while for-in if - elif - else if文のone-liner 文字列比較 文字列が等しい (=) 文字列が等しくない (!=) 空文字、文字列長が0 (-z) 空文字でない、文字列長が0でない (-n) 数値比較 数値が等しい (-eq) 数値が等しくない (-ne) 数値がより小さい (-lt) 数値がより大きい (-gt) ファイルの判定 存在する (-e) ファイルである (-f) ディレクトリである (-d) シンボリックリンクである (-L) 関数 便利なスニペット 実行スクリプトがあるディレクトリを

                                                                            Bashスクリプトのチートシートと便利なスニペットまとめ - オープンソースこねこね
                                                                          • WSHを始めよう - @IT

                                                                            連載目次 わたしたちはコンピュータの奴隷じゃない! Windows PCを使っていて、あるいはWindowsサーバを管理していて、「何で人間様が、こんなこまごまとした作業を繰り返し、何度も何度もやらないといけないの?」と思うことはないだろうか。例えばこういう作業はどうだろう。 「My Documentsフォルダ内にある2005年に作成されたファイルのうち、最近1カ月更新してないテキスト・ファイルの中身を確認したいので、それらのファイルの1行目を抜き出して1つのテキスト・ファイルにする」 これを手作業でやろうと思うと大変だ。まずエクスプローラでMy Documentsを開き、詳細表示モードにし、作成日時と更新日時をにらめっこしながら該当するファイルを選び、メモ帳で開いて1行目をコピーし、もう1つメモ帳を立ち上げてそれを貼り付け……、という操作を複数のファイルで繰り返す。フォルダが階層化されて

                                                                              WSHを始めよう - @IT
                                                                            • Webの負荷テストに使えるフリーソフトウェア | OSDN Magazine

                                                                              Webアプリケーションおよびサーバの高負荷時の挙動を確認する方法の1つが、擬似的に負荷をかけてテストを行うことだ。ここでは、そうしたテストを実施するフリーソフトウェアをいくつか試し、それぞれがどんなタイプのサイトに適しているかを調べた。 負荷テスト用のツールはいろいろあるが、メンテナンスが行われていないもの、フリーでないもの、インストール手順が明確でないものを除くと、curl-loader、httperf、Siege、Tsung、Apache JMeterの5つが候補として残る。 JMeterについては、すでにDaniel Rubio氏が取り上げているので、ここでは詳しく説明しない。ただし、最後のまとめでほかのツールと共に簡単に触れている。 curl-loader curl-loaderは、「SpirentのAvalancheやIXIAのIxLoadの代替として使える強力かつ柔軟なオープン

                                                                                Webの負荷テストに使えるフリーソフトウェア | OSDN Magazine
                                                                              • #/usr/binとその同種の周辺を探る | POSTD

                                                                                (注:2017/04/10、いただいたフィードバックを元に翻訳を修正いたしました。) はじめに 私はLinuxが大好きです。コンピュータとのやりとりが楽しくなるし学ぶことも多くなります。OSとハードウェアの基盤となる基本原則を学びたい人にとって、Linuxはとてもいい出発点と言えるでしょう。 ご存じのとおりLinuxとは大抵の場合プログラム(コマンド)を通してやりとりします。Linuxと他のUNIX系システムが持っている特徴は、コマンドラインと、パイプのコンセプトです。プログラムの提供する入力と出力を統合すれば、データを操作するのに非常にパワフルなプラットフォームになります。 Linuxのコマンド、プログラム、バイナリ(何と呼んでもいいのですが)の大部分は、/usr/bin、/usr/sbin/、/binそして/usr/local/binに存在しています。これらのディレクトリを見れば、プロ

                                                                                  #/usr/binとその同種の周辺を探る | POSTD
                                                                                • UNIX & Linux コマンド・シェルスクリプト リファレンス

                                                                                  目次 当サイトについて bash シェルスクリプト入門 -シェルスクリプトのいろは- コマンド Tips シェルスクリプト Tips 変数を使用する 配列を使用する 入力と出力 if 文と test コマンド for 文の使用方法 while 文の使用方法 case 文の使用方法 関数の使用方法 引数を処理する 終了ステータス シグナルと trap コマンド フィルタを使用した文字列操作 1 フィルタを使用した文字列操作 2 日付を取得する 文字コードと改行コード シェルスクリプトのデバッグ AWK リファレンス (Deprecated) シェルスクリプト ライブラリ 『ether.sh』 お知らせ Bluesky を始めました @sunone.me 変更履歴 2023.10.07 ページ内リンクを修正した。 2021.02.01 このサイトに「もう 1 ページ追加しよう」と思ってから、も

                                                                                    UNIX & Linux コマンド・シェルスクリプト リファレンス