module MyHelper def wrap_if(condition, ...) # false の時は、何も加工せずにブロックで渡されたHTMLを描画したい return yield unless condition # true の時は div 要素でラップする tag.div(...) { yield } end end <%= wrap_if(@flag, class: 'wrapper') do %> <p>こんにちは!</p> <% end %>
![rails のヘルパーメソッドで yield を呼び出すと HTML が2重で表示される - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/8596f8e0c91c878df3988c80ac777684b42d777f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9cmFpbHMlMjAlRTMlODElQUUlRTMlODMlOTglRTMlODMlQUIlRTMlODMlOTElRTMlODMlQkMlRTMlODMlQTElRTMlODIlQkQlRTMlODMlODMlRTMlODMlODklRTMlODElQTclMjB5aWVsZCUyMCVFMyU4MiU5MiVFNSU5MSVCQyVFMyU4MSVCMyVFNSU4NyVCQSVFMyU4MSU5OSVFMyU4MSVBOCUyMEhUTUwlMjAlRTMlODElOEMyJUU5JTg3JThEJUUzJTgxJUE3JUU4JUExJUE4JUU3JUE0JUJBJUUzJTgxJTk1JUUzJTgyJThDJUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz00Yjg0YTExNjYwMWM1NGZjMzMzMjBkYzc4YzA3MmEyNg%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwc2hpbm9oYXJhdCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTMyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YTk2NjAxNjgxNmU4MGE4YzZhYzFlYTAzMWYxZmRkNzI%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D5e5814f33a17953e2e3febba75dfd5fd)
Perlのカレンダー | Advent Calendar 2022 - Qiitaの22日目の記事です。 はじめに Wini.pmは、拙作の高機能軽量マークアップ言語markgaabをサポートするperlスクリプトです。これについて、この17日にアドベントカレンダーへの投稿として高機能軽量マークアップ言語をサポートするperl modulino:Wini.pmの2022年 - Qiitaを公開しました。しかし、当該記事を読み返してみるに、あまりにperlと関係ない話に終始してしまってしまいました。そこで補遺という形でもう一本書かせていただきます。 Wini.pmを使ってスクリプトを組むとこんなことができるという話です。 プログラマのためのWini.pm 前記事で説明したとおり、Wini.pmは単体でフィルタコマンドとしても静的サイトジェネレーター(SSG)としてもperlモジュールとしても
すべてのフレームワークはステートを保持する必要があります。フレームワークはテンプレートを実行することでステートを構築します。ほとんどのフレームワークは、このステートをリファレンスやクロージャとしてJavaScriptヒープに保持します。Qwikのユニークな点は、ステートが属性としてDOMに保持されることです(リファレンスもクロージャもシリアライズして送受信するのは不可能ですが、文字列であるDOM属性なら可能です。これがresumability(再開性)のカギとなります)。 DOMにステートを保持することには、以下のように多くのユニークなメリットがあります。 DOMはシリアライズの形式としてHTMLを使用します。ステートを文字列属性としてDOMに保持することで、アプリケーションをいつでもHTMLにシリアライズできます。HTMLを送信し、別のクライアントでDOMにデシリアライズすることが可能に
この記事はFOLIO Advent Calendar 2022の23日目です。 ソフトウェア2.0 ソフトウェア2.0 という新しいプログラミングのパラダイムがあります。これは Tesla 社のAIのシニアディレクターだった Andrej Karpathy が自身のブログ記事("Software 2.0")で提唱した概念で、 ニューラルネットワーク のような最適化を伴うプログラムを例に説明されています。 従来のプログラム(Software 1.0)は人間が命令に基づいたプログラムを作成し、望ましい挙動を行わせます。それに対してニューラルネットワークのようなプログラム(Software 2.0)では人間はある程度の自由度をパラメータという形で残したプログラムを作成し、「入出力のペア」や「囲碁に勝つ」というような教師データや目的を与えてプログラムを探索させるというものです。 画像出典: "So
Linux Daily Topics より堅牢なLinux起動プロセスを求めて ―Fedora,段階的な「Unified Kernel Image」サポートに向けてスタート Fedoraプロジェクトは現在、2023年4月にリリース予定の「Fedora Linux 38」に向けてさまざまな新機能の実装を検討中だが、そのひとつとして「Unified Kernel Image(UKI)」の段階的なサポートが検討されている。 UKIとは文字通り、カーネルにinitrdやコマンドライン、署名などが含まれた”統合”されたオールインワンの起動イメージ(EFIバイナリ)で、個々のマシンで生成されるinitrdイメージによる起動プロセスよりも堅牢でセキュアな起動が期待できるとされている。UKIサポートについては現在、Fedoraプロジェクトの最高意思決定機関であるFESCo(FESCo)の承認待ちで
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます PINE64は、Linuxベースのタブレット「PineTab」の次世代機として「PineTab2」を市場に投入する計画だと発表した。PineTabは、 新型コロナウイルス感染症(COVID-19)のパンデミックによる半導体不足の影響を受け、製造中断に追い込まれていた。 数々の開発者向けキットを提供している同コミュニティによると、PineTab2では金属製の筐体を採用するとともに、2つの「スナップタブ」で簡単にバックパネルを外して修理やアップグレードのために内部へアクセスできる新設計を採用したことで、同モデルは単なる仕様の強化をはるかに超えたものになっているという。 また、eMMCを独立したプリント基板上に配するなど、設計レベルでの内部の
Jack Wallen (Special to ZDNET.com) 翻訳校正: 編集部 2022-12-22 07:45 筆者が「Googleドライブ」で重宝している機能が1つある。特定のフォルダーの色を変更する機能だ。特定のクライアントに特定の色を設定して、そのディレクトリー構造内をより効率的にナビゲートできるようにしている。 こうすることで、フォルダー名を読む必要さえなくなった。色を見るだけで識別できるからだ。 この方がはるかに効率的である。非常に速いペースで作業を進める必要がある人にとっては、特にそうだろう。 幸いなことに、ある「Linux」開発者がそうした機能からヒントを得て、標準のファイルマネージャーにフォルダーの色を簡単に追加できるようにしてくれた。 フォルダーの色を追加すれば、フォルダーをより迅速に識別できるようになる。 UbuntuベースのLinuxディストリビューション
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます PINE64は、Linuxベースのタブレット「PineTab」の次世代機として「PineTab2」を市場に投入する計画だと発表した。PineTabは、 新型コロナウイルス感染症(COVID-19)のパンデミックによる半導体不足の影響を受け、製造中断に追い込まれていた。 数々の開発者向けキットを提供している同コミュニティによると、PineTab2では金属製の筐体を採用するとともに、2つの「スナップタブ」で簡単にバックパネルを外して修理やアップグレードのために内部へアクセスできる新設計を採用したことで、同モデルは単なる仕様の強化をはるかに超えたものになっているという。 また、eMMCを独立したプリント基板上に配するなど、設計レベルでの内部の
はじめに 私は今年の 9 月にログラスに入社しました。 これまで、アプリ開発に加えて、大きなデータのハンドリング、それを行うための基盤(インフラ)整備、データベース関連全般(設計、構築、運用、チューニングなど)、データ分析、コンテナ活用などに、研究開発と実務の両面から関わってきましたが、現在は社内横断的に高品質で速いプロダクト開発と運用を支援するため、インフラ(AWS)、セキュリティ、運用監視などの環境整備を中心にやっています。世の中でいうところの SRE に近い分野と言えますが、SQL のチューニングなどのアプリ開発に近いこともして、アプリ開発とインフラリソースをつなげる役割を果たそうとしています。 ログラスのバックエンドアプリでは、Kotlin が使われています。私は入社前から、Kotlin と同様に静的型付け言語である Rust に関心を持ち、「コンセプトで理解するRust」(技術評
この投稿は、Rustのtonicを用いてEnvoyなしでもgRPC-webに対応したgRPCサーバーを作り、Next.jsからgRPCのエンドポイントを呼び出すまでの方法をステップ・バイ・ステップで解説するチュートリアル記事です。 gRPC-webを実現しようとすると、クライアントサイドとサーバーサイドの間に、Envoyなどのリバースプロキシが必要となります。なぜこれが必要かというと、gRPCサーバーはHTTP2なのに対し、ブラウザがHTTP2をサポートしているとは限らないというギャップを埋めるためです。EnvoyがHTTP1でgRPCリクエストを受け付け、HTTP2に変換したものをサーバーサイドに送るという仲介役を引き受けてくれます。 しかし、RustのgRPCサーバーtonicは、それ自体HTTP1とgRPC-webをサポートしているので、Envoyなどのミドルウェアを導入する必要があ
この記事は、 NTT Communications Advent Calendar 2022 22日目の記事です。 はじめに こんにちは、イノベーションセンターの鈴ヶ嶺(@suzu_3_14159265)です。普段は、クラウド・ハイブリッドクラウド・エッジデバイスなどを利用したAI/MLシステムに関する業務に従事しています。 本日は、Rustでベクトル化された乱数生成器を実装する方法を紹介します。乱数生成器にはPermuted congruential generator(PCG)という高速でシンプルな実装を取り扱います。ベクトル化には1つの命令で複数のデータを適用するSingle Instruction, Multiple Data(SIMD)を活用します。 また、以下のように毎年Rustネタのアドベントカレンダーを書いているのでぜひ見ていただけると嬉しいです! NTTコミュニケーション
ここ1、2年の間で話題になることが多かったWebAssemblyのコンポーネントモデルについて、その背景やWasmとの関係、コンポーネントの作り方などについて紹介していきます。 本記事は、TechFeed Experts Night#9 〜 Rust/WebAssemblyの「いま」を探る のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 よろしくお願いします。今ご紹介いただきましたchikoski@です。 Rustにはコミュニティ的な関わり方が多くて、Rust.Tokyoというカンファレンスの運営をやっています。WebAssemblyは出たときからずっと仕様を追っていて、コロナの始まる前はWebイベントもやっていたのですが、最近はできていませ
こんにちは、エンジニアのちぎら @_naru_jpn です。ミラティブでは開発プロセス改善の一環として、スクラムフレームワークを試験的にひとつの開発チームに導入し、開発を行っています。該当する開発チームでは1週間のタイムボックスでスプリントをきり、導入開始から12スプリント(3ヶ月弱)をこなしてきました。チームのスクラム開発にも慣れが見えはじめ、当初想定していた開発プロセスの改善も実感が湧くようになってきました。今回は、スクラム導入の背景や内容、今後の展望などをご紹介します。 スクラム導入前の開発体制とモチベーション スクラム導入前の開発イメージ スクラム導入前の開発の流れは上図のようです。仕様書と工数の概算をもとにしてガントチャートにスケジュールがひかれ、フェーズごとに開発を進めていきます。もちろんすべて天下り式に開発を進めている訳ではなく、デザインがある程度できた時点でエンジニアも含め
この記事は新野淳一氏のブログ「Publickey」に掲載された「ローカル環境を汚さずDockerコンテナのオーバーヘッドもなく、開発環境を自在に構築できる「Devbox 0.2.0」登場」(2022年12月22日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。 Dockerコンテナの技術を用いることで、プログラミング言語のランタイムやライブラリ、ミドルウェアなどの開発環境一式を比較的容易に導入することが可能になりました。 ただしDockerコンテナにもファイルシステムのオーバーヘッドなどがあり、Dockerコンテナ内の開発環境ではコンパイルなどに時間がかかってしまう場合があったと開発ツールベンダのJetpack Technologiesは自社の経験から指摘します。 そこで同社がオープンソースで開発しているのが「Devbox」です(ちなみにMicrosoftによる仮想
Web制作やUIデザインの必須ツール「Figma」は2022年7月に日本語版がリリースされ、9月にはAdobeの傘下になることが発表され、今後もますます必須ツールとして欠かせないものなるでしょう。 Figmaの基本的な使い方をはじめ、実践的なUIデザインの制作、Figmaならではの生産性を上げ効率的なテクニックなどを詳しく解説した解説書を紹介します。 本書はリファレンスとプラクティス両方の側面があり、Figmaをこれから始める人にも、Figmaをもっと使いこなしたい人にもお勧めの一冊です。 本書は、Figma日本語版に対応した解説書です。インストール・セットアップをはじめ、基本的な使い方、Figmaならではの生産性を上げる機能の解説だけでなく、ワイヤーフレームやプロトタイプや詳細デザインの作成など実践的な作業フローまで学べます。チュートリアルに使用されるファイルは、サポートサイトからダウン
こんにちは。 EC基盤グループ サーチチームの 山村です。 この記事は、 Elastic Stack (Elasticsearch) Advent Calendar 2022 の 23日目です。 2か月ほど前になりますが、2022年10月26日に実施された 第50回 Elasticsearch勉強会 で発表させていただきました。 私が外部での発表するのは、2016年6月のSolr勉強会 以来で、非常に緊張しました。 日々の業務にかまけて、ブログが後回しになっていたことで大変遅くなってしまいましたが、上記の発表で話した内容とスライド資料から、話したかったポイントを抜粋するとともに、勉強会で不足していた部分について補足をします。 当日、発表を終えたところで気が抜けてしまい、Twitter で頂いていた質問に満足に答えられませんでしたので、この場で補足説明を含めて出来るだけ回答したいと思います。
Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する本連載「Cloud Nativeチートシート」。今回は、最近注目されている「WebAssembly」について復習しながら、WebAssemblyのアプリケーションをKubernetesで試す方法を紹介します。 Webブラウザからサーバサイドへ~注目されるWebAssembly~ ブラウザ上で高速にアプリを実行する仕組みとして、WebAssembly(「Wasm」と省略されることもある)が注目されています。W3C(World Wide Web Consortium)で標準化されていることもあり、2017年ごろには既に主要なブラウザはWebAssemblyをサポートしています。さらに「Zoom」「Google Meet」「Google Earth」「Unity」などでWebAssemblyが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く