並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 1565件

新着順 人気順

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

  • なぜ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
    • 踏み台にはECSコンテナを。~ログイン有無を検知して自動停止させる~ - NRIネットコムBlog

      こんにちは、後藤です。今回はAWS構成における踏み台についての記事です。 データベースなどのインターネットに繋げたくないリソースに踏み台リソース経由でアクセスさせることは、セキュリティ設計としてよくある構成だと思います。 今回はその踏み台リソースに「ユーザーログイン有無を検知して自動停止する」ロジックを組み込んだ方法を共有します。 また、一般的によく用いられるのはEC2だと思いますが、今回はECS on Fargate(以降はFargateと略)を使います。しかも自動停止ロジックにLambdaを使いません!!コンテナの中で完結させます。 踏み台を設計する時に気になること そもそも踏み台について設計する際に何が気になるのでしょうか。それはOS管理負担と自動停止です。 踏み台にEC2を用いるとOSパッチ適用などの運用コストが発生します。業務系サーバでないのに心労が重なるのはなるべく避けたいとこ

        踏み台にはECSコンテナを。~ログイン有無を検知して自動停止させる~ - NRIネットコムBlog
      • Python初心者から2年間で読んだ中でオススメの技術書35冊を読むべき順番に並べた - 仮想サーファーの日常

        Pythonの学習を始めて3年間でたくさんの技術書を読んできましたが、自分の技術力のレベルによって読みたい本が変わってしまうので、どの技術書を読めばいいのかがわからなくて本選びに相当な時間をかけたと思います。 今回は、これからプログラミング言語Pythonを学習しようとしている方、Pythonの基礎は勉強したけどもっと踏み込んで学びたい方向けに、ぼくが読んだPythonの技術書の中でこれは読んでよかった!という本を読みたい順番に紹介していきます。 この記事の対象読者 未経験からPythonを学習しようとしていて、どの技術書で学習を進めるべきか悩んでいる方 Pythonは少し学習したことあるけど、実践的なWebアプリケーションを開発するときに参考になる技術書を知りたい方 Pythonを活用したWebアプリケーションエンジニアになるために必要な知識やスキルを知りたい方 Pythonエンジニアと

          Python初心者から2年間で読んだ中でオススメの技術書35冊を読むべき順番に並べた - 仮想サーファーの日常
        • 業務で使うツール(iTerm2,SequelPro,Chrome)をShellScriptでハイパーテクニックする - ハイパーマッスルエンジニア

          業務で使うツール(iTerm2,SequelPro,Chrome)を ShellScriptでハイパーテクニックする はじめに この記事は今年イチ!お勧めしたいテクニック by ゆめみ feat.やめ太郎 Advent Calendar 2019の20日目の記事です。 今年は「お勧めテクニック」ということで、業務効率化ッ!!を盾に業務時間の30%はShellScript遊びに当てている私にピッタリな企画ですね、ありがとうございます。 今回は業務でよく使うツールを、ShellScriptでハイパーテクニックする方法をいくつかご紹介。 今回紹介するコードは全部Githubにあげているので実際に試したい人はどうぞ。 ハイパーテクニックする対象 GoogleChrome iTerm2 SequelPro GoogleChrome ブラウザに移動せずTerminalで自在にタブ移動する Web開発を

            業務で使うツール(iTerm2,SequelPro,Chrome)をShellScriptでハイパーテクニックする - ハイパーマッスルエンジニア
          • シェルスクリプトの $* と $@ の違いと雑学色々 - Qiita

            まず位置パラメータを含め変数を参照する時にダブルクォートしないのは無しです。理由は予期せぬ変数展開やパス名展開が行われるからです。詳細は「シェルスクリプトの変数はダブルクォートしなければいけない!という話」を参照してください。この理由により上半分は「使いません」で終わりです。 ダブルクォートはほぼ必須ですが { } は必要な時だけ書けば十分です。常に ${var} のように { } を書く人がいるようですが、そういう人に限って面倒なのかダブルクォートをしてないことをよく見かけます。逆です。省略可能なのは { } であり、ダブルクォートは(本当に不要な場合を除き)省略できません。常に { } を使ってもかまわないと思いますがダブルクォートも書きましょう。 ❌ ${var} ・・・ ダブルクォートが抜けている! ⭕ "$var" ・・・ このように書け! ⭕ "${var}" ・・・ 問題ない

              シェルスクリプトの $* と $@ の違いと雑学色々 - Qiita
            • 新規サービスのバックエンド開発で3ヶ月経ったので、試した技術や取り組みをまとめてみた

              こんにちは、AIShift バックエンドエンジニアの石井(@sugar235711)です。 AIShiftでは去年の11月からAI Worker[1]という新しいサービスの開発が始まりました。(以下AI Worker) 本格的に開発が始まり3ヶ月弱経ったので、その間に試してきた技術やチームの取り組みについてまとめてみたいと思います。 はじめに この記事では、AI Workerのおおまかな概要・設計を説明し、それらのバックエンドを実現する上でどのような技術を試してきたのか、技術以外でのチームの取り組みについてまとめます。 少し分量が多いので、ライブラリについての情報を求めている方は、目次から気になる部分を読んでいただければと思います。 何を作っているのか ざっくりまとめると、Microsoft Teams/Web上で動くAIを活用した業務改善プラットフォームを作成しています。 GPTとRAG

                新規サービスのバックエンド開発で3ヶ月経ったので、試した技術や取り組みをまとめてみた
              • [書評] 「シェルスクリプト 入門の入門」 開発者は手元に置いておいた方がいいかも | DevelopersIO

                こんにちは、CX事業本部の夏目です。 先日本屋をうろついていたら、偶然発見した本が非常に良いものを見つけました。 今年の4月に発行された書籍で、ちょっと在庫はこころもとなくなってきてますが、非常に良い本だったので気にせず紹介します。 (一部の書店や honto ではまだ在庫があるようです) シェルスクリプト入門の入門 作品紹介:シェルスクリプト入門の入門 :暗黒通信団 Linux を活用するには様々なコマンドを使いこなすことが重要ですが,それだけではありません.同じような処理を繰り返すならば一括して処理した方が,間違いが少なくなり効率が良くなります. 本書では,ターミナルで様々な処理を一括処理するために記述するシェルスクリプトについて,ポイントを押さえて最小限だけ説明することを目指しています.特に,Linux や macOS などで広く使われている Bash を用いることを考えています.シ

                  [書評] 「シェルスクリプト 入門の入門」 開発者は手元に置いておいた方がいいかも | DevelopersIO
                • Shell Script Best Practices — The Sharat's

                  This article is about a few quick thumb rules I use when writing shell scripts that I’ve come to appreciate over the years. Very opinionated. Things¶ Use bash. Using zsh or fish or any other, will make it hard for others to understand / collaborate. Among all shells, bash strikes a good balance between portability and DX. Just make the first line be #!/usr/bin/env bash, even if you don’t give exec

                  • 新しいHDDを使用する時に執り行うべき「儀式」とは?

                    自分のPCや会社のサーバーのHDDを交換するために購入した新しいHDDが「信頼に値する」かどうかの判断は難しいものです。そうしたHDDを新しく購入した際に行う「儀式」について、ここ10年間Linuxのサーバーを管理し、20台を超えるHDDを交換してきた経験を持つIronicBadger氏が語っています。 New Hard Drive rituals https://blog.linuxserver.io/2018/10/29/new-hard-drive-rituals/ IronicBadger氏は2009年にSeagate製のHDDの故障に見舞われ、HDDに保存していた全てのデータを失ってしまったのこと。また、購入した時は問題ないように見えたHDDも、しばらくすると不良セクタが発生したり、ひどい場合は電源を入れて1日足らずで故障したりしたこともあったそうです。 そうした経験から、Iro

                      新しいHDDを使用する時に執り行うべき「儀式」とは?
                    • 半角スペースの有無だけでサーバーをぶっ壊しそうになった話 - Qiita

                      本記事は「本番環境でやらかしちゃった人 Advent Calendar 2021」24日目となります。 前提事項 事故を起こしたのは確か6年くらい前 サーバーのOSは確かCentOS6 諸事情でワンオペだった 当時の記憶を元にした再現であり多少盛ってるので細かいツッコミは勘弁してください 何をしてたか ~~~本番環境作業中~~~ (手順書ナガメー) よし、次はファイルの移動か mvコマンド入力してカチャカチャカチャ…ッターン mv: cannot move /bin/ac to '/home/user/work_dir': Permission denied mv: cannot move /bin/aconnet to '/home/user/work_dir': Permission denied mv: cannot move /bin/addr2line to '/home/us

                        半角スペースの有無だけでサーバーをぶっ壊しそうになった話 - Qiita
                      • 「マスタリング Linux シェルスクリプト第 2 版」感想 - msksgm’s blog

                        概要 「マスタリング Linux シェルスクリプト第 2 版」を読みました。 感想を書きます。 マスタリングLinuxシェルスクリプト 第2版 ―Linuxコマンド、bashスクリプト、シェルプログラミング実践入門 作者:Mokhtar Ebrahim,Andrew MallettオライリージャパンAmazon 概要 前提 目的 前提知識 読了時間 感想 次に関連で勉強すること まとめ 前提 目的 CI/CD の実力を上げるための手段としてシェルスクリプトの知識を獲得したかった 出版された当初にネットで評判が良く(こちらの記事を参考にした)、おもしろそうに見えた 特に、sed、awk あたりを入門したかった 前提知識 調べることはあっても、シェルスクリプトを体系的に学ぶのは初めてでした。 一応、1 月に「シェル・ワンライナー 160 本ノック」を読んでいました。しかし、想定よりも難易度が高

                          「マスタリング Linux シェルスクリプト第 2 版」感想 - msksgm’s blog
                        • AWS×コンテナで基本的なDevSecOpsアーキテクチャをデザインしたお話 - How elegant the tech world is...!

                          はじめに 先日、僕が担当する業務でECS/Fargate利用を前提にDevSecOpsアーキテクチャをデザインし、社内のAWS勉強会にて登壇する機会をいただきました。 本ブログでも内容をかいつまんでご紹介できればと思います。 AWSによらず、コンテナを利用されている方にとって、一つのプラクティス例としてご参考になれば幸いです。 ※コンテナ自体の説明や必要性に関する内容は省略していますm(_ _)m そもそもDevOpsとは? DevSecOpsの導入意義をお伝えするた前に、まず軽くDevOpsの意義をお伝えします。 ※とは言え、この記事をご訪問されている方にとっては「何をいまさら...」な内容かもしれませんし、ググればDevOps自体の情報はたくさん見つかりますので、重要なポイントのみ述べることにします。 DevOpsとは、一言で述べれば、開発チームと運用チームが協力してビジネス価値を高め

                            AWS×コンテナで基本的なDevSecOpsアーキテクチャをデザインしたお話 - How elegant the tech world is...!
                          • Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル

                            以下の文書はBashを使う前提の話。 Bashにはコマンド置換(Command substitution)というのがある。$(another-command)のように、$()でコマンドを括る記法だ。これを利用すると、括弧で括られたコマンドが実行され、その標準出力が文字列として取り出され、$()全体を置き換える。シェルスクリプトでは非常によく見る技術だ。 この$()でファイルの内容を読み出すというのを最近見た。このような用法は非常によく見る。 foo-command $(cat params.txt) しかし、より良い書き方があるのでこれを提唱したい。$(< params.txt)と書くことで全く同等のことができる。しかも速いのでこちらのほうが完全に上位互換となる。 foo-command $(< params.txt) この方法はBashのドキュメントのコマンド置換のコーナーにちゃんと書か

                              Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル
                            • ビジネスとオープンソースの狭間で 〜 Embulk の場合 (前編)

                              2023 年はビジネスとオープンソースの関係が難しくなった年であったように思います。 6 月には、フルタイムの Ruby コミッターとして研究開発を行っていたお二人がクックパッド社の人員削減の影響を受けたことに端を発して、オープンソースに深く関わってきた一部のソフトウェア・エンジニアを中心に、ビジネスとオープンソースの関係について議論がありました。 8 月には HashiCorp 社が自社のオープンソース製品群のライセンスを Business Source License 1.1 (BSL) に変更したことも話題になりました。 また 2023 年は、一年を通して大規模言語モデル (Large Language Models; LLM) が話題になった年でもあり、ビジネスにも大きな影響がありました。 大規模言語モデルとオープンソースの関係に焦点を絞っても、「非オープンソースのライセンスで公開

                                ビジネスとオープンソースの狭間で 〜 Embulk の場合 (前編)
                              • ITエンジニア本大賞2023が決定。技術書部門大賞に『良いコード/悪いコードで学ぶ設計入門』、ビジネス書部門大賞『メタバース進化論』 | gihyo.jp

                                ITエンジニア本大賞2023が決定。技術書部門大賞に『良いコード/悪いコードで学ぶ設計入門』、ビジネス書部門大賞『メタバース進化論』 翔泳社が主催するイベント「ITエンジニア本大賞2023」が行われ、2月9日にプレゼン大会&最終投票を開催し、技術書部門大賞およびビジネス書部門大賞を決定した。技術書部門大賞には『良いコード/悪いコードで学ぶ設計入門 保守しやすい 成長し続けるコードの書き方⁠』⁠、ビジネス書部門書大賞に『メタバース進化論――仮想現実の荒野に芽吹く「解放」と「創造」の新世界』が選ばれた。 ITエンジニア本大賞は、ITエンジニアにおすすめの技術書・ビジネス書を選出してもらうイベント。出版社や刊行年は問わずこの1年を振り返っておすすめしたい本を投票するWeb投票と、プレゼン大会、2つのイベントを通して大賞を決定する。なお、過去の大賞は殿堂入りとし、選考から除外している。 Web投票

                                  ITエンジニア本大賞2023が決定。技術書部門大賞に『良いコード/悪いコードで学ぶ設計入門』、ビジネス書部門大賞『メタバース進化論』 | gihyo.jp
                                • 「HTML解体新書」リフロー版電子書籍を作りました - 弁護士ドットコム株式会社 Creators’ blog

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

                                    「HTML解体新書」リフロー版電子書籍を作りました - 弁護士ドットコム株式会社 Creators’ blog
                                  • 2023年買ったもの(技術書とか) - Magnolia Tech

                                    2023年のお買い物、技術書編です。 技術書以外はこちら blog.magnolia.tech とりあえずノータイムで買っちゃえ!損は無いよ!という3冊 他に、類似の本がないか、有ってもこっち買っておけばよくね?という3冊 なっとく!関数型プログラミング なっとく!関数型プログラミング 作者:Michał Płachta翔泳社Amazon Scalaをベースとした関数型プログラミングの学習本。オブジェクト指向言語であり、関数型プログラミング言語であるScalaの特性を生かして、命令型から宣言型のコードの書き方への変え方を学んでいくスタイル。 前半の凄まじい丁寧な学習のステップと、後半の「ここまで一気にやらなくても良くない?」の落差もすごいけど、ページ数の厚さに躊躇せず、前半1/3くらいを時間をかけて丁寧に学習するくらいが良いと思います。 周りに良い先生が居れば別ですが、そうでなければこの本

                                      2023年買ったもの(技術書とか) - Magnolia Tech
                                    • 機械学習エンジニアに爆速でなるための教材集 - Qiita

                                      0. はじめに 昨今のAI、DXブームの影響で、機械学習、深層学習(ディープラーニング, Deep Learning) への注目は増すばかりですが、初学者の方にとって機械学習を学ぶハードルは依然高い状態かと思います。 機械学習、特にディープラーニングを習得するには学ぶべきことが多く、また分野によっては難易度が高いということもあり、学んでいる途中で挫折してしまうという人も多いという印象があります。 そこで本記事では、これから機械学習を学びたい方が自学自習する際の助けになるようにと、有用な自習コンテンツをまとめました。 本記事では、機械学習エンジニアとして実務に参画できるレベルを目指して、コンテンツを収集しました。よって機械学習の理論やライブラリに加え、社会実装する上で付随して必要となるソフトウェアエンジニアリングのスキルも含めています。 コンテンツについては、適宜追記していく予定です。 対象

                                        機械学習エンジニアに爆速でなるための教材集 - Qiita
                                      • ZigはCMakeの代替となるか

                                        既存のプロジェクトで使用しているコンパイラを置き換えるだけで、Zigに付属しているCコンパイラを利用できる。 クロスビルドが標準で可能 上でも述べた通り、Zigは標準でクロスコンパイルが可能である。 Zig libcのTaget一覧 ❯ zig targets | jq ".libc" [ "aarch64_be-linux-gnu", "aarch64_be-linux-musl", "aarch64_be-windows-gnu", "aarch64-linux-gnu", "aarch64-linux-musl", "aarch64-windows-gnu", "aarch64-macos-none", "aarch64-macos-none", "armeb-linux-gnueabi", "armeb-linux-gnueabihf", "armeb-linux-musleabi

                                          ZigはCMakeの代替となるか
                                        • 結合テストを書くときはコードベースを分離している

                                          新規開発の設計支援や古いコードベースを甦らせて欲しいという相談をもらったときに、最初にちょろっとコードだけお手本的なコードを書いてから引き渡しているのだが、そのときに必ず結合テストを書くようにしている。 3, 4年前から僕と付き合いがある人からすると、 「「「あの sadnessOjisan がテストを書くだと!!!」」」 という感じだと思うのだが、最近はテストに思うところもあってちゃんと書いている。 そしてそのテストコードだが、基本的にはアプリケーションから分離して書いている。その話をしたい。 OGP OGP は野方ホープで海苔が分離されて出てきた時の画像だ。 アプリケーションから分離したテストとはどういうことか 最終的にはテスト対象のサーバーを Docker コンテナで固めて、そのコンテナに対して HTTP リクエストを投げてその結果や DB の中身を検証するコンテナを docker

                                            結合テストを書くときはコードベースを分離している
                                          • Terraform の CI を AWS CodeBuild から GitHub Actions + tfaction に移行しました - スタディサプリ Product Team Blog

                                            こんにちは。 SRE の @suzuki-shunsuke です。 Terraform の CI を AWS CodeBuild (以下 CodeBuild) から GitHub Actions + tfaction に移行した話を紹介します。 これまでの Terraform Workflow (CodeBuild) 弊プロダクトの Terraform の CI に関しては過去の記事でも何度か紹介していますが、 元々 CodeBuild 上で CI を実行していました。 かつては CircleCI 上で実行していましたが、 CodeBuild に移行しました。 blog.studysapuri.jp CodeBuild に移行した理由は大きく 2 つありました。 Security 永続的な Access Key を発行することなく AWS のリソースを管理できる GCP に関しても Wor

                                              Terraform の CI を AWS CodeBuild から GitHub Actions + tfaction に移行しました - スタディサプリ Product Team Blog
                                            • サーバーレスアーキテクチャーも大胆に導入! 自律・自走できる組織作りを進めるカオナビのインフラチーム - はてなニュース

                                              タレントマネジメントシステムを提供する株式会社カオナビでは、サービスをSaaS型にシフトするにあたってAWS(Amazon Web Services)を全面的に採用し、サーバレスの基盤開発でもAWSのマネージドサービスを積極的に活用しています。 そのベースにある「運用しない運用」という言葉の意図や、計測・監視の取り組み、アプリケーション開発の経験も活用できる「自走するインフラ組織」について、インフラグループの大久保智之さんと新井健さんに聞きました。 ※この記事は株式会社カオナビによるSponsoredContentです。 AWSへの移行から技術的な挑戦を進める サーバレスを推進して温かみある手順から脱出 開発の経験も生かしたアプリケーション監視と指標 自動化の原則は自走と自律 カオナビではエンジニアを積極募集しています! AWSへの移行から技術的な挑戦を進める ── プロフィール(後掲)を

                                                サーバーレスアーキテクチャーも大胆に導入! 自律・自走できる組織作りを進めるカオナビのインフラチーム - はてなニュース
                                              • Log4j 2のバージョンアップのやりかた - 日々常々

                                                「Log4j 2に脆弱性があるらしい、バージョンアップしたら治るらしい。」 本日話題のこのテーマで軽く書いておきます。 未完です。 未完公開の言い訳。更新した内容は最後に書いてます。大きな間違いは(今のとこ)ないので、よかった。 2021-12-20追記: 2.17.0 出てますのでコピペしてそのままにせず適宜読み替えてくださいね。 とにかくバージョンを上げよう ……リリースできるかは別の話として。 バージョンを上げられないことには話になりません。ということでとにかくあげましょう。 Log4j 2のようなログライブラリは多くのプロダクトで使用されています。 意識する/しないに関わらず、ログライブラリは何かしら関連があると思うべきでしょう。 使用しているかの調べ方 常時依存ライブラリリストを出力するなどして管理しているのであればそれを見ればいいだけの話ですが、そうでなければ、 mvn dep

                                                • デスクトップ環境をdisposableに保つ - あんパン

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

                                                    デスクトップ環境をdisposableに保つ - あんパン
                                                  • Microservices と会計システム | メルカリエンジニアリング

                                                    この記事は、 Mercari Bold Challenge Month の18日目の記事です。 こんにちは。メルカリで Product Manager として働いている津田と申します。私は社内で「会計システム」と呼ばれる、会社が運営するサービスに付随して発生した債権債務の増減を記録・集計するシステムを開発するチームで働いています。 はじめに メルカリでは、お客さまの行動に応じて日々さまざまなお金の流れが発生しています。たとえばメルカリで商品が出品され購入された(取引が行われた)場合を考えてみます。 この取引は、会社から見るとそれぞれの相手先に対する債権債務関係の変化と捉えることができます。メルカリにとっては、購入したお客さまに対する債権(= 商品代金)と出品したお客さまに対する債務(= 売上金)が発生します。このとき、商品代金の一定割合(通常は 10%)が販売手数料としてメルカリの売上とな

                                                      Microservices と会計システム | メルカリエンジニアリング
                                                    • Bashシェルスクリプトの作成法をゼロから解説したLinux/WSL/macOSのユーザー向け解説書/『Bashシェルスクリプト入門』が発売【Book Watch/ニュース】

                                                        Bashシェルスクリプトの作成法をゼロから解説したLinux/WSL/macOSのユーザー向け解説書/『Bashシェルスクリプト入門』が発売【Book Watch/ニュース】
                                                      • シェルスクリプトをJavaScript/TypeScriptで記述、どのOSでも実行できる「Bun Shell」、JavaScriptランタイムのBunが発表

                                                        JavaScriptランタイムのBunは、新機能としてシェルスクリプトをJavaScriptもしくはTypeScriptで記述し、特定のOSに依存せずに実行できる「Bun Shell」を発表しました。 シェルスクリプトは特定のシェルに依存するもの LinuxやmacOS、WindowsなどのOSは一般に、「シェル」(Shell)と呼ばれる機能を備えています。 シェルはコマンドラインインターフェイスなどのユーザーとの対話機能を備えており、例えばLinuxのコマンドラインで「ls」コマンドを打ち込むとファイルの一覧が返ってくるという動作はシェルが提供しています。 そしてシェルでは一般に、こうしたコマンドを複数つなげた一連の動作をスクリプトとして定義し実行できる「シェルスクリプト」が利用可能です。例えば、次のシェルスクリプトは、「ls」コマンドによるファイルの一覧をファイル「list.txt」に

                                                          シェルスクリプトをJavaScript/TypeScriptで記述、どのOSでも実行できる「Bun Shell」、JavaScriptランタイムのBunが発表
                                                        • 『UNIXという考え方―その設計思想と哲学』を読んだ - stefafafan の fa は3つです

                                                          English translation of this post: Read the book "The UNIX Philosophy" | stefafafan's tech blog あけましておめでとうございます。『UNIXという考え方―その設計思想と哲学』という本を読んでいたら年越していました。 この記事は はてなエンジニア Advent Calendar 2022 の 1月1日の記事です。*1 昨日は id:tkzwtks による コーポレートサイトドメイン引越しの裏側 - Hatena Developer Blog でした。 今回は表題の本を今更ながら読みましたので、感想を軽く書きます。 この本で紹介されている9つの定理 設計思想に関する定理 開発プロセスの話 細かい手法の話 全体的な感想 この本で紹介されている9つの定理 この本では以下の9つの定理が紹介されていました。 ス

                                                            『UNIXという考え方―その設計思想と哲学』を読んだ - stefafafan の fa は3つです
                                                          • Makefileの代わりにnpm scripts+zxを使う - 詩と創作・思索のひろば

                                                            そこそこの規模があるプロジェクトで実行すべきタスクを定義するとき、初手として Makefile を使いがち。 Pros make は事実上どんな環境にもあることを期待してよい シェルで実行されるコマンドをそのまま書ける タスクの依存関係が明示できる Cons make では positional arguments が使えない 少し複雑なことをしようとすると Makefile 専用の文法を覚える必要がある 現代では、ファイルベースのタスクの依存関係は make が発明されたころほどは必要ではない Docker とか Go とか Webpack がよしなにしてくれることが多い 例: docker compose のラッパー ちょっとしたコマンドのラッパーを書きたいことがある。Makefile を書きはじめたらすべてのエントリポイントを make にしたい。ということで、以下のような Make

                                                              Makefileの代わりにnpm scripts+zxを使う - 詩と創作・思索のひろば
                                                            • DXって何じゃらほい?或いは2025年の崖っ淵に向かって熊とワルツを踊る刹那について|楠 正憲(デジタル庁統括官)

                                                              何週間か前のこと、急にエンプラっぽくないAIベンチャーの社長さんからメッセで飲みに誘われ、秋葉原の焼き鳥屋さんでDXとやらについて聞かれて、とりあえずこのレポート読んどけと返しつつも考えちゃった訳です。Direct Xとか、よくテレビに出てるマツコの方じゃなくて「2025年の崖って実際どうなんだ?」とか何とかオッサンたちから相談される話あるじゃないですか。あれって何なんですかね?オンプレをクラウドにリフトしたらDXなのか。華麗にk8sやらコンテナ使いこなしてCIパイプライン組み立ててテスト自動化したらDXなのか、だいたいDigital Transformationなのに、どうしてDXなのか。SAP R/3とCOBOL PL/Iを捨てて、どこぞのSaaS入れてSparkぶん回してPythonとか書いたらDXなのか。おいおい、そんな話だっけ?って心配になっちゃう訳です。 内製内製って簡単に言う

                                                                DXって何じゃらほい?或いは2025年の崖っ淵に向かって熊とワルツを踊る刹那について|楠 正憲(デジタル庁統括官)
                                                              • POSIX準拠シェルスクリプトでマルチコアの能力を活用する並列処理の実装(最大並列数あり、GNU Parallel, xargsなし) - Qiita

                                                                実は最大並列数の制限がなければジョブ(標準入力からの一行単位のデータ)の数だけバックグラウンドプロセスを起動すればいいのでかなり簡単に実装できます。ですが普通は嫌ですよね?ということで最大並列数を制限する処理を入れています。また通常の利用で必要になりそうな CTRL-C と TERM シグナルへの対応もしています。 #!/bin/sh set -eu [ "${ZSH_VERSION:-}" ] && setopt shwordsplit MAX_PROC=4 # 最大並列数 # INT(CTRL-C)、TERM による終了処理 terminate() { trap '' TERM kill -TERM 0 exit "$1" } trap "terminate 130" INT trap "terminate 143" TERM # trap : CONT # 並列で実行される処理 fu

                                                                  POSIX準拠シェルスクリプトでマルチコアの能力を活用する並列処理の実装(最大並列数あり、GNU Parallel, xargsなし) - Qiita
                                                                • Laravel大規模開発入門!MVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                                  Laravel大規模開発入門!MVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について ナイル株式会社メディアテクノロジー事業本部の工藤さんにMVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について解説いただきました。 こんにちは、ナイル株式会社メディアテクノロジー事業本部で開発マネージャをしています工藤@ta99toです。 今回は大規模で複雑度の高い開発をMVCフレームワークベースで構築する際に僕が課題と捉えているポイントやその具体的な解決手法について解説させていただきたいと思います。 「MVC以上の責任分離イメージがつかないよ!」 「DDDとかクリーンとかオニオンとかあのへんの設計パターンの導入モチベーションが不明」 「どうやっても最終的には複雑になって追加開発や修正開発が怖い状態になっちゃう」 ↑このような悩みを持った方に対して

                                                                    Laravel大規模開発入門!MVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                                  • NetBSDを手探りで移植したときの話 - Qiita

                                                                    この記事は自作OS Advent Calendar 2020 7日目の記事となります。 はじめに 現在のオープンソースOSは、たとえばLinux開発ボードであればボードベンダーから移植済みのLinux環境が提供されたり、たとえばNetBSDであればクロスコンパイル環境が整備済みでドキュメントも用意されていて、最低限の移植作業で移植が完了したりします。 ぼくがNetBSDを移植した当時(1993年)はそうではありませんでした。ドキュメントもなくいろいろ手探りで、それも一人でやらざるを得ませんでした。苦労話のことは置いておいて、技術的にどういう物が用意され何を調べてどういう手順で移植していったかを記録に残せればと思います。(って前置きした割に苦労話が多いような気がします、すみません) かなり昔の話なので、けっこう忘れてることも多く、微妙に記憶が間違っていたりすることも、順番が前後していることも

                                                                      NetBSDを手探りで移植したときの話 - Qiita
                                                                    • 動的解析を利用し、実働6日でレガシーコードを1/3削った話(Perl編) - CARTA TECH BLOG

                                                                      こんにちは!株式会社VOYAGE MARKETINGで働くエンジニアの yopidax です。 約20年ほど続くサービス、ECナビの技術的負債の返済に取り組んでいます。 ecnavi.jp 今回は直近で、レガシーコードを大量に削除したので、そのアプローチをご紹介したいと思います。 目次 目次 解析の対象と抱える課題 アプローチ 実行されるファイルを洗い出す ログを出力するモジュール 実行 ログのサンプル いざ、大量削除 Perlファイルをgrepする リリース単位を細かくする 結果 工数 実績 まとめ 合わせて読みたい 解析の対象と抱える課題 ECナビを長年支える、Perlで書かれたバッチが対象です。コードはGitLabのリポジトリで管理されていて、規模をまとめるとこんな感じです。 ファイルの数 バッチ関連全体 : 3,315 うち、Perlファイル(.pm, .pl) : 1,111 P

                                                                        動的解析を利用し、実働6日でレガシーコードを1/3削った話(Perl編) - CARTA TECH BLOG
                                                                      • NISCと気象庁が使用していたメール関連機器へのサイバー攻撃についてまとめてみた - piyolog

                                                                        2023年8月4日、内閣サイバーセキュリティセンター(NISC)と気象庁はそれぞれ電子メール関連のシステム・機器から不正通信の痕跡が確認され、メールデータの一部が外部に流出した可能性があると公表しました。ここでは関連する情報をまとめます。 政府組織に対しゼロデイ攻撃 NISCと気象庁及び気象研究所、国立科学博物館、教職員支援機構が各々運用を行っていた電子メール関連システム・機器に脆弱性が存在しており、その脆弱性に関連した不正通信が確認された。 今回確認された不正通信により、メールデータの一部が外部に流出した可能性がある。両組織ではメールアドレス等の個人情報が漏えいした可能性を排除できないとして個人情報保護委員会に報告した他、対象者にも個別に連絡を行う。公表時点では流出可能性のある情報の悪用は確認されていないが、NISCでは約5,000件の個人情報が対象に含まれており、流出可能性のある事案が

                                                                          NISCと気象庁が使用していたメール関連機器へのサイバー攻撃についてまとめてみた - piyolog
                                                                        • 達人出版会

                                                                          探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                                                            達人出版会
                                                                          • 京大のスパコンでファイル約77TB分が消失、実行中のスクリプト更新で誤動作

                                                                            2021年12月、京都大学のスーパーコンピューターがトラブルに見舞われた。学術論文に使う重要データなど、実に77テラバイト(TB)分のファイルが消失した。ITベンダーの担当者が実行中のスクリプトを不用意に更新したのが原因だった。本来はログ削除の処理が利用者のファイルを削除する誤動作を引き起こした。ミスを犯したITベンダーも問題だが、監督不十分だった京都大学の責任も重い。 「弊社100%の責任によりLustreファイルシステムのファイル消失の重大障害を来し、多大なるご迷惑をお掛けしたことを深くお詫び申し上げます」 京都大学が2021年12月28日に公表した「スーパーコンピュータシステムのファイル消失のお詫び」のお知らせには、大規模なデータ消失を引き起こした日本ヒューレット・パッカードが同大学宛てに提出した報告書がリンクされていた。「弊社100%の責任」という説明は、ITベンダー側の「完全降伏

                                                                              京大のスパコンでファイル約77TB分が消失、実行中のスクリプト更新で誤動作
                                                                            • ITエンジニアが薦める技術書はこれだ 「ITエンジニア本大賞2023」ベスト10発表

                                                                              翔泳社は、ITエンジニアが薦める書籍を紹介するイベント「ITエンジニア本大賞2023」のベスト10を発表した。 翔泳社は1月16日、ITエンジニアが薦める書籍を紹介するイベント「ITエンジニア本大賞2023」のベスト10を発表した。部門は技術書とビジネス書の2部門を用意。2022年を振り返っておすすめしたい書籍(刊行年問わず)をWebでITエンジニアに聞いた。調査期間は11月11日~2月9日。 技術書部門ベスト10は以下の通り。 「ITエンジニア1年生のための まんがでわかるLinux コマンド&シェルスクリプト基礎編」(日経BP) 「AWSの知識地図~現場必修の基礎から構築・セキュリティまで」(技術評論社) 「競技プログラミングの鉄則 アルゴリズム力と思考力を高める77の技術」(マイナビ出版) 「Googleのソフトウェアエンジニアリング」(オライリ-・ジャパン) 「Clean Craf

                                                                                ITエンジニアが薦める技術書はこれだ 「ITエンジニア本大賞2023」ベスト10発表
                                                                              • Managed Kubernetesサービス開発者の自宅k8sクラスタ全容

                                                                                となっています。 構成図 クラスタを構成するものを図にすると以下のようになります。 この中の一部コンポーネントは次節以降で登場します。 Kubernetes基盤 クラスタの基盤部分についてどのような構成になっているのか説明します。 kubeadm クラスタの構築自体については kubeadm を利用しています。 kubeadm を利用したクラスタの構築方法については公式のドキュメントが参考になります。 Static Pod と systemd kubeadm でデプロイすると kube-apiserver 等は Static Pod で、kubelet は systemd 以下で動作するようになります。 kube-apiserver は意外にメモリを食ってしまうのでそのまま動作させているとメモリ不足になることがあります。(ありました) なので kube-apiserver と etcd の

                                                                                  Managed Kubernetesサービス開発者の自宅k8sクラスタ全容
                                                                                • N予備校のプログラミング教材編集に約3年携わって得られた知見 - Qiita

                                                                                  プログラミング教材の編集に携わって3年経ち、いろいろな知見が貯まってきたので「ドキュメント執筆に関するアウトプット」を行ってみようと思います。 自己紹介 ドワンゴでN予備校のコンテンツ制作に携わっているアルバイトの1人、 ryo-a です。 現在の本業は大学生で、慶應義塾大学にて計量経済学の分析に関係するあれこれをやっています。4月から慶應義塾大学大学院に進学予定です。交通関係の情報や大規模データの処理を好んでおり、最近は地理空間情報処理ツールや各種CLIツールなどを作っていたりします。 2017年4月よりアルバイトとしてドワンゴで働いており、主にプログラミング教材の制作補助に関わっています。働きはじめて3年近く経ち、色々な知見が貯まってきたので教材編集を通じて得られた知見を書いてみます。 併せて、プログラミング教育におけるノウハウが業界内で共有されていけばいいな、とも思います。 (個人的

                                                                                    N予備校のプログラミング教材編集に約3年携わって得られた知見 - Qiita