並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 477件

新着順 人気順

bashの検索結果1 - 40 件 / 477件

  • 複数の企業でデータエンジニアとして求められたスキル - yasuhisa's blog

    最近「ああ、これ前職でも前々職でもやったことあるなぁ」という仕事があった。データエンジニア(やその関連職種)として働き始めて約5年、3社でフルタイムとして働いてきて「このスキルは業界や組織規模が変わってもデータエンジニアとしてスキルを求められることが多いな」と感じたものをまとめてみることにした。棚卸し的な意味はあるが、特に転職用などではないです。 前提 どこでも必要とされたスキル データマネジメントに関する概要レベルの知識と実行力 セキュリティや法令に関する知識 事業ドメインに関する興味関心 他職種とのコミュニケーション能力 コスト管理 / コスト削減のスキル ソフトウェアエンジニアとしてのスキル DataOpsやアラートのハンドリング能力 分析用のSQLを書く力 古いテーブルやデータパイプラインを置き換えていくスキルや胆力 あるとやりやすいスキル 関連部署の動きを何となく把握しておく力

      複数の企業でデータエンジニアとして求められたスキル - yasuhisa's blog
    • 主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO

      ファイル比較 VSCodeのエクスプローラで、ファイル2つを選択して右クリックメニューから「選択項目を比較」で比較することができます。 また右クリックで、「比較対象の選択」をした後に「選択項目を比較」でも比較することも可能です。 VSCodeのSnippetの使い方 VSCodeのSnippetも便利です。似たような構造のクラスを実装する場合などや、プロジェクト共通で使いがちな書き方というものをSnippetに登録して、効率化することができます。 また、変数を持たせておくこともできます。この場合、Snippetを呼び出した後に変数部分にカーソルがあたるので、そこで変数部分をタイピングできます。 詳細は以下のリンクをご覧ください。 Visual Studio Codeに定型文(スニペット)を登録する方法 VSCodeのUser Snippetを活用しよう! また後述するSnippet Gen

        主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO
      • XZ Utilsの脆弱性 CVE-2024-3094 についてまとめてみた - piyolog

        2024年3月29日、Linux向け圧縮ユーティリティとして広く利用されているXZ Utilsに深刻な脆弱性 CVE-2024-3094 が確認されたとして、研究者やベンダがセキュリティ情報を公開しました。この脆弱性は特定の条件下においてバックドアとして悪用される恐れがあるものとみられており、当該ソフトウエアのメンテナのアカウントにより実装されたソフトウエアサプライチェーン攻撃の可能性が指摘されています。ここでは関連する情報をまとめます。 脆弱性の概要 xzとは主要なLinuxディストリビューションに含まれる汎用的なデータ圧縮形式で、今回問題が確認されたのはその圧縮・解凍ユーティリティであるliblzma(API)を含むXZ Utils。CVE-2024-3094が採番されており、Red Hatによって評価されたCVSS基本値はフルスコアの10。影響を受けたライブラリをリンクしているssh

          XZ Utilsの脆弱性 CVE-2024-3094 についてまとめてみた - piyolog
        • 中級Git操作

          今回の記事の内容はGitHub共同創業者のScott Chacon氏の「Pro Git」と同氏の今年の「So You Think You Know Git」(Gitがわかっているとでも思っているか?)発表をベースにしている。 コンフィグ ここでコンフィグにてデフォルトとして指定して損がないオプションをいくつか紹介します。 git rerere git rerereは"reuse recorded resolution"(記録ずみ解決方法を再利用)の略語になっている。 名の通りマージコンフリクトがどう解消されたかを記録し、次に同じようなコンフリクトが発生した際、同様の解決方法を自動的に適用するためのコマンドです。 また、基本的にデフォルトにしてもときに差し支えないため、ぜひgit config --global rerere.enabled trueを実行してみてください。 git main

            中級Git操作
          • AWSコンテナ系アーキテクチャの選択肢を最適化する | 外道父の匠

            これまでもコンテナ関連の記事はそれなりに書いてきましたが、改めて最新事情に合わせて練り直したり見渡してみると、大きなところから小さなところまで選択肢が多すぎると感じました。 コンテナ系アーキテクチャを丸っと他所の構成で真似することって、おそらくほとんどなくて、参考にしつつ自分流に築き上げていくでしょうから、今回は築くにあたってどういう選択肢があるのかにフォーカスした変化系で攻めてみようと思った次第です:-) 目次 今年一発目の長いやつです。半分は学習教材用、半分は道楽なテイストです。 はじめに 基盤 インスタンス or コンテナ ECS or EKS on EC2 or FARGATE X86 or ARM64 ロードバランサー メンテナンス:ALB or ECS Service 共有 or 1環境毎 アクセスログ:ALB or WEBサーバー ECS / EKS デプロイ:Blue/Gr

              AWSコンテナ系アーキテクチャの選択肢を最適化する | 外道父の匠
            • NewSQLはデータベースに革命を起こすか - NetflixにおけるCockroachDBのユースケース|ミック

              近年のデータベースの新潮流にNewSQLと呼ばれる一群のデータベース製品群の登場がある。そのコンセプトを一言でいうと、RDBとNoSQLのいいとこどりである。SQLインタフェースと強いデータ一貫性(ACID)というRDBの利点と水平方向のスケーラビリティというNoSQLの長所を兼ね備えた夢のようなデータベースである。下図に見られるように、RDBとNoSQLが鋭いトレードオフを発生させていたのに対して、NewSQLではそれが解消されているのが分かる。 RDB vs NoSQL vs NewSQL本当にそのような夢の実現に成功しているか、というのはまだ議論が続いているが(クエリのスループットを出すためにレイテンシを犠牲にしているので本当にトレードオフを解消はしていない、などの問題が指摘されている)、商用でも利用可能な製品としてGoogle Spanner、TiDB、YugabyteDB、Coc

                NewSQLはデータベースに革命を起こすか - NetflixにおけるCockroachDBのユースケース|ミック
              • 2023年のシェル環境構築

                tl;dr fig starship zsh fzf sheldon なぜ vscode の .vscode/tasks.json が fishと非常に相性が悪い。とくに fish-nvm を使っていると、fish 経由のパス実行時に node と npm へパスが通らない。 そもそも fish を使っていた理由は autocomplete を快適にするためだったが、1年ぐらい Fig を使っていて、補完はこれを任せていいと気づいた。 Fig はこういうやつ そもそも fish の拡張コマンドを使わないように生活していた。方言を覚えたくない。というか bash 拡張や zsh 拡張もあんまり覚えたくない。

                  2023年のシェル環境構築
                • 【永久保存版】シェルスクリプト完全攻略ガイド - Qiita

                  弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 シェルスクリプトの世界へようこそ! シェルスクリプトって何? シェルスクリプトは普段 Bash などのシェルで実行しているコマンドを並べて、まとめて実行できるようにしたものです。ファイルのバックアップ、ログファイルの解析、システムのセットアップなど、ターミナルで行っていた一連の作業をまとめてシェルスクリプトに記述することで、シェルスクリプトを実行するだけで自動的に一連の作業を終わらせることができるようになります。また、シェルスクリプトはファイルに保存することになるため、再利用するのも簡単になります。 シェルスクリプトで使うコマンドの多くは UNIX コマンドになると思います

                    【永久保存版】シェルスクリプト完全攻略ガイド - Qiita
                  • なぜデスクトップ「Linux」のユーザーは一向に増えないのか?

                    筆者は1997年から「Linux」を使い続けているが、その間、問題が起きたのはたった1回だけだ。その期間の長さを考えれば、これは非常に立派な成績だと言えるだろう。あるOSを30年近く使ってきて、何回か小さな問題があったほかは、深刻な問題が1度しか起きなかったという状況を想像してみて欲しい。 誰がどう見ても、それは勝利だ。 ただし最初の頃は、Linuxを使うのは決して簡単ではなかった。おそらく、筆者がLinuxに非常に早く慣れることができたのは、それが理由だろう。真剣に努力しなければならなかったのだ。 しかし今のLinuxは、昔のLinuxとは別物だ。今のLinuxは驚くほど使いやすくなっている。コマンドラインを使う必要もなければ、自分でカーネルをコンパイルする必要もない。bashのスクリプトを書いたり、正規表現を覚えたり、自分でファームウェアをインストールしたりする必要もなくなった。 今の

                      なぜデスクトップ「Linux」のユーザーは一向に増えないのか?
                    • Git不慣れ勢を束ねて安全なチーム開発をするメモ - Qiita

                      本稿は当初チーム開発時のメンバー向けにまとめたものです。 ある程度、端折っていた背景などを記載しました。 git初心者同士でのチーム開発において、git操作を詳しく知らないメンバーも含め安全に行う必要がありました。しかし、開発期間はごくわずか...この状況を回避するために、下記の対応をとりました。 Gitコマンドの基礎的な内容を理解する(私) 各種操作をGUI上で完結させる拡張機能を色々と導入する シンプルな開発フロー(Github flow)を採用し、コマンド実行に相当する操作を限定する 各操作をGUI上での操作に置き換え、チームメンバーに教える 本稿はその際の、コマンドやGUI操作に関するメモをまとめたものになります。 こういった取り組みのおかげか、チームの開発をすんなりフローに乗せることができました。 ■ 前提条件 対象とする動き Github flowを回すうえで、 cloneする

                        Git不慣れ勢を束ねて安全なチーム開発をするメモ - Qiita
                      • Ubuntu 22.04 LTS サーバ構築手順書

                        0 issue "letsencrypt.org" 0 issuewild "letsencrypt.org" 0 iodef "mailto:yourmail@example.jp" §OS再インストール さくらVPSのコントロールパネルから、OSを再インストールするサーバを選ぶ。 www99999ui.vs.sakura.ne.jp §OSのインストール操作 Ubuntu 22.04 LTS を選ぶ。 OSインストール時のパケットフィルタ(ポート制限)を無効にして、ファイアウォールは手動で設定することにする。 初期ユーザのパスワードに使える文字が制限されているので、ここでは簡単なパスワードにしておき、後ですぐに複雑なパスワードに変更する。 公開鍵認証できるように公開鍵を登録しておく。 §秘密鍵と公開鍵の作成 クライアントマシン側で生成した公開鍵を ~/.ssh/authorized_k

                          Ubuntu 22.04 LTS サーバ構築手順書
                        • ChatGPT+Marpで技術勉強会用のプレゼン資料を爆速で作成する - Taste of Tech Topics

                          こんにちは、igaです。 ゆっくりペースで実施していた、リングフィット アドベンチャーを先日クリアすることができました。 今回は、ChatGPTに、社内の技術勉強会向けに、ライトニングトーク用のプレゼン資料を作ってもらおうと思います。 私からは、テーマだけを決めて、その内容の検討自体をChatGPTにお願いしてみました。 プレゼン資料の内容 「AWS CloudShell から Amazon ECS で任意のコマンドを実行する方法」という内容を検討してみます。 概要として、以下のようなものを考えています。 「AWS CloudShell から ECS exec を利用して、Amazon ECS上のコンテナで任意のコマンドを実行するために必要な設定方法について説明する。」 ChatGPTに内容の検討を依頼する ChatGPTに内容の検討をお願いするため、以下のようなプロンプトを指定してみます

                            ChatGPT+Marpで技術勉強会用のプレゼン資料を爆速で作成する - Taste of Tech Topics
                          • 資本家をビビらせろ | p2ptk[.]org

                            以下の文章は、コリイ・ドクトロウの「Precaratize bosses」という記事を翻訳したものである。 Pluralistic 詩人アンジェロウの「人が本性を見せたら、それを信じなさい」という言葉、政治における「すべての非難は自白である」という自明の理のを組み合わせると、次のようになる。「誰かがあなたを悪徳だと非難するたびに、その人は自分自身の本性を見せているのであり、あなたはそれを信じるべきだ」。 そうした非難について考えてみよう。CARES法による対コロナ緊急経済対策の小切手をめぐる道徳的パニックを覚えているだろうか? 支配階級の代弁者たちは、ありとあらゆるケーブルテレビに出演し、「こんなことをしたら、誰も働きたがらなくなるだろう」と口々に不満を漏らした。労働者は、すべて――家、子供、冷蔵庫の食料など――を失うことへの恐怖心のみに突き動かされて仕事に就くのだと彼らは考えている。 こ

                              資本家をビビらせろ | p2ptk[.]org
                            • 日米で経験した炎上プロジェクトの違い|牛尾 剛

                              私はアメリカでクラウドの中の人をやっている開発者だ。最近アメリカの方でも当初の予定がとても延びたプロジェクトを経験した。このような時に、日本では多分ものすごい炎上プロジェクトになると思うのだが、アメリカで体験したそれは全然違う感じだった。 これは一言でいうと「納期感の違い」がもたらしている感覚だった。 炎上感のなさ 私が感じた「予定がとても延びた」プロジェクトの場合、日本にいたときのプロジェクトでは、受託開発、内製双方ともに物凄く「大問題」になっていた。上位のマネジメントも連日のように進捗の会議を行い、人が追加投入され、エンジニアは時には泊りで一日も早く後れを取り戻すために皆遅くまで、そして土日も働き、お客様はもう怒り心頭… だったと思うのだが、こちらで体験したプロジェクトは拍子抜けするぐらい炎上感が無かった。 当初予定していた日程が一か月以上伸びても、みんな慌てる様子もなく、私はわからな

                                日米で経験した炎上プロジェクトの違い|牛尾 剛
                              • Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ

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

                                  Makefile覚書: Goアプリ開発に役立ちそうな基礎知識 | フューチャー技術ブログ
                                • PowerShellのスクリプトを書く時の諸注意

                                  先日Windows向けの作業のちょっとした自動化のためにPowerShellのスクリプトを書いたので、少し躓いたポイントを書きます。 大人しくLinux版のPowerShellもインストールします WSL2のEmacsから快適に編集するためにシンタックスなどのエラーレポートなどがやはり欲しいですね。 Powershell - LSP Mode - LSP support for Emacs を使えば普通にLSPが利用可能ですが、インストールするためにpwshが実行ファイルとしてPATHに認識されている必要があります。 しかしWSL2上で作業しているのですから、 Windows上のpwsh.exeを使えば多重にインストールする必要がなくなるのではと考えました。 そこでlsp-pwsh-exeにpwsh.exeを追加してみたのですが、 Windows上のPowerShellをWSL2上で動かす

                                    PowerShellのスクリプトを書く時の諸注意
                                  • eBPFを使った自動テストツール「Keploy」がすごい

                                    この記事はKeployのバージョンv2.0.0-alpha53 を前提に執筆しております。 Keployとは KeployはeBPFを利用して取得できるWebアプリケーションの通信に関するトレース情報を元に、テストとそのテストの実行時に利用するスタブサーバーを生成することができるツールとなります。 公式サイトのトップには以下のようなスローガンが掲げられています。 2 minutes to 90% test coverage! テストに苦労した経験のある方は興味を惹かれるのではないでしょうか。 現在まだアルファ段階のプロジェクトですが、GitHubスター数は2683(2024/01/04現在)、CNCF Landscape にも掲載されているなど、一定の注目を集め始めているOSSです。 開発主体はプロダクトと同名のKeployというインド発のスタートアップで、去年GoogleによるインドのA

                                      eBPFを使った自動テストツール「Keploy」がすごい
                                    • 毎日本番DBをダンプして、ローカルと開発環境で利用して生産性を上げてる話

                                      シードデータで動作確認して大丈夫だったのに、本番反映してみたら想定してなかった挙動・エラーが出た😱そんな経験はありませんか。 恥ずかしながら私は今までに何回もありました。機能開発だけじゃなくバッチやマイグレーションなんかでも発生しがちなコレ。またはシードデータで動作確認できても、本番データでも通用するか検証ができないままプルリクを作る、なんていうこともあると思います。今回はこちらを無くす試みをしたお話です。 「もう本番DBで開発しちゃえばいいじゃない」の問題点 この課題を解決するには、極論すると本番DBで開発するしかないのですが、そうなると言うまでもなく以下の問題が出てきます。 レビュー通過してないコードが本番に影響を与える トライ&エラーができない 個人情報をはじめとするセンシティブな情報が開発者の端末に漏れる データ量が多すぎてローカルに持ってこれない しかし言い換えると、これらをク

                                        毎日本番DBをダンプして、ローカルと開発環境で利用して生産性を上げてる話
                                      • 【バックエンド】駆け出しエンジニアが目指すジュニアレベルのエンジニアとは【2024年版】 - Qiita

                                        はじめに こんにちは。 普段はフロントエンドの開発をメインでやっておりますmamiと申します。 最近バックエンドの方の勉強や、少しずつですがDB設計やAPI作成などの業務もやらせてもらえるようになったので、自分のエンジニアとしてのレベル感や、この先目指すべき道筋を明確にしたいな〜という思いでこの記事を書いております。 これは自分のための記事であると同時に、同じように駆け出し中のエンジニアさんや、ミドル層を目指す手前のエンジニアさんにも刺さる内容になっているかと思います。 今、自分がどのようにキャリアアップしていくべきなのか、どのような道筋でスキルを磨いていけばいいのか。そんなふうに悩んでいる方は是非読んでみてください。 ※内容はバックエンドエンジニアが対象になりますが、フロントエンドの方もなにか通じるものがある…かもしれません。 ちなみにですがフロントエンドの方の記事は下記で執筆しています

                                          【バックエンド】駆け出しエンジニアが目指すジュニアレベルのエンジニアとは【2024年版】 - Qiita
                                        • ジュニアエンジニアを脱却するための「コンテナ流儀」 - Uzabase for Engineers

                                          こんにちは。ソーシャル経済メディア「NewsPicks」で検索システムを開発しております崔(ちぇ)です。 この記事は、 NewsPicks Advent Calendar 2023 の23日目の記事になります。 qiita.com 昨日ははぐっさんによる「SwiftUIのKeyframeAnimatorでちょっとしたカードアニメーション 〜猫の手を添えて〜」でした! はじめに コンテナ流儀: 必要最低限のものだけで運用する Point1)レイヤーは少ないほどいい TIP:ベースイメージを作る Point2)不要なパッケージをインストールしない Point3)いつ再起動してもいいコンテナを作る Point4)独立したアプリケーションにする TIP:複数のプロセスを実行したい場合もある TIP:環境変数を積極的に使う Point5)フォアグラウンドで実行する 終わりに まとめ 感想 告知 はじ

                                            ジュニアエンジニアを脱却するための「コンテナ流儀」 - Uzabase for Engineers
                                          • このSRE本がすごい!2024年版 - じゃあ、おうちで学べる

                                            はじめに 有用な知識の特性 Google SRE リソース Site Reliability Engineering: How Google Runs Production Systems The Site Reliability Workbook: Practical Ways to Implement SRE Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems SLO Adoption and Usage in SRE Creating a Production Launch Plan Training Site Reliability Engineers: What Your Organization Needs to Cre

                                              このSRE本がすごい!2024年版 - じゃあ、おうちで学べる
                                            • 市場価値のない無能が勢いでSES企業を辞めたのでご相談

                                              追記(04/14)今時点で頂いているトラバもブコメもすべて目を通しました。 はてなの皆さん、増田の皆さんたくさんの反応ありがとうございます。 どうしたもんかと悩んでる状況の中で、エージェントの人に話してもあまりピンと来ない反応が返ってくるし、周りに相談出来る人もいないしで、かなり勇気づけられました。 とりあえず今時点で返せる分だけお返事返しておこうと思う。 フィヨルドブートキャンプやれば? 恥ずかしながらこんなサービスがあるのを知りませんでした。 今の状況では1000時間学習してから転職ってのは難しいんだけど、転職活動終えたら利用してみたいなという気持ち。 開発に夢見すぎ 自己評価低い その通り、かもしれない。 技術記事とか書いてアウトプットしてる同世代以下の優秀な技術者たち見てて、自分とのスキルギャップに絶望してたところだったんだ。 5年弱ぐらいローコードじゃなくて、コーディングで実務経

                                                市場価値のない無能が勢いでSES企業を辞めたのでご相談
                                              • 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コマンドライン
                                                • 踏み台にはECSコンテナを。~ログイン有無を検知して自動停止させる~ - NRIネットコムBlog

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

                                                    踏み台にはECSコンテナを。~ログイン有無を検知して自動停止させる~ - NRIネットコムBlog
                                                  • はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog

                                                    この記事は、はてなエンジニア Advent Calendar 2023の2024年1月17日の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog id:hagihala です。先日、はてなブログの DB を RDS for MySQL 5.7 から 8.0 へアップグレードしたので、工夫した点などを共有します。 Aurora MySQL 3.x にしなかった理由 MySQL 5.7 -> 8.0 で対応した変更点 character set や collation のデフォルトが変更される explicit_defaults_for_timestamp がデフォルトで有効になる SQL mode の変更 デフォルトの認証プラグインが caching_sha2_password になり、 mysql_native_passw

                                                      はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog
                                                    • dockerで行う12ステップで作る組込みOS自作入門

                                                      はじめに 冬休みに12ステップで作る 組込みOS自作入門を完走したをkozosを完走しました。 そのときの備忘録になります。 12STEPの各内容は以下のようになっています。 第1部 ブート・ローダーの作成 1stステップ 開発環境の作成 2ndステップ シリアル通信 3rdステップ 静的変数の読み書き 4thステップ シリアル経由でファイルを転送する 5thステップ ELFフォーマットの展開 6thステップ もう一度,Hello World 第2部 OSの作成 7thステップ 割込み処理を実装する 8thステップ スレッドを実装する 9thステップ 優先度スケジューリング 10thステップ OSのメモリ管理 11thステップ タスク間通信を実装する 12thステップ 外部割込みを実装する 1STEP、1commit単位でまとめて進めていきました。レポジトリは以下にあります。 環境構築 マ

                                                        dockerで行う12ステップで作る組込みOS自作入門
                                                      • コンテナのベストプラクティスに対しておこがましくも言ってみる - Qiita

                                                        最近実際に開発現場にコンテナを導入してきた経験から、公式ドキュメントに記載されているベストプラクティスに実際どうなんだということを言ってみようと思います。公式に書いてあることを間違ってると指摘という意図はありません 発言は個人の見解に基づくものであり、所属組織を代表するものではありません。 2023/12/3更新: 燃えかけてるのでタイトルを変えました。 補足: こちらの環境は下記を想定しています。 Java CICD/本番環境イントラネット内に整備 WF開発 マルチステージ・ビルドを使う マルチステージビルドの目的 公式ドキュメントには、下記のように記載があります。 マルチステージ・ビルド は、中間レイヤとイメージの数を減らすのに苦労しなくても、最終イメージの容量を大幅に減少できます。 つまり、最終イメージの容量を減らすことが目的であって、その一つの手段としてマルチステージビルドを進めて

                                                          コンテナのベストプラクティスに対しておこがましくも言ってみる - Qiita
                                                        • 分散モノリスとWebAssemblyランタイムを用いた新しいアプリプラットフォーム「Wasmer Edge」登場。オーケストレーションもサービスメッシュも不要

                                                          分散モノリスとWebAssemblyランタイムを用いた新しいアプリプラットフォーム「Wasmer Edge」登場。オーケストレーションもサービスメッシュも不要 WebAssemblyランタイム「Wasmer」の開発元であるWasmer社は、エッジロケーション上のデータセンターにWebAssemblyランタイムを展開し、分散モノリスなアーキテクチャを用いたサーバレス型の新しいアプリケーションプラットフォーム「Wasmer Edge」を発表しました。 The Cloud is dead, long live the Cloud! Announcing Wasmer Edgehttps://t.co/VjGsbMwopy pic.twitter.com/5mTtKBBjsZ — Wasmer (@wasmerio) June 15, 2023 上記のツイートに示されているように、Wasmer E

                                                            分散モノリスとWebAssemblyランタイムを用いた新しいアプリプラットフォーム「Wasmer Edge」登場。オーケストレーションもサービスメッシュも不要
                                                          • VSCode + Dockerでよりミニマルでポータブルな研究環境を

                                                            はじめに もっとミニマルで簡単なポータブルな環境を! 自分自身の研究のための環境構築についてこれまで二本の記事を書いてきました. これらの記事から二年ほどたち, いくつかの点において不満点が出てきました. 特に, GCPや自宅のサーバー上でリモートで作業することが多くなってきたので, よりミニマルでポータブルな環境が必要になりました. 以下では, 現時点で最小限の努力で環境を再現ができることを目標にしたDockerベースのGitHubレポジトリのテンプレートとその使い方を紹介します. このテンプレートを用いて作られた環境は, 新たなコンピュータ上で最短4ステップで環境を再現できるようになります. git clone VSCodeの"Open in Remote Containers" renv::restore() dvc pull この環境とセットアップはこのレポジトリにテンプレートとし

                                                              VSCode + Dockerでよりミニマルでポータブルな研究環境を
                                                            • 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カクテル
                                                              • 2024年のPythonプログラミング - Uzabase for Engineers

                                                                ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう。 以下の手順でpyenvとPythonをインストールできます。 brew install pyenv # Bashの場合 echo 'eval "$(pyenv init -)"' >> ~/.ba

                                                                  2024年のPythonプログラミング - Uzabase for Engineers
                                                                • How does the Linux Kernel start a Process

                                                                  ...and how to ptrace the entry point and m3ss w1th da stack. In this article, you will learn what happens inside the Linux Kernel when a process calls execve(), how the Kernel prepares the stack and how control is then passed to the userland process for execution. I had to learn this for the development of Zapper - a Linux tool to delete all command line options from any process (without needing r

                                                                    How does the Linux Kernel start a Process
                                                                  • シェルスクリプトを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が発表
                                                                    • 『GitHub CI/CD実践ガイド』でGitHub ActionsとCI/CDを体系的に学ぼう - 憂鬱な世界にネコパンチ!

                                                                      『GitHub CI/CD実践ガイド――持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用』という書籍を最近出版したので紹介します。本書ではGitHub Actionsの実装と、CI/CDの設計・運用を体系的に学べます。一粒で二度美味しい書籍です。筆者個人としては「実践Terraform」以来、4年半ぶりの商業出版になります。 gihyo.jp どんな本? GitHub利用者にとって、もっとも導入が容易なCI/CD向けのソリューションはGitHub Actionsです。GitHub Actionsの活用事例は多く、検索すればたくさん情報が出てきます。ただ断片的な情報には事欠かない反面、体系的に学習する方法は意外とありません。CI/CD自体がソフトウェア開発の主役になることもまずないため、なんとなく運用している人が大半でしょう。そこで執筆したのが『GitHub CI/

                                                                        『GitHub CI/CD実践ガイド』でGitHub ActionsとCI/CDを体系的に学ぼう - 憂鬱な世界にネコパンチ!
                                                                      • Open Interpreterがついに画像出力にも対応!使い方から実践までを解説【画像付き】 | WEEL

                                                                        つまり、Open Interpreterの推しポイントはこちらです。 動作環境 Open Interpreterはクラウドとローカル環境の両方で動作するため、インターネットへのフルアクセスが可能です。これにより、外部APIやデータベースに自由にアクセスでき、プロジェクトの柔軟性が大幅に向上します。 パッケージとライブラリの選択肢 Open Interpreterでは、任意のパッケージやライブラリを使用できます。これは、特定のプロジェクトに最適なツールを選べるという点で非常に価値があります。 制限のない実行時間とファイルサイズ Open Interpreterは実行時間やファイルサイズに制限がありません。大規模なデータ分析や計算処理もスムーズに行えます。 セキュリティの確保 Open Interpreterは、コードを実行する前にユーザーの確認が必要です。不正なコードの実行を防ぐことができ、

                                                                        • KeyTrap (CVE-2023-50387)を検証してみた - knqyf263's blog

                                                                          DNSは趣味でやっているだけですし有識者のレビューを経ているわけでもないので誤りを含むかもしれませんが、DNS界隈には優しい人しかいないのできっと丁寧に指摘してくれるはずです。 追記:めちゃくちゃ丁寧にレビューしていただいたので修正いたしました。森下さんほどの方に細かく見ていただいて恐れ多いです...(学生時代に某幅広合宿で森下さんの発表を見てDNSセキュリティに興味を持った) 4万文字を超える大作、おつかれさまです。わかりやすく書けていると思いました。 ざっと読んで、コメントしてみました。ご参考まで。https://t.co/bVj5WeFHQr https://t.co/ku5NOx6ua8— Yasuhiro Morishita (@OrangeMorishita) 2024年2月19日 要約 背景 詳細 DNSSECとは? DNSSECの可用性 鍵タグの衝突 攻撃内容 SigJam

                                                                            KeyTrap (CVE-2023-50387)を検証してみた - knqyf263's blog
                                                                          • MacでLocalでLLMを走らせるならLM Studioが楽。 - Qiita

                                                                            MacでLocal LLM そこそこRAMの大きなMacbook proが手に入ったので、ローカルでのLLM実行を試すことにした。 しかし、MacのGPUを有効化させることのできるローカル環境を整えるまでに、思いのほか苦労したので、メモとして記しておく。 とりあえず、以下の3つの選択肢を試した。 open interpreter text-generation-webui LM Studio で、結局のところ現状まともに動作してくれたのは、LM Studioだけだったのだが、それぞれの所感について示しておく。 1: open interpreter open interpreterそのもの説明については、Qiitaにもいくらでも記事があるのでここでは省略する。 例えば以下の記事など。 https://qiita.com/ot12/items/d2672144b914cb6f252f htt

                                                                              MacでLocalでLLMを走らせるならLM Studioが楽。 - Qiita
                                                                            • Why I Won't Use Next.js

                                                                              You’ve got a new project to work on. Or you’ve got an existing project you’re motivated to upgrade to a more modern approach. Or perhaps you’re dissatisfied with your current modern framework or second-guessing yourself and you’re investigating alternatives. In any case, you’ve got a decision to make. There are lots of “modern” frameworks to choose from. Even if you’re not facing this choice right

                                                                                Why I Won't Use Next.js
                                                                              • シェル芸の可読性を向上させるマルチライナー記法のススメ - 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
                                                                                • Open Interpreter - 自然言語でコーディングを実現するオープンソースツール|masia02 (CipherWeb,LLC.)

                                                                                  Open Interpreterは、自然言語でプログラミングができるようになる、興味深いオープンソースツールです。機能呼び出し型の大規模言語モデルを利用して、Python、JavaScript、Bashなどのコードをローカルで実行できるのが大きな特徴です。インストールと利用は簡単で、コーディング作業の効率化を図れそうなツールです。 Open InterpreterとはOpen Interpreterは、GPT-3.5やGPT-4またはCode Llamaなどの大規模言語モデルを利用して、自然言語でのコード実行を可能にするオープンソースのツールです。 コマンドラインインターフェース上で言語モデルと対話することで、PythonやJavaScriptなどのコードをローカルマシン上で実行できます。複雑なロジックのコーディングもステップごとに指示できるので、開発効率の大幅な向上が期待できます。 公式

                                                                                    Open Interpreter - 自然言語でコーディングを実現するオープンソースツール|masia02 (CipherWeb,LLC.)