[フレーム]
1 - 33 件 / 33件
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
TypeScriptにはnamespaceという構文が存在します。この構文はTypeScript初期からある独自構文の一つですが、現在では特殊な用途以外では使う理由が無いため、よく知らないという方も多いでしょう。 実際、一部のレアケースを除いてnamespaceを使う必要はありませんが、それでも知識としてあったほうが良いことが多少あります。この記事ではこの部分を解説します。 型に.でアクセスできるやつ TypeScriptを使っていると.を使って型にアクセスする機会があるでしょう。例えばReact.FCなどです。 実は、親.型名のように.を使って型にアクセスできるのは、namespaceの機能です。上のコードでのReactは単なる型や単なる変数ではなくnamespaceなのです。 試しに、Foo.BarがstringとなるようにFooを定義してみてください。これができる方法は2つしかありま
はじめに この記事は、以下のlwn.netの記事を抄訳したものです。 lwn.net CPU Namespaceのご紹介 これはCPU namespaceのインターフェスとそのメカニズムを証明するための初期プロトタイプです。 現状におけるCPUリソースの制限方法 Linuxカーネルでは、タスクのCPUリソースを制御するために2つの方法を提供します。 cgroup cpuset: 該当のグループにアタッチされた単一または複数のタスクの集合に対し、CPUリソースを制限するためのメカニズムです。 syscall sched_setaffinity: CPUの集合に対して特定のタスクをピニングするためのシステムコールです(訳注: NUMA利用時の条件下などにおいてよく利用される手法)。 また、カーネルはシステムにおいて利用可能なCPUリソースを閲覧可能にするために3つの方法を提供します。 sys/
TypeScript 5.8で導入されるerasableSyntaxOnlyフラグを使うと、enumやnamespace、クラスのパラメータプロパティ、moduleキーワードなどの構文をエラーとして検出できます。これらの構文はNode.jsでTypeScriptを実行する際に非互換な構文であり、本フラグの導入によりNode.jsとTypeScriptの互換性が高まります。 本記事では、erasableSyntaxOnlyフラグの挙動と、なぜこのフラグが導入されたのかを解説します。 erasableSyntaxOnlyフラグの挙動 erasableSyntaxOnly とは、「削除可能な構文のみ」という意味です。削除可能な構文とは、Node.jsでTypeScriptを実行される際に削除される構文のことです。後ほど詳しく解説します。 erasableSyntaxOnlyフラグは、tsconf
Rubyの開発版にNamespaceが導入されました。1つのRubyプロセスの中に分離された名前空間を提供することが目的の機能で、先日開催されたRubyKaigi 2025でも大きなトピックの1つとなっていました。 github.com この記事では、Namespaceの目的と使い方を簡単に見ていこうと思います。より詳しく知りたい方は、記事末尾の参考資料を読んだり、ぜひ手元で動かしてみたりしてください。 Namespaceの目的 Namespaceの目的は、大きく以下の3つです。これはNamespaceが提案されているチケットに書かれています。 ライブラリ間での名前の衝突を避けること 意図しないクラス定義の共有などを避けること 複数バージョンのgemを1つのプロセスからロードすること 試しに使ってみる では、早速使ってみましょう。 開発版Rubyの準備 使うには最新の開発版のRubyが必
2020年代はモノリスの時代 ここ10年ほど流行っていたマイクロサービスについての理解が深まり、その限界が広く知られるようになってきた。ShopifyのModular Monolithについての記事などは代表例だろう。並行して必要性が叫ばれるようになってきたのがnamespaceだ。RubyKaigi 2023ではshioyamaさんがMultiverse Rubyと題して発表をしていたし、その後tagomorisさんも記事を書いている Rubyでは以前からnamespaceへの議論が行われてはいたのだが、Ruby 2.0の頃の議論では主にMonkey Patchingによる副作用を局所化するためのものだった。当時の議論とはライブラリ読み込みの局所化という課題が挙がっている点が異なっており、それに伴い技術的な困難も異なる。上述の記事でもそれらの多くは整理されているのだが、この記事ではまだ議
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Ruby Association Grant Project "Namespace on read" Report at Ruby Association Activity Report 2024
技術書典17で、本書に大幅にページを追加した第2版を出版します。価格は本書から値上げします。コンテナの基本となるNamespaceの知識は、初版である本書でも学べますので、本書をお求めになりたい場合は、技術書典17開催前にお求めください。 Linuxカーネルに実装されているコンテナ関連の技術のうち、Namespaceとネットワーク関連の機能について解説する本です。 Linuxにおける「コンテナ」は単一の機能として存在しているわけではありません。Linuxカーネルに実装されているさまざまな機能を組み合わせて「コンテナ」が作られます。コンテナで使われるさまざまな機能のうち、この本では「この機能があるからコンテナと呼べる」と言っても良い基本的な機能であるNamespaceと、コンテナのネットワークで使われる機能について解説します。 特定のコンテナランタイムを使うことなく、Linuxにインストール
結論から 公式の TypeScript ドキュメントの何処にも namespace を非推奨と示唆する記載は無い。 尚且つ microsoft/TypeScript#30994(comment) で TypeScript チームのリード開発者である Ryan Cavanaugh 氏が述べているように将来的に廃止される事も無い。 TypeScript の namespace について調べると公式では無い記事や投稿で非推奨(deprecated)というワードが目立つ事、tslint や typescript-eslint を使用していると namespace の使用で注意されてしまう事などから非推奨と認識されてしまっていると推測する。 個人的に「非推奨」という強いワードは「使用するな」というメッセージ性を感じる。開発者同士の間で誤解を生みかねないため namespace は非推奨では無いと伝え
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やX.comでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 最近の改修(Rails公式ニュースより) 公式更新情報: Ruby on Rails — Refactoring Active Record S
JSer.info #704 - WebdriverIO v9がリリースされました。 WebdriverIO v9 Released | WebdriverIO 新しい機能として、WebDriver BiDiのサポート、urlコマンドの追加、addInitScriptコマンドの追加、setViewportコマンドの追加、ShadowRootのサポートなどがあります。 また、emulateコマンドでClockのエミュレーションサポートや、要素がinteractiveになるまで自動的に待機する変更も含まれています。 Node.js v22.7.0がリリースされました。 Node.js — Node v22.7.0 (Current) 新しい機能として、--experimental-transform-typesフラグによるTypeScriptのenumとnamespaceの変換をサポートしまし
はじめに Kubernetes 1.25でAlpha機能ではありますが、PodでのUser Namespaceがサポートされました! User Namespaceの概要について書いた記事は以下の通りです。 [Kubernetes 1.25] Added alpha support for user namespaces in pods phase 1 今までは、Podは.spec.securityContext.runAsUserで非rootで動作させることが可能でしたが、その場合だと、起動にroot権限が必要なnginxなどのコンテナは起動できず、PodがCrashLoopBackOffとなっていました。そこで、Kubernetes 1.25で実装されたPodでのUser Namespaceを利用し、ノードのある範囲のUIDを、PodのUID 0-65535にマッピングすることで、見せか
こんにちは、タイミーの @masarakki です。 先日、5月15日から3日間開催された「RubyKaigi2024」に参加しました。 本記事で取り上げるのは、そのRubyKaigi2024の最後のセッションであるmatzのキーノートで、「これが入ったらRuby 4.0」とまで言われた @tagomoris 氏のNamespace機能。 セッション終了後、目の前に本人が座っていたので「責任重大だねwww」と煽りに行こうとしたところ、感極まって帽子を目深に被りなおしている瞬間だったのでそっとしておきました。 というわけで、セッションの内容 は他にいくらでも記事があると思うので、実際に手を動かしてみようと思います。 参考: https://gist.github.com/tagomoris/4392f1091f658294bd4d473d8ff631cb 作業ブランチが Namespace
今回は「Linuxで動かしながら学ぶTCP/IPネットワーク入門」に載せようか悩んで、結局は載せなかった内容のひとつを扱う。 Linux の Network Namespace を使って作った 2 台のルータを、Keepalived (VRRP) を使ってホットスタンバイで冗長化する構成を組んでみる。 つまり、2 台のうち 1 台のルータに障害が起きても、残りの 1 台が役務を引き継いで通信を継続できる状況を再現する。 使った環境は次のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal $ uname -srm Linux 5.4.0-107-generic aarch
今回は、iproute2 の ip-netns(8) を使わずに、Linux の Network Namespace を操作する方法について書いてみる。 目的は、namespaces(7) について、より深い理解を得ること。 使った環境は次のとおり。 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS" $ uname -r 5.4.0-1043-gcp もくじ もくじ 下準備 前提知識 unshare(1) / nsenter(1) / mount(8) を使って操作する unshare(2) / setns(2) / mount(2) を使って操作する 参考 下準備 あらかじめ、必要なパッ
システム開発 2024年07月25日 Kubernetesとは何かを図でわかりやすく解説!Pod、Namespaceも 『Kubernetes』とは、コンテナ仮想化ツールの運用管理・自動化を行うために開発されたオープンソースソフトウェアのことです。マイクロサービスとの相性が良いなど、さまざまなメリットがあるKubernetesの知識は、ITトレンドを追従するエンジニアにとって欠かせません。 この記事では、Kubernetesの基礎知識やメリット、Dockerとの関係性や、Kubernetesに関連する用語を解説します。 公開日:2020年11月12日 Kubernetesとは何か?わかりやすい図で解説 「Kubernetes」とは、Dockerなどのコンテナ仮想化ソフトウェアを管理、および自動化するためのオープンソースソフトウェア(OSS)のことです。 "クバーネティス"や"クーべネティス"
【アドカレ2023】Sidekiqのredis-namespace gemからの脱却 これは 株式会社TimeTree Advent Calendar 2023 の12日目の記事です。 11日目は @gonsee の カレンダー開発の怖い話: 週番号 の記事 でした。 こんにちは。今年の4月からTimeTreeに入社し、プロダクトDivというチームに所属しています。 社内では Dashというニックネームで働いています。 この記事では、 redis-namespacegemからの脱却までに行なった手法などを紹介していこうと思います。 ※(注記)この記事に使用しているバージョンはそれぞれ下記の通りです。 Ruby on Rails:7.0.8 ElasticCache for Redis:7.0.7 Sidekiq Pro:5.5.8 redisgem:4.8.1 redis-namespacegem
Alexey Gladkov <legion-AT-kernel.org>, Andrew Morton <akpm-AT-linux-foundation.org>, Christian Brauner <christian.brauner-AT-ubuntu.com>, "Eric W . Biederman" <ebiederm-AT-xmission.com>, Jann Horn <jannh-AT-google.com>, Jens Axboe <axboe-AT-kernel.dk>, Kees Cook <keescook-AT-chromium.org>, Linus Torvalds <torvalds-AT-linux-foundation.org>, Oleg Nesterov <oleg-AT-redhat.com> Preface ------- These p
任天堂のマルチプレイヤー用サーバー、AnthosとIstioとSpannerでできてるらしい。マルチクラスタ、Namespace単位での分離 + VirtualServiceで構成 https://t.co/wtbF1edEKN
network namespaceとは Linuxに備わっているnetwork namespace機能を用いることで、IPに関する処理を1台のLinuxの中で複数に分割することができます。ネットワーク機器でいうところのVRF(Virtual Rouring and Forwarding)に近いことができます。 network namespaceを使うことで、Linux 1台だけで複数台の機器をエミュレートできるのでいろいろ遊べそう。 構成図 作ってみるネットワークはこんな感じ。 ルータ2台の両端に端末があるだけのthe simpleという構成。 物理NW構成図 論理NW構成図 作成 network namespace(≒仮想ノード)作成 ip netns addでnetwork namespeceを作成します。root権限で実行する必要があります。 先の物理NW図で箱が4個あるとおり、4個
Linux のコンテナ仮想化を構成する機能の一つに Namespace (名前空間) がある。 Namespace は、カーネルのリソースを隔離して扱うための仕組みで、リソース毎に色々とある。 今回は、その中でも PID (Process Identifier) を隔離する PID Namespace を扱ってみる。 使った環境は次のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal $ uname -rm 5.4.0-96-generic aarch64 $ unshare --version unshare from util-linux 2.34 $ gcc --
Namespace Import に補完を効かせる TypeScript Language Service Plugin[1]、typescript-plugin-namespace-import を作りました。 そのモチベーションと使い方を紹介します。 TL;DR 普通のオブジェクトを名前空間として用いると Tree Shaking が効かずバンドルサイズが膨らむ Namespace Import を用いれば Tree Shaking が効く しかし Namespace Import は Default Export と同様に補完が効かない TypeScript Language Service Plugin でファイル名を用いた補完を効かせていいとこ取り! モチベーション 大規模なコードベースでは、全ての関数を無邪気に Named Export していると補完に全て出てきて開発体験が悪
本連載では、エンタープライズシステムでコンテナ/Kubernetesを活用した業務システムを開発・運用するエンジニアに向けて、知っておくべきKubernetesセキュリティの基礎知識、Microsoftが提供するパブリッククラウド「Azure」を使ったクラウドでのKubernetesセキュリティ対策のポイント、気を付けておきたい注意点などの実践的なノウハウを紹介します。 今回より、コンテナセキュリティの基礎となる、以下のコンテナ技術について3回に分けて説明します。 カーネルの分離 namespace リソースの分離 cgroup namespaceとcgroupで下から見るKubernetes 初回となる今回は、カーネルの分離を実現するために利用されているnamespaceを取り上げます。 コンテナはOSを論理的に分割し、隔離された空間でアプリケーションを動作させる技術です。したがって、よ
はじめに Kubernetes 1.25でAlpha機能ではありますが、PodでのUser Namespaceがサポートされました! User Namespaceの概要について書いた記事は以下の通りです。 [Kubernetes 1.25] Added alpha support for user namespaces in pods phase 1 今までは、Podは.spec.securityContext.runAsUserで非rootで動作させることが可能でしたが、その場合だと、起動にroot権限が必要なnginxなどのコンテナは起動できず、PodがCrashLoopBackOffとなっていました。そこで、Kubernetes 1.25で実装されたPodでのUser Namespaceを利用し、ノードのある範囲のUIDを、PodのUID 0-65535にマッピングすることで、見せか
Amazon S3 Tables を AWS Glue 用いてNamespaceとテーブルの作成、データ追加・削除までやってみた AWS事業本部コンサルティング部の石川です。S3 Tables の画面で「テーブルを作成、変更、削除するには、Amazon EMR を使用します」というメッセージを見たら、AWS Glueでできてもいいのでは?と思っていたところ、弊社にはData Firehoseを用いてデータを書き込むというアクロバティックなことをサクッとやってしまう漢がおりまして、私も負けないぞ、ということで挑戦してみました。 ということで、Glue 5.0のパッケージなどをこそこそと調べていたのが前日のブログになります。 Amazon S3 Tables を AWS Glue したい理由 私は実務者なので 巷の人たちが書いてる検証ブログのように、vanilla sparkでS3 Table
本セッションでは GA が近づいている Kubernetes の新機能の「User Namespace」について説明します。本機能は 2016 年から要望のあったコミュニティ待望の機能です。また、「User Namespace」 を用いた Pod は過去にあったコンテナランタイムの脆弱性の多くに対して有...
Robust Security and Isolation Granular Permissions: vCluster users operate with minimized permissions in the host cluster, significantly reducing the risk of privileged access misuse. Within their vCluster, users have admin-level control, enabling them to manage CRDs, RBAC, and other security policies independently. Isolated Control Plane: Each vCluster comes with its own dedicated API server and
こんにちは、2023年に新卒で入社し、クラウドハウス採用事業部でバックエンドエンジニアをしている上野(izumitomo)です。最近ではスクラムマスターとして働いています。 本記事では、RubyKaigi 2024の1日目のSatoshi Tagomori(@tagomoris)さんによるセッション『Namespace, What and Why』について紹介させていただきます。 Namespaceとは 本セッションはNamespaceという、Rubyのコードを隔離された別々の空間に分ける開発中の機能がテーマです。 ここにおけるNamespaceとは、アプリケーションやライブラリを隔離された空間上で読み込むものです。 Namespaceの実現のためには以下の3つの処理が必要となります。 ある空間でアプリケーション・ライブラリを読み込む 読み込んだことによる影響を他の空間から隔離する その空
k8sを使い始めて、kubectlコマンドばかり打っている毎日です。その中でちょっと面倒だなと感じていた点がふたつ。 contextまわりのコマンドが覚えられない (kubectl get contextsとかやってしまう) namespaceの指定(-n hogehoge もしくは --namespace hogehoge)を毎コマンドごとにするのが面倒 これらの煩わしい点をちょっと楽にしてくれるツールkubectxとkubensを同僚のキム インソに教えてもらったのでシェアします。 インストール macだとHomebrewでコマンド一発でインストール可能です。 これだけでkubectxとkubens両方のコマンドが使えるようになります。 他にも色々なインストール方法があるので、詳細はREADMEを御覧ください。 contextまわりのコマンドが覚えられない kubectxコマンドが便利
namespace.md "Namespace on read"とは これは、Rubyに仮想的なトップレベル名前空間を導入するためのNamespaceを提案します。NamespaceはRubyスクリプトかネイティブ拡張ライブラリかを問わず、ライブラリをグローバル名前空間から独立した形でrequire/loadします。 動機 "Namespace on read"は次の2つの問題を解決し、また1つの問題について解決の道筋を提供します。 ライブラリ(等)間での名前の衝突を避ける グローバルに共有されたライブラリ/オブジェクトの意図しない変更を避ける 依存ライブラリ間でのバージョン衝突を避ける(RubyGems, Bundlerの変更が必要) Namespaceを使用したコード例(提案) # your_module.rb module YourModule end # my_module.rb
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く