タグ

ブックマーク / blog.magnolia.tech (20)

  • 『systemdの思想と機能 ―Linuxを支えるシステム管理のためのソフトウェアスイート』でsystemdの機能を再確認する - Magnolia Tech

    systemdの思想と機能 Linuxを支えるシステム管理のためのソフトウェアスイート Software Design plus 作者:森若 和雄技術評論社Amazon いつの間にかどのLinuxディストリビューションでも標準で使われるようになったsystemd。なんとなくsystemctlを叩いてサービスを立ち上げていたけど、いまいち「なんで必要なの?」とか、「いろいろ機能があるっぽいけど、何ができるの?」といったことをちゃんと勉強しないままここまで来てしまったので、このでおさらい。 単なる機能紹介ではなく、「なぜsystemdはこんな広範囲な機能を扱うのか?」という機能が作られた背景から説明されているところがいいですね。 このを読むまでcore dumpまで管理されるようになったことを知りませんでした。 書を読めば、systemdはサービスが動く環境を用意するために必要な機能を備

    『systemdの思想と機能 ―Linuxを支えるシステム管理のためのソフトウェアスイート』でsystemdの機能を再確認する - Magnolia Tech
  • 『Go言語プログラミングエッセンス』を読み始めた - Magnolia Tech

    Go言語プログラミングエッセンス エンジニア選書 作者:mattn技術評論社AmazonGo言語プログラミングエッセンス』、C言語の勉強に役立つなぁ(?)— magnoliak🍧 (@magnolia_k_) 2023年3月11日 普段、Go言語のコードを書くことは無いのだけど、ざっと読むくらいのスキルは身につけておきたいなーと思って、『Go言語プログラミングエッセンス』を読み始めた。 単に言語の仕様とか、ツールの使い方を知りたいだけならば公式ドキュメントを読んで、他の人のコードを読んで、実際に書いてみればいいのだけど、このではしつこいくらいに、「他の言語との比較」や、「仕様が決まった背景」が語られている。 変数や関数の定義の記述順に関しては、わざわざC言語の構文解析の難しさを図を使ってまで説明した上で、「一方、Go言語ではこうなっている」と説明されてとても分かりやすかった。 この

    『Go言語プログラミングエッセンス』を読み始めた - Magnolia Tech
  • 10年前のRebuild.fmを聴いていると、技術に対する価値観の変遷を感じた - Magnolia Tech

    なぜかiPhonepodcastアプリの再生状態がリセットされてしまって、購読しているpodcastの再生回が分からなくなってしまった。 そこで、ふと一番よく聴いている宮川達彦さんのRebuild.fmを第一回から聞き直してみると、丁度10周年(先日のエピソードでそう言っていた)ということで、10年前の空気感が感じられて面白くなってずっと聴いている。 何気なくhttps://t.co/9JjdrBEhcgの第一回を聞き始めたら2013年って言ってて驚いた— magnoliak🍧 (@magnolia_k_) 2023年1月28日 昔のhttps://t.co/9JjdrBEhcg聴き直しを続けているけど、ずっとPerlの話をしている回とか、Dockerっていうのがあってさ!って話をしている回とかあって面白いなー ブログとかだと分からない当時の雰囲気って感じだ— magnoliak🍧

    10年前のRebuild.fmを聴いていると、技術に対する価値観の変遷を感じた - Magnolia Tech
  • sambaの「--foreground」「--no-process-group」について - Magnolia Tech

    SambaをDocker上で起動しようとして、smbdコマンドを実行してみると、上手くいかない......プロセスが終わってしまい、コンテナを抜けてしまう。 なぜだろうと思って調べた記録 参考に、Ubuntuのsambaのserviceファイルを見てみると以下のような記述が有った。 ExecStart=/usr/sbin/smbd --foreground --no-process-group $SMBDOPTIONS sambaの公式ドキュメントを、公式ドキュメントで見てみる(それにしてもsambaの公式サイトは、古き良き時代のデザインなので色使いが目に痛いし、フォントが読みづらい......)。 -F|--foreground If specified, this parameter causes the main smbd process to not daemonize, i.e.

    sambaの「--foreground」「--no-process-group」について - Magnolia Tech
    mapk0y
    mapk0y 2023/02/12
  • 『オブザーバビリティ・エンジニアリング』で学ぶ”既知の未知”と、”未知の未知”との付き合い方 - Magnolia Tech

    2023/2/4 書名のコピペをミスって間違っていました…直しました すいません>各位 オブザーバビリティ・エンジニアリング 作者:Charity Majors,Liz Fong-Jones,George MirandaオライリージャパンAmazon オブザーバビリティィィィィィイ!!!!! なんか必殺技の名前っぽいですよね、オブザーバビリティ。 リング状のエネルギーが放出されて、回転しながら相手を切り刻むイメージです。 そんなことはサテオキ この現代、バラバラに設計された、断片的な情報しか教えてくれないアプリケーションログと、よく分からない閾値に基づいた監視メトリクスと、設計意図の分からないダッシュボードと、運用メンバの経験と勘で運用するのは限界があるよなーというのは、全システム運用者の共通の課題認識ではないでしょうか。 そんな課題へのヒントがあればなーと思って、『オブザーバビリティ・エ

    『オブザーバビリティ・エンジニアリング』で学ぶ”既知の未知”と、”未知の未知”との付き合い方 - Magnolia Tech
  • 『マスタリング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
    mapk0y
    mapk0y 2023/01/22
  • 物理Linuxサーバ構築用にThinkCentre M75q Tiny Gen2を購入 - Magnolia Tech

    普段、メインで使っているPCMacBook Air 2018なので、さすがにDockerでコンテナをたくさん立ち上げたまま、ブラウザで調べ物する、みたいな使い方が辛くなってきた。夏場はファンも凄い回っちゃうし、レスポンスはすごく悪くなるし。 メインPCを買い替えようかとも思ったけど、ブラウザを使うくらいの作業なら特に不満は無い。それにそもそもメインPCLinuxが動いている必然性も無いし、画面も要らないのでサブPCとしてデスクトップPCを用意して、Linuxをインストールする方に方向に転換。 部屋に大きなデスクトップが有るとサイズ的に圧迫感が有るし、複数のマシンのファンの音が同時に鳴るのは苦手なので(データセンタではないので...)、作業している場所から離れた所の隙間に設置できるような、1リットルサイズの小型PCを探すことにした。 Amazonとかで探すと色々と出てくるけど、それなりの

    物理Linuxサーバ構築用にThinkCentre M75q Tiny Gen2を購入 - Magnolia Tech
    mapk0y
    mapk0y 2023/01/16
  • 『Linuxのしくみ』は、アプリケーションの向こう側を知るために読むべき - Magnolia Tech

    [試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】 作者:武内 覚技術評論社Amazon 2022年も良い技術書がたくさん出版されましたが、その中でも『Linuxのしくみ』はぜひ手元に置いておきたい1冊ですね。 特に、主にアプリケーションレイヤーを主戦場としている人たちにとって、OSは各種ミドルウェアと比較すると「よく分からないもの」という存在になりがちです。しかし、OSがなければアプリケーションも動かないわけで、基的な知識としてこのに書かれているようなレベルのことを押さえておくと性能が出ない時に無闇に資源を増やす前に考えるべきことの気づきが得られます(無闇に資源を増やす、という選択肢が取れる時代になったのは、それはそれで良いことですが) 特に、前半のプロセス周りは、「sar」「taskset」など自分も今までちゃんと使ったことがない

    『Linuxのしくみ』は、アプリケーションの向こう側を知るために読むべき - Magnolia Tech
    mapk0y
    mapk0y 2022/11/13
  • ISUCON12予選問題をdocker-composeで起動する - Magnolia Tech

    説明のために手順を確認したので、その覚書。 作業環境にリポジトリを用意する github.com $ git clone git@github.com:isucon/isucon12-qualify.git Dockerをインストールする www.docker.com 値上げが最近話題になりましたが、個人利用は無料です。 www.docker.com 次回はRancher Desktopを試してみます。 rancherdesktop.io docker-compose.ymlを書き換える 一箇所だけ書き換えないと、起動しません。 Docker Hubから「mysql/mysql-server:8.0.29」のイメージが無くなっていて、MySQLが起動できません。8.0.30以降のバージョンを指定しましょう(無くなった理由は探せませんでした...)。 2022/11/06追記 mysql-s

    ISUCON12予選問題をdocker-composeで起動する - Magnolia Tech
  • 設計の「why」を言語化する - Magnolia Tech

    設計の「why」を言語化できる人は強いんですよ— magnoliak🍧 (@magnolia_k_) 2022年10月29日 っていうか、驚くくらい「why」が上手く表現できないんですよ、普通は 手順は言えても、なぜ?が言えない— magnoliak🍧 (@magnolia_k_) 2022年10月29日 設計において、すべての決定について仔細に「なぜ、そうしたか?」を言えるべきなのだけど、これを上手く言語化できない人は多い。「このプロジェクトでは以前からそうしているから」「そうするのが当たり前だと思っていた」などなど、当に理解してないまま「設計という作業」を進めている人もいれば、上手く自分の行為を言語化できないだけの人もいる。 また、必ずしも自分が設計したことについて説明する場面ばかりとも限らない。既に存在する設計から「なぜ」を類推するしかない場面もある。他人のコードを読み取るとき

    設計の「why」を言語化する - Magnolia Tech
  • printデバッグに絵文字を使うと捗る話 - Magnolia Tech

    雑にprintデバッグしたい時、👺を使うと、赤くて目立ちます あと、目線が有るんで、「あ、ここを見るのね」ってわかって便利です(なにが?)— magnoliak🍧 (@magnolia_k_) 2022年3月21日 というツイートをしたら意外と反応が多かったので、ブログのエントリとして残しておきます。 printデバッグの時は冒頭に内容を示す文字列を書いておくと思いますが、その時に冒頭に「👺」を差し込んでおくと赤くて目立つし、珍しく横を向いてる絵文字なので、「ここから先を見ろ」って分かりやすい。 あとまず普通出てこないので、検索し易い。 macOS だと「おに」の変換で出てくるのでタイプ数も少ないし。 ちなみに👺はUnicode上ではgoblinという名称だけど、Tenguじゃダメだったのかな… iOSの鬼の絵文字も👹ちょっとイメージ違うしなぁ https://t.co/BcX4

    printデバッグに絵文字を使うと捗る話 - Magnolia Tech
    mapk0y
    mapk0y 2022/07/15
  • 『システム運用アンチパターン ――エンジニアがDevOpsで解決する組織・自動化・コミュニケーション』は、誰が読み、実践すべきことが書かれているのか、その「誰」を考えながら読んでほしい1冊だった - Magnolia Tech

    システム運用アンチパターン ―エンジニアがDevOpsで解決する組織・自動化・コミュニケーション 作者:Jeffery D. SmithオライリージャパンAmazon いやー刺さりまくる名言のオンパレードみたいな1冊『システム運用アンチパターン 』。 こので最初に出てくる具体的な事例が「パターナリスト症候群」という内容なんですけど、これまでの技術書にありがちな「作業品質向上や、効率化のため」というより、組織のアジリティを下げてしまう「重い承認プロセス」を排除するために自動化しましょう、と言っているところが良い。 自動化をする理由が効率化とか、品質じゃなくて、重い承認プロセスを不要にするためである、というところが新しいし、アンチパターンに技術で立ち向かうところが、良い— magnoliak🍧 (@magnolia_k_) 2022年4月23日 なので、そもそも「承認プロセス」というのは何

    『システム運用アンチパターン ――エンジニアがDevOpsで解決する組織・自動化・コミュニケーション』は、誰が読み、実践すべきことが書かれているのか、その「誰」を考えながら読んでほしい1冊だった - Magnolia Tech
  • 見通しの悪いコードができあがってしまう、その理由 - Magnolia Tech

    クソコードができあがるのは「影響の及ぼすコンポーネント量を最小にする」という個別最適の価値観が支配的になった時、です 影響の及ぶ範囲を小さくするために、巨大で複雑なコードの塊を一箇所に追加し始めたりするのです そうした方が関心の範囲が限定できるから...だけど、全体最適ではない— magnoliak🍧 (@magnolia_k_) 2022年3月12日 でも悪気はないんです 真面目に巨大で見通しの悪いコードを作り上げていくけど、影響範囲が最小になる方が常に正しい、という価値観は「わかりやすい」んですよ— magnoliak🍧 (@magnolia_k_) 2022年3月12日 「変更量が最小になる」「影響が最小になる」...目の前のタスクをこなすためには、それが一番良いことに見えるんですよね でも、「継続的に同じペースが保てるか?」「スケールするか?」というと、そんなことは無いけど、そ

    見通しの悪いコードができあがってしまう、その理由 - Magnolia Tech
  • ディストリビューションごとのJavaのバージョン表記 - Magnolia Tech

    色んなJavaのディストリビューションのバージョン表記を集めてみました 1行目はjdkのバージョンを示している ベンダがLTSを表明しているディストリビューションは「LTS」の表記がつく JREやJVMのバージョンはベンダごとに独自のバージョンが付けられる JREやJVMのバージョンの後ろに括弧付きでopenJDKのバージョン番号が表示される...ビルド番号や、ディストリビューション固有のバージョン番号が含まれる 1行目のダブルクォーテーションに囲まれた数字を見ておけばOKですね Oracle JDKのバージョン表示 java version "17.0.1" 2021-10-19 LTS Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39) Java HotSpot(TM) 64-Bit Server VM (build 17.

    ディストリビューションごとのJavaのバージョン表記 - Magnolia Tech
    mapk0y
    mapk0y 2021/11/21
  • 定期的に知識をリフレッシュする - Magnolia Tech

    IT系に身を置いていると、つい新しい知識ばかりを追いかけがちになるけど、CS的な基礎知識や、Linuxのコマンドとかの(もちろんソラでコマンド10個のオプションを言える必要は、無い)も当然大事なわけです。というか、土台となる知識が無いと、新しい知識がちゃんと身につきません。 だけど、普段使わない、手を動かさない分野のスキルはどんどん忘れていきます。歳をとると加速度的に忘れていきます。 そしてヤバいのは、分かっていることと、分かっていないこと、できること、できないことの区別がつかなくなることです。 人は分かる範囲でしか物事を理解しないので、「分かっていないことを知る」という行為を行なって「分かる範囲」を広げる、または最低でも維持する営みを続けていかないとどんどん判断する時に必要な材料が狭まっていきます。 Java 1.5の知識で、Java17時代の判断はできないですよね、10倍以上違うんだか

    定期的に知識をリフレッシュする - Magnolia Tech
  • 計画の解像度を上げていく - Magnolia Tech

    2021/8/15: 最初の言説のところ、微妙に何が何だかって記述だったので少し見直しました。 昔初めてPMBOKで「段階的詳細化」って用語を知った時、随分と当たり前のことにわざわざ名前がついてるんだなぁと思ったことが有るけど、案外ちゃんと名前をつけてあげないと最初から細部まで完璧な計画が(実際に有るかは別として)存在せねばならぬ、みたいな発想が(無自覚に)有る人に有効なんだなって— magnoliak🍧 (@magnolia_k_) 2021年8月14日 PMBOK、計画を立てろ!って書いてるけど、その計画の精度については言って無くて、変えるべき時にちゃんと検証と承認しようねってしか言ってないんだよね 初手で完璧で詳細な計画を立てろなんて言ってない— magnoliak🍧 (@magnolia_k_) 2021年8月14日 「システム開発は最後まで分からない、常に変更が続くのだ!だか

    計画の解像度を上げていく - Magnolia Tech
  • ドメイン知識は、容易に失われる - Magnolia Tech

    以前noteに書いた記事ですが、管理上こちらにも転載。 なるべくドメインを表現したコードにしよう、というのはそりゃそうなんだけど、ちょっとした記述方法だけでもドメインが持っていた意図は容易に失われる(だからこそどうやって表現を残すか考えないといけない)っていう趣旨のエントリでした。 ドメインにはドメインの都合があるし、コードにはコードの都合があるんだよね。完全にどちらかに寄るわけじゃないけど、後世の人にとって都合の悪い寄り方はあると思う。 例えば区分コードみたいな値が有ったとして、1の時は○○という処理、2,3,4の時は△△という処理を実装する、という状況のときに、条件分岐が「区分コードが1か、それ以外」で分岐させると、2,3,4と限定しておきたかった、というドメイン知識が失われたりしませんか?みたいなことが有ったり無かったり— magnoliak🍧 (@magnolia_k_) 202

    ドメイン知識は、容易に失われる - Magnolia Tech
  • コードは、業務のレア度や重要度には関心を示さないのだ - Magnolia Tech

    noteからの転載 つまり、何が言いたいかと言うと、タイトルの通り”コードは、業務のレア度や重要度には関心を示さないのだ”ということ。 人間が意味を見出さないといけない。 重要な業務のロジックだから品質保証をしっかりやろう!と言っても、実行するコンピュータはそんなことに関心を示さないし、そんな色付けをできるプログラミング言語を、私は知らない。そこに人間が意味を見出さないといけない。 当たり前のようで、これがなかなかコンセンサスが得られないことなのだ。 システムに実装されている業務と、人間が認識する業務の違いってレアリティの高い状態に対するスタンスじゃないかって思っていて、人間は「それは超レアだから、普段は気にしない、起きたら考える」って言えるけど、システムはそれを等しく(レアじゃないことと同じ粒度で)実装しなければいけなくて…— magnoliak🍧 (@magnolia_k_) Feb

    コードは、業務のレア度や重要度には関心を示さないのだ - Magnolia Tech
  • 属人性をどう捉えるか? - Magnolia Tech

    「職場の属人性を排除して、誰でも同じ作業ができるようにしよう」みたいな話、よく話題になる。 でも、そのタスクのフェーズによって「属人性」が表す意味は変わってくる。 すべての新しいこと・ステキなことは、ひとりの人間の脳内の、まさに属人的な、思いと欲望と発想から生まれるのですよ。— 杉啓 (@sugimoto_kei) 2021年1月16日 ダメな属人化、というのも確かにある。協力会社さんから受け取った請求書をどこにしまってあるか、担当者以外はわからない、みたいな。— 杉啓 (@sugimoto_kei) 2021年1月16日 属人性の排除というより、後世の人のために、畦道を舗装して、より早く走れるようにする、という表現がいいよね— magnoliak🍧 (@magnolia_k_) 2021年1月16日 どうしても、その一番の人は、いつかはいなくなっちゃうし、いなくなったことで、止まっ

    属人性をどう捉えるか? - Magnolia Tech
  • 僕らはいつまでUSB Type-Cケーブルを選ぶのに迷うのだろう…もう間違えないための覚え書き - Magnolia Tech

    2021/8/6更新 Thunderbolt4ケーブルがリリースされてきたので、アップデートしました。 blog.magnolia.tech 自分用の買い物メモ USB Type-Cケーブルの選び方は難しい…あらゆる規格をサポートするけど、あらゆる規格を”同時に”サポートするわけではないので、主にケーブル長や用途などで上手く選ばないと、使えなかったり、無駄に高いケーブルを選ぶことになってしまう そんなことを起こさないためのメモ あれこれ迷わないための”全部入り” 低速から高速まで色々な周辺機器の接続に使う(USB2.0, USB3.1, Thunderbolt3) ディスプレイ接続に使う(DisplayPort) 給電に使う(最大100W) などなどを考えると、長さが1.0m以下で、USB PD 5A(100W)対応と書かれているThunderbolt3ケーブルを選ぶと全部対応している。

    僕らはいつまでUSB Type-Cケーブルを選ぶのに迷うのだろう…もう間違えないための覚え書き - Magnolia Tech
    mapk0y
    mapk0y 2020/12/13
    Lightning ケーブルは反対が USB-A のタイプだとだと USB 2.0 かつ高速充電不可、USB-C のタイプだと USB3.0 かつ PD 対応で 3A 高速充電可能なのか。ケーブルの口で判断する感じ?
  • 1