並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 361件

新着順 人気順

ワンライナーの検索結果1 - 40 件 / 361件

  • ITエンジニアが投票した「ITエンジニア本大賞2022」ベスト10発表。「シェル・ワンライナー160本ノック」「モノリスからマイクロサービスへ」「恐れのない組織」など

    ITエンジニアが投票した「ITエンジニア本大賞2022」ベスト10発表。「シェル・ワンライナー160本ノック」「モノリスからマイクロサービスへ」「恐れのない組織」など 「ITエンジニア本大賞」は、仕事の役に立った本、初学者におすすめの本、ずっと手元に置いておきたい本など、おすすめの本をITエンジニアがWeb投票で選ぶイベントです。 主催は翔泳社ですが、対象となる書籍は出版社を問わず技術書、ビジネス書全般となっています。刊行年も関係なく、これまで大賞に選出された書籍を除き、この1年を振り返っておすすめしたい書籍が対象となります。 今回発表されたのは技術書部門とビジネス書部門それぞれのベスト10です。現時点では50音順に並んでいます。 このなかから特に投票の多かった技術書3冊、ビジネス書3冊について、同社が2月17日と18日に開催する「Developers Summit 2021(デブサミ20

      ITエンジニアが投票した「ITエンジニア本大賞2022」ベスト10発表。「シェル・ワンライナー160本ノック」「モノリスからマイクロサービスへ」「恐れのない組織」など
    • Linuxの基礎用語を完全理解するためにエンジニアが作成した「10のミニプロジェクト」とは?

      by Adam Harvey Linuxを利用していると「シェル」や「grep」「プロセス」といった言葉を目にします。エンジニアのCarl Riis氏はそんなLinuxの基礎用語の意味や仕組みをさまざまなウェブサイトから学習し、「10のミニプロジェクト」を作成することでスキルを向上させたとして、その詳細を公開しています。 Getting better at Linux with 10 mini-projects - carltheperson https://carltheperson.com/posts/10-things-linux GitHub - carltheperson/10-things-linux: Getting better at Linux with 10 mini-projects. https://github.com/carltheperson/10-thing

        Linuxの基礎用語を完全理解するためにエンジニアが作成した「10のミニプロジェクト」とは?
      • 『UNIXという考え方』新人エンジニアにオススメする技術書 | IIJ Engineers Blog

        IIJ ネットワーク本部アプリケーションサービス部・(兼)社長室所属。 メールサービスの運用業務に従事し、日々世界の悪と戦う一児の父親。社内 Power Automate エバンジェリスト(自称)。M3AAWG member / openSUSE Users / WIDE Project メンバー。趣味は大喜利。はがき職人。 IIJ 古賀です。普段は、IIJ セキュア MX という迷惑メールフィルタサービスの運用業務に従事し、お客様を守るために、毎日世界の悪と戦っています。 今週は「新人エンジニアにオススメする技術書」というテーマでお送りします。 早速なのですが、この「UNIXという考え方」は、厳密には技術書ではないかもしれません。なぜなら、この本は UNIX という OS が(または Linux に代表される “UNIX-like” な OS が)、どのような人々の思想のもとに設計され、

          『UNIXという考え方』新人エンジニアにオススメする技術書 | IIJ Engineers Blog
        • Linus Torvalds 氏の理想の git 運用と GitHub

          Note 本記事の内容は Linus 氏の発言が人を傷つける場合に筆者がそれを良しと考えるといった意図はございません 少し古い記事になるが、 Linus Torvalds 氏 の GitHub に対する苦言が記事になっていた。 LinuxカーネルにNTFSドライバーが追加、トーバルズ氏はGitHub経由のマージに苦言 - ZDNet Japan Linus 氏が GitHub について苦言を呈するのは今に始まったことではない(後述)が、 別に GitHub のすべてを否定しているわけではない。[1] では一体何が不満なのか。Linus 氏の理想とする git の開発フローを考察した上で、整理してみたい。 Linus 氏の理想 結論からいうと、 「意味あるコミットを作れ」「コミットを大事にしろ」 という思想が伺える。 では 「意味あるコミット」「大事にされたコミット」 とは何なのか。 筆者な

          • JSON を行単位にわかりやすく展開してくれるコマンド gron がピンポイントでとても便利

            JSON を行単位にわかりやすく展開してくれるコマンド gron がピンポイントでとても便利 2022-06-13-1 [Programming] コマンドラインでの JSON の操作には jq (軽量JSONパーサ)[2017-10-24-1] を使っています。万能で便利なんですが、奥まったところにある値だけを取りたいときとかちょっと面倒なんですよね。ちらっと値を見たいだけなのにおおげさになっちゃいがち。 ということで、 gron というのを使ってみました。 GitHub - tomnomnom/gron: Make JSON greppable!JSONをgrepしやすくするコマンドラインツールgronの紹介 - Qiitagronでjsonの扱いが楽になった話 – Tower of Engineers あ、これでいいや。 いわゆる「顧客(=私)が本当に必要だったもの」だわ。 例えば、

              JSON を行単位にわかりやすく展開してくれるコマンド gron がピンポイントでとても便利
            • sudo新一

              sudo新一.md オレは高校生シェル芸人 sudo 新一。幼馴染で同級生の more 利蘭と遊園地に遊びに行って、黒ずくめの男の怪しげな rm -rf / 現場を目撃した。端末をみるのに夢中になっていた俺は、背後から近づいてきたもう1人の --no-preserve-root オプションに気づかなかった。 俺はその男に毒薬を飲まされ、目が覚めたら・・・ OS のプリインストールから除かれてしまっていた! 『 sudo がまだ $PATH に残っていると奴らにバレたら、また命を狙われ、他のコマンドにも危害が及ぶ』 上田博士の助言で正体を隠すことにした俺は、 which に名前を聞かれて、とっさに『gnuplot』と名乗り、奴らの情報をつかむために、父親がシェル芸人をやっている蘭の $HOME に転がり込んだ。ところが、このおっちゃん・・・とんだヘボシェル芸人で、見かねた俺はおっちゃんになり

                sudo新一
              • rjとtとjqコマンドでHTTPレスポンスを試験する - ゆーすけべー日記

                Web 開発者は HTTP レスポンスをよく見る。 以前 CDN を導入する際に、キャッシュがヒットしているかどうか、どこのエッジがキャッシュを返しているかを確認するためにヘッダをよく見ていた。また、ヘッダだけではなく、TTFB といったレスポンスタイムも気にしている。とにかく HTTP レスポンスをよく見る。 HTTP レスポンスを確認する3つの方法 Chrome さえあれば DevTools を見て一目瞭然である。 とはいえ、コマンドラインで確認したい時がしばしばある。 GUI を操作するよりも手軽である。 その場合はcurlコマンドを叩けばよい。 これでプロトコル、ステータス、ヘッダが分かる。 また、レスポンスタイムを測りたければ、その名もttfb.shというcurlをラップしたコマンドラインツールがある。 https://github.com/jaygooby/ttfb.sh この

                  rjとtとjqコマンドでHTTPレスポンスを試験する - ゆーすけべー日記
                • Gitのコミットメッセージの書き方(2023年ver.)

                  本記事のモチベーション 約8年前、Gitを使い始めたときに以下の記事を公開したところ、想像以上の反応をいただきました。 当時はSubversionからGitに移行し、試行錯誤をしている中だったこともあり、多くの反応をいただけたことはモチベーションのひとつでした。 ただ、時が経ち、当然かもしれませんが現在は当時と違う書き方をしており、思想として変わっていない部分はあるものの、今でもときどきLikeをいただく中で、アップデートを全くしないのは誠実じゃないなと感じていました。 というわけで、現在のフォーマットも数年後には変わっている可能性が高いですが、その時々のスナップショットを公開することにも何らか意味があるかなと思い、「今の僕はこうコミットメッセージを書いているよ」というのをまとめました。 Gitを使う環境 開発フローやホスティングサービスごとのUIのdiffによって、最適なフォーマットは変

                    Gitのコミットメッセージの書き方(2023年ver.)
                  • 何故アウトプットが大事なのか - Pepabo Tech Portal

                    執行役員 VP of Engineering 兼技術部長の @hsbt です。 GMO ペパボ株式会社(以下、ペパボ)では一年に二回、半期ごとにエンジニアが実績の資料を作成し、資料に基づいて評価を行う制度があります。評価資料では、ペパボが大切にしている三つのことである「なかよくすること」「ファンを増やすこと」「アウトプットすること」それぞれについて、エンジニアとしてどうコミットしたかというのを述べる必要があります。 2019 年上期(1-6月)の評価を @hsbt が行った部署のメンバーに向けて、何故エンジニアにとってアウトプットが大事なのか、ということを述べた文章を社内で共有しました。今回はその文章をアレンジして公開したいと思います。 今回の評価で、気になったこととしては、 「OSS は開発していません、発表もしていなかったのでアウトプットはBです」という自己評価が散見されたことです。一

                      何故アウトプットが大事なのか - Pepabo Tech Portal
                    • プログラミング文体練習

                      レーモン・クノーの『文体練習』から着想を得て執筆された本書は、1つの課題を異なるプログラミングスタイルで実装し、さまざまなスタイルの特性やスタイルが生まれた歴史的経緯などを解説します。本家の『文体練習』は、「バスの中で起きた諍いと、その張本人を後で目撃した」という内容を、公的文書風、宣伝風、業界用語風など、99の異なる文体で表現したものですが、本書は、「単語の出現頻度をカウントして多いものから出力する」という課題を、40のスタイルで実装しています。リソース制約が大きかった時代の方法から、オブジェクト指向、純粋関数型、リフレクション、並行処理、ニューラルネットワークまで幅広いスタイルを扱い、マルチパラダイム言語Pythonの威力と魅力を感じられる構成となっています。 訳者まえがき 第2版 まえがき 第1版 まえがき 序章 第Ⅰ部 歴史的スタイル 1章 古き良き時代:アセンブリ言語 2章 Fo

                        プログラミング文体練習
                      • BPF Performance Toolsを読んだ感想 - go_vargoのブログ

                        BPF Performance Toolsを読んだので、感想ブログです。 先に感想を言っておくと「最高」でした。 BPF Performance Toolsとは? NetflixでKernel・パフォーマンスにかかわるチューニング・アーキテクチャを専門にしているBrendan Greggさんが書いた本です。BPFのiovisorというTracing分野の第一人者でもあります。 www.brendangregg.com 2019年12月に発売したばかりなので、BPFの分野では最新の本でしょう。他の著書に有名な本として(日本語版の)「詳解システム・パフォーマンス」があります。 BPF Performance Toolsは「詳解システム・パフォーマンス」第二弾と言えるかもしれません。ちなみにページ数は880Pあり、Kindleで表示される読み終わるための平均的な時間は「27時間30分」で、大作R

                          BPF Performance Toolsを読んだ感想 - go_vargoのブログ
                        • Visual Studio Code と Docker コンテナを使って開発する - Pepabo Tech Portal

                          技術部データ基盤チームの @zaimy です。今回は、 Visual Studio Code(以下 VS Code)と Docker コンテナを使って開発環境を構築する方法を紹介します。 データ基盤エンジニアの開発環境として、Python を使用する単一コンテナを例に記述しますが、他の言語や Docker Compose を使う場合でも応用できます。 背景: M1 Mac (Monterey) に Python 3.8.12 をインストールできない 先日、業務で使用するマシンを Intel Mac から M1 Mac に切り替えたのですが、CPU アーキテクチャが異なることに加えて、OS のバージョンが上がったことで Apple Clang に下位互換性のない変更が入っており、業務上ある理由で必要な Python 3.8.12 のインストールが困難でした。 そこで、私の所属するチームは全員

                            Visual Studio Code と Docker コンテナを使って開発する - Pepabo Tech Portal
                          • SIerの輪廻から解脱するための技術|はまあ

                            モチベーション最近「SIer界の輪廻からどうやって解脱したらいいですか?」 という話をちょくちょく耳にすることが増えた。 それに対する"解答"というわけではないのだけど、輪廻からの解脱を目指すにあたり、どんな要素技術を学ぶべきかについてはある程度指針を示せると思ったので今回は、選ぶべき技術と、その理由について解説していきます。 SIer界で輪廻転生を繰り返したい人はジャバ言語のラムダ式を禁止にすべきか議論するほうが大事だと思うので、こんな記事にクソリプする前にさっさと帰って、どうぞ。 TypeScript解脱への第一歩は、なにはともあれTypeScriptだろう。 正直、この言語だけ覚えておけば、FaaS(Lambda, Cloud Functions)も書けるし、ReactによるSPAとか、なんならReact Nativeでアプリも書けるし、モダンな開発環境に必要なスキルセットがすべてま

                              SIerの輪廻から解脱するための技術|はまあ
                            • 取得したドメインで送信するメールの信頼性を上げる方法 - アルパカの徒然文

                              ドメインを取得後にそれを使ったメールアドレスで送信できるようになったが、受信先でそのメールが迷惑フォルダへ分類されることがある。 会社では Google Domain でドメインを取得後、Google Workspace を利用してメールを送信できるようになった。DNS の管理は Cloud DNS を利用していて、その設定は Terraform を用いて管理している。 当初の設定はシンプルなものであった。 DNS ゾーンを設定 設定したゾーンに対して MX レコードを設定 resource "google_dns_managed_zone" "example_com_domain" { name = "example-com" dns_name = "example.com." } # https://support.google.com/a/answer/9222085 resourc

                                取得したドメインで送信するメールの信頼性を上げる方法 - アルパカの徒然文
                              • シェル・ワンライナー 160 本ノックを完走した - NTT Communications Engineers' Blog

                                この記事は、 NTT Communications Advent Calendar 2022 4 日目の記事です。 こんにちは。 SDPF クラウド・仮想サーバーチームの杉浦です。 普段は OpenStack の開発・運用をしています。 みなさんはシェル芸と聞いてどのようなコマンドを想像しますか? 私は以下のような怖いコマンド 1 を想像していました # 無限に process を fork するコマンドです # 実行するときは自己責任でお願いします :(){ :|:& };: ですがシェル芸はもっと親しみやすくて 2 実用的なものです。 私はシェル芸のシェの字もできないくらいシェル芸初心者だったのですが、 1日1問、半年以内に習得 シェル・ワンライナー160本ノック という本を完走してシェル芸チョットワカルようになったので、本の宣伝をしつつ完走した感想を紹介しようと思います。 1日1問、

                                  シェル・ワンライナー 160 本ノックを完走した - NTT Communications Engineers' Blog
                                • プログラミングに必要なブレイクスルー

                                  Yoyo Code (Matyáš Racek's blog)より。 ソフトウェアの開発方法を劇的に変えるには、いくつかのブレイクスルーが必要だと感じています。ブレイクスルーといった場合、それは大きなブレイクスルーを意味します。例えば、「構造化プログラミング」のブレイクスルーのようなもので、プログラミングに対する私たちの考え方を完全に変えてしまうようなものです。ここでは、それに関するいくつかの見解とアイデアを紹介します。 グルーコードや定型文を書くのは無駄だ 私が書くコードのほとんどは、面白いことはするわけではなく、定型文か、サブシステム同士を繋ぐための糊のようなものです。この種のコードは、すでに何度も書かれていて、これからも何度も書かれるような気がします。それなのに、なぜまた書かなければならないのでしょうか? 問題は、コードがかなり異なっていることで、通常は既存のコードをそのまま使うこと

                                  • Dockerでデバッグ対象のコンテナにツールを入れずにtcpdump/straceなどを使うワンライナー - Qiita

                                    はじめに Dockerであんなコンテナやこんなコンテナを動かしてると、なんかうまく動かなくて、デバッグのためにtcpdumpとかstraceなどのツールが使いたくなることが稀によくあります。 そんな時、デバッグ対象のコンテナ内にツールを一時的にインストールしちゃうというのが、まぁ簡単で分かりやすいんですが、デバッグ対象のコンテナを汚すのはできれば避けたいところです。 Dockerのコンテナの分離というのは、結局のところLinuxのリソースの名前空間の分離であるので、逆に同じ名前空間を共有すれば、デバッグ用に立てた隣のコンテナから、デバッグ対象のコンテナのネットワークやプロセスの状態を観察することも可能です。 また、docker buildはDockerfileを標準入力から受け取ることもできるので、ワンライナーにしてデバッグ用のコンテナをシュッと呼び出せるようにしてみました。 TL;DR

                                      Dockerでデバッグ対象のコンテナにツールを入れずにtcpdump/straceなどを使うワンライナー - Qiita
                                    • Webエンジニアとして個人的に大事だと思ってる、ノウハウ・心構えについて【前編】|Offers Tech Blog

                                      はじめに こんにちは!Offers を運営している株式会社 overflow の バックエンドエンジニアの takkun7171 です。 エルデンリングをクリアして、Apex のランクを再開したところ、 初のソロダイヤを達成しますた。齢 40 過ぎのオッサンでも、やればできるんだから!!w さて、技術ブログなんですが、今回は技術というよりも Web エンジニアとして個人的に大事だと思ってる、ノウハウ・心構えについて 書いてみようかなと考えてます。 初心者向けというわけではないのですが、 4 月ですし、新人エンジニアの方も増えるということで 初心者の方にも読んで頂きたいです。 そこそこ分量があるので、前後編に分けて、 前編はハードスキル中心、後編はソフトスキル中心で書いてみます。 後編の記事 自分はマネージャーでも CTO でもなく一介のエンジニアでしかありませんが、 Web エンジニア歴は

                                        Webエンジニアとして個人的に大事だと思ってる、ノウハウ・心構えについて【前編】|Offers Tech Blog
                                      • Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ

                                        はじめにTIG真野です。育休明けです。 フューチャー社内のタスクランナーはmakeやTaskなど複数の流派があり、チームによって使い分けられています。個人的にはmakeで良いんじゃないかと思っていますが、Taskも良いですよね。 makeは細かい記法をいつも忘れる+調べるとC言語向けの情報が出てきて脳内変換に手間を感じたため、makeを用いてWebバックエンドアプリをGoで開発するということをテーマに、役立ちそうな情報をまとめます。 なお、今記事におけるmakeは、GNU Makeを指します。バージョンは以下で動かしています。 MakefileのためのEditorConfigMakefileのインデントはハードタブである必要があります。誤りを防ぐためにもEditorConfigを設定しておくと良いでしょう。 makeは通常、Makefileという名称をデフォルトで認識しますが、同一フォルダ

                                          Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ
                                        • パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)

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

                                            パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)
                                          • Latest topics > GitHubに多数ある自分のリポジトリのデフォルトブランチをmasterからtrunkに切り替えた - outsider reflex

                                            Latest topics > GitHubに多数ある自分のリポジトリのデフォルトブランチをmasterからtrunkに切り替えた 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « ポジショントークに騙されないようにしたいし、狭い視野でポジショントークじみた極論を言うよりも、メリットとデメリット両方を把握した上でソフトランディングを図っていきたい Main Chromiumのコミットメッセージの「よりinclusiveにする」とはどういう意味か、GitHubがしている事の何がキナ臭いのか » GitHubに多数ある自分のリポジトリのデフォルトブランチをmasterからtrunkに切り替えた - Jun 12, 2020 Gitのデフォルトブランチ名

                                            • Dockerfile をベースイメージの更新に自動で追従させる - 詩と創作・思索のひろば

                                              前回のエントリで作った Docker イメージ motemen/datastore-emulator は、google/cloud-sdk をベースにしているが、このベースイメージがけっこうな頻度で更新される。とうぜん自分はその追従に手を煩わせる気はなくて、全部自動でやってほしい。 やりたかったこと google/cloud-sdk:x.y.z がリリースされたら、 リポジトリ中の ./Dockerfile と ./alpine/Dockerfile の FROM を google/cloud-sdk:x.y.z(-alpine) に更新し、 x.y.z タグを打って git push することで、 Docker Hub に x.y.z(-alpine) タグとしてリリースする これを自動かつ無料で実現したい。 採用しなかった案: 自分でなんか作る はじめは適当な GitHub Actio

                                                Dockerfile をベースイメージの更新に自動で追従させる - 詩と創作・思索のひろば
                                              • Go製アプリケーションのコンテナ化にはkoを推したい - YAMAGUCHI::weblog

                                                はじめに こんにちは、Google Cloudでオブザーバビリティを担当しているものです。Cloud Operations suiteをよろしくおねがいします。(宣伝終わり) この記事はGo Advent Calendar 2021 その1の22日目の記事です。昨日は @sago35tk さんの「ESP32 向けに TinyGo をセットアップする」でした。TinyGoのコアな情報を日本語で教えてくれるtakasagoさんには本当にいつも感謝しています。 さて、今日はGo製のアプリケーションをdockerlessでコンテナ化できるkoの紹介をします。koは本当にイチオシのツールで、みんなに使ってもらいたいのでぜひ使ってください。 github.com DockerによるGo製アプリのコンテナ化 まず最もポピュラーと思われるDockerを用いた場合のGo製アプリケーションのコンテナ化の方法に

                                                  Go製アプリケーションのコンテナ化にはkoを推したい - YAMAGUCHI::weblog
                                                • Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ

                                                  eBPF(extended Berkley Packet Filter)という用語を著者が初めてみかけたのは、2015年ごろだった。最初は、eBPFをその字面のとおり、パケットキャプチャやパケットフィルタリングを担うだけの、Linuxの新しいサブシステムであろうと認識していた。しかし、実際にはそうではなかった。 システム性能の分析のための方法論をまとめた書籍Systems Performance 1 の著者で有名なBrendan Greggが、Linuxのネットワークサブシステムとは特に関係ない文脈で、古典的なシステム性能計測ツールでは計測できないことを計測するツールを作っていた。その計測ツールがeBPFという技術によって実装されていることを知ったときに、eBPFに興味をもったのだった。また、eBPFは、システム性能を調べる用途以外にXDP(eXpress Data Path)と呼ばれるプ

                                                    Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ
                                                  • eBPFに3日で入門した話 - CADDi Tech Blog

                                                    はじめに eBPF とはなにか ざっくり概要 「Packet Filter」なのに「Virtual Machine」? eBPFでなにができるか? カーネルイベントのフック ユーザーランドアプリケーションとのやりとり eBPFの主な用途 eBPFが注目される背景 eBPFの仕組み アーキテクチャと処理フロー カーネルモジュールとeBPFの違い eBPFプログラムの作り方 eBPFプログラムを作ってみる 環境の準備 Hello world もう少し複雑なサンプル その他のサンプル HTTPリクエストのダンプ TCP接続先の調査 tcplife dirtop filetop oomkill まとめ eBPFはなにに使えるか 参考サイト はじめに こんにちは、Platformチームの小森です。 eBPF (extended Berkley Packet Filter) について、2022年8月2

                                                      eBPFに3日で入門した話 - CADDi Tech Blog
                                                    • 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コマンドライン
                                                      • ちょっと複雑なシェルスクリプトをJavaScriptで書く - lacolaco-engineering

                                                        ちょっと複雑なシェルスクリプトを https://github.com/google/zx を使って書くとJavaScriptプログラマにとってはメンテナンスしやすい /lacolaco/lacolaco.iconはzx歴 3-4ヶ月ってところ (2021-08) 嬉しいところ async/awaitが使える 配列が扱いやすい モジュールで再利用しやすい 他のNode.jsライブラリと併用できる Prettierでフォーマットしやすい Lintしやすい エディタ支援が安心 Made by Google 微妙なところ JavaScriptプログラマ以外にとっては無用 とはいえシェルスクリプトによほど慣れてる人以外はよく整理されたJavaScriptのほうがセマンティクスを読み取りやすいのではないか スクリプト自体はこんな感じ(公式READMEより) code:js #!/usr/bin/en

                                                          ちょっと複雑なシェルスクリプトをJavaScriptで書く - lacolaco-engineering
                                                        • Pull Request のコメント数を減らすアホみたいなコツ|牛尾 剛

                                                          私は長年 Pull Request のコメント数が多くて何回もレビューを往復することが多くて大変つらかったが最近ものすごく単純なコツに最近きづいたのでそのことをシェアしようと思う。 Pull Requestレビューの悩みこれはならない人はならないので、共感してもらえる人は少ないかもしれないが自分の悩みは Pull Requestのコメント数でこれが本当に多い。何がつらいって、レビューのコメントが多いという事は、マージに時間が掛かるということだ。最初にコードを書いてテストして完成させるのは2時間もかかってないのに大抵レビューで何往復もして時間を取られるのが本当につらいし、進捗がでないもの嫌だし、時間かかるし、自分が最近解決したい問題の中でも筆頭の問題だった。 何が悪いのだろう?すごく嫌なので物凄く考えたがうまくいかなかった。例えば、英語のスペルミスも良くしたし、ログやコメントの英文にレビュー

                                                            Pull Request のコメント数を減らすアホみたいなコツ|牛尾 剛
                                                          • 機械学習なdockerfileを書くときに気をつけとくと良いこと - nykergoto’s blog

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

                                                              機械学習なdockerfileを書くときに気をつけとくと良いこと - nykergoto’s blog
                                                            • 「マスタリング 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
                                                              • 「1から100の偶数の和を求めるワンライナー」まとめ - Qiita

                                                                2019年8月11日頃にTwitterで「1から100の偶数の和を求める方法」(ワンライナー)が話題になったので 各言語ごとにまとめてみました。 私の独断と偏見ですが 「2550を直接出力するもの」「公式を使って総和を計算するもの」は 除外しています。 あくまでそれぞれのプログラミング言語の特色が現れるものをまとめたいと考えています。 以前あったズンドコきよしのまとめみたいなノリです。 https://qiita.com/shunsugai@github/items/971a15461de29563bf90 編集リクエスト歓迎です。 新しいワンライナーはコメント欄ではなく編集リクエストにて追加していただけると助かります! --- 8/15 11:30 コメント欄を取り込み&新たにツイートを拾いました。 --- 発端のツイート まにゃです。 いきなり問題! ここまでのツイートを手がかりに P

                                                                  「1から100の偶数の和を求めるワンライナー」まとめ - Qiita
                                                                • 組み込みシステム向けDBであるSQLite入門 - MyEnigma

                                                                  Using SQLite: Small. Fast. Reliable. Choose Any Three. (English Edition) 目次 目次 はじめに SQLiteの歴史 特徴 トランザクションがある 設定がない 様々なSQL機能が利用可能 クロスプラットの単一ファイルで管理 高速にデータにアクセスできる 大規模なデータを管理できる ソフトウェアが小さい ソフトウェアやファイルフォーマットが安定している ソースコードがPublic domainで公開されている。 ソフトウェアとしての品質が高い 使い方 公式のCLIツールを使う Pythonの公式モジュールsqlite3を使う PandasのDataFrameとSQLiteをやり取りする 参考資料 MyEnigma Supporters はじめに 世界で最も使われているOSSってなんだろうと考えた時に、 真っ先に思いつくのが

                                                                    組み込みシステム向けDBであるSQLite入門 - MyEnigma
                                                                  • sed awk make 互換性 つらい うんざりザリガニ - Lambdaカクテル

                                                                    仕事でsedのコードをパパッと書いて使ったら、コードレビューで動かんと言われてしまった。そういえば、同僚はMacで、おれはLinuxだったな。 まぁsedならよくある話なので、しょうがないと思ってawkで同じことをした。awkは比較的もうちょっと互換性がある気がしているからだ(どっこいどっこいな気もする)。 しかしまだ動かないと言う。もう、大絶叫だ。アー。おしまいだ。カスがよ〜〜〜と思いつつ(社会人なので絶叫はしない)、よく調べてみるとmakeの互換性だった。というのも、試しにbrew install makeしてGNU Makeで試してみてくれ、と言ったら、あっさり動いたからである。実はsedもawkも悪くなくて、そいつを呼び出してるmakeに互換性がなかった。ごめんな、お前たち悪くなかったよ。でもそれはそうと互換性はない。 define foobarstring ... endef #

                                                                      sed awk make 互換性 つらい うんざりザリガニ - Lambdaカクテル
                                                                    • RustからWebAssembly (wasm)を生成してJavaScriptとブリッジ通信してみる | DevelopersIO

                                                                      Rustはじめました Rustイイですよね。Cと同程度のパフォーマンスで動作して、メモリリークを防止し、マルチスレッドも安全に記述できます。GC(ガベージコレクション)処理よりも高速にメモリーを開放します。今まで、より高速に動くプログラミング言語を求めるとC/C++等が必要になり、安全面で気をつけないところが増えてしまって手が出しづらく、一方で、Javaなどの安全面が確保された言語や、JavaScriptやPythonなどのスクリプトで記述できる言語は、nullやundefinedなどを気をつける必要があり、更に実行速度を上げるには課題がありました。(Javaは十分速いと思います) Rustは、C/C++と同程度のパフォーマンス(強い)を持ちつつ、型やメモリやスレッドに関する安全面を備えているため、今後、OSやミドルウェアの開発に使われることが増えるのではと思っています。一方で、JavaS

                                                                        RustからWebAssembly (wasm)を生成してJavaScriptとブリッジ通信してみる | DevelopersIO
                                                                      • シェル芸の可読性を向上させるマルチライナー記法のススメ - Qiita

                                                                        マルチライナー記法とは? マルチライナー記法とは、その名の通りシェル芸をワンライナーではなくマルチライナー(複数行)で書くことです。長すぎる行をワンライナーで書くと以下のように横スクロールが必要になって非常に読みにくくなります。(コードは Convert long single line command to a bash shell script より借用。長いコードとして利用しているだけで中身に意味はありません)。マルチライナー記法はこのようなワンライナーを読みやすく書くことです。 nice --20 iperf3 -c somelocation.com -f k | while IFS= read -r line; do echo "$(date) $line"; done | tee onespeed.txt | tee -a speeds.txt; sleep 30 ;cat o

                                                                          シェル芸の可読性を向上させるマルチライナー記法のススメ - Qiita
                                                                        • Latest topics > Chromiumのコミットメッセージの「よりinclusiveにする」とはどういう意味か、GitHubがしている事の何がキナ臭いのか - outsider reflex

                                                                          Latest topics > Chromiumのコミットメッセージの「よりinclusiveにする」とはどういう意味か、GitHubがしている事の何がキナ臭いのか 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « GitHubに多数ある自分のリポジトリのデフォルトブランチをmasterからtrunkに切り替えた Main 「同調圧力は忌むべきものだ」と思考停止していたことに気付いた話 » Chromiumのコミットメッセージの「よりinclusiveにする」とはどういう意味か、GitHubがしている事の何がキナ臭いのか - Jun 16, 2020 1つ前のエントリにちょいちょい追記してるんだけど、見通しが悪くなってしまったので別エントリにした。

                                                                          • Windows開発環境の構築をChocolateyからscoopに切り替える - tech.guitarrapc.cóm

                                                                            この記事は、PowerShell Advent Calendar 2019の一日目です。 qiita.com Windows のパッケージマネージャーの裏はPowerShellが多く使われています。 そんなWindows におけるパッケージマネージャーと言えば、Package Management Chocolatey が有名なのではないでしょうか? 私もChocolatey をパッケージマネージャーに用いて開発環境の構築をしてきましたが、課題が多かったため Scoopに切り替えました。 Chocolatey で何が問題だったのか、なぜscoop を選んだのか、この一年 scoop をどのように環境構築に利用しているのかを紹介したいと思います。 目次 目次 TL;DR Chocolatey の利用 どのように Chocolatey を利用していたのか Chocolatey で困ること Ch

                                                                              Windows開発環境の構築をChocolateyからscoopに切り替える - tech.guitarrapc.cóm
                                                                            • コンテナセキュリティを始めるための無料ツール5つとドキュメント3つの紹介 | DevelopersIO

                                                                              コンテナセキュリティについてなんとなく不安を感じている方に向けた、ドキュメントと無料ツールの紹介です! 「コンテナセキュリティってなんか必要そうやねんけど、実際なにすんの?」 先日、我らがDevelopers.IO Cafeにおいて、クリエーションライン株式会社 (CREATIONLINE, INC.)様と共催で、以下のイベントを開催しました。 あなたのコンテナ運用大丈夫?コンテナセキュリティの考え方と対応策 - connpass 全部で3セッションで構成されているのですが、私の方では、「コンテナセキュリティ関連OSSの紹介」と題して、コンテナセキュリティこれから検討始めようという方に向けて、そのとっかかりに有用なドキュメントと無料ツールを紹介させていただきました。 ドキュメントもツールもどれも有用なものなので、コンテナセキュリティについて不安や必要性を感じている人は、これらの中から実際に

                                                                                コンテナセキュリティを始めるための無料ツール5つとドキュメント3つの紹介 | DevelopersIO
                                                                              • プロと読み解くRuby 3.3 NEWS - STORES Product Blog

                                                                                テクノロジー部門CTO室の笹田(ko1)と遠藤(mame)です。今年の 9 月から STORES 株式会社で Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています(Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」|STORES People )。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.3.0 がリリースされました(Ruby 3.3.0 リリース)。クックパッド開発者ブログで連載していたように、今年も STORES Product Blog にて Ruby 3.3 の NEWS.md ファイルの解説をします(ちなみに、STORES Advent Calendar

                                                                                  プロと読み解くRuby 3.3 NEWS - STORES Product Blog
                                                                                • Optics: 「パス」に型を付ければ、データ全体に型を付ける必要はない - Lambdaカクテル

                                                                                  あまり知られていない関数型言語のおもしろ概念として、Opticsというものがある。 Opticsとは、オブジェクト指向言語で言うところのSetter/Getterを一種の関数として捉え、いくつかの便利な特性を付与したものの総称だ。この便利な特性によって、Setter/Getter以上のことをパワフルにこなせる。 最も有名なOpticsはLensであり、色々な解説資料が(主にHaskell向けに)出ている。 blog.recruit.co.jp さて、これまでのOpticsを紹介する資料はSetterとGetterとしての側面に注目しがちだったので、じゃあOpticsの何が良いのか、Scalaでやる意義は何か、という側面をこの記事で紹介しようと思う。 Optics -- vs. copyメソッド地獄 Opticsは合成可能である Opticsはボトムアップのアプローチである Opticsがう

                                                                                    Optics: 「パス」に型を付ければ、データ全体に型を付ける必要はない - Lambdaカクテル