はじめに もう文字列の置換で sed コマンド使うの禁止して良いんじゃないですかね? 言いすぎだとわかってあえて言っていますが。 悪い書き方(外部コマンドに頼る方法) # 変数 line に入ってる文字列を echo コマンドで出力して sed コマンドに渡し、 # sed の s コマンドで "from" を "to" に置換して出力したものを ret 変数で受け取る ret=$(echo "$line" | sed "s/from/to/")
こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 先日から『Ghost of Tsushima』の開発者が書いた『ルールズ・オブ・プログラミング』という本をちょっとずつ読み進めていて、プログラミング熱が高まっています。この本は大きな指針を示すだけで具体の話をするものではないのですが、読み物として面白いので私も似たようなことをやってみたくなりました。 何年もこういう仕事をしているとバグが入るパターンというのが見えてきます。そしてだいたいどこに行っても何の仕事でも似たようなことをすることになるのですが、今回の話もその一つです。 構造化テキストを文字列結合で作らない、置換でいじらないというのはこれだけみると何のことか分かりづらいかも知れませんがSaaS Product Team セキュアコーディングの啓蒙 第2回 (SQL インジェクション編)の内容とある面では同じ話です。
ホーム 技術ブログ 愛されて23万View!新卒向け研修資料「テスト文字列に”うんこ”と入れるな(2024年版)」を公開しました 愛されて23万View!新卒向け研修資料「テスト文字列に”うんこ”と入れるな(2024年版)」を公開しました こんにちは松井です。今は会長になりました。 遡ること3年前、2021年の新卒研修向けに「テスト文字列に”うんこ”と入れるな」という資料を作成しました。 おかげさまで多くの方に読んでいただいたようで、SlideShareのView数は「23.6万View(2024年4月現在)」にまで達しました。 わたし的にはもうこれで満足していたのですが、 「会長、今年も例のうんこの話をしていただけませんか」 というオファーがあり、またこのクソみたいな話をすることになったという次第です。 せっかく話をするならばということで、事例やTIPSのページを新たに加え、「2024年
「テスト文字列に”うんこ”と入れるな」──そんなふうに訴える新入社員向けの研修資料の2024年版が公開された。公開したのは、ゲーム開発などを手掛けるインフィニットループ(北海道札幌市)。軽い気持ちで入れたテスト文字列が社外に漏えいした際のリスクについて説明した資料で、新たに事例などを加筆し、21年に公開したものをバージョンアップしている。 同社がこの資料で訴えたいのは「テスト文字列には無難な文字列を使うこと」。Webエンジニアが入力フォームを作る際に使うテスト文字列に「うんこ」などのふざけた文言を入れる行為のリスクを説明。資料内では実際にテスト文字列が漏えいしたことで起きた不祥事の事例などを紹介している。
数値や日付をさまざまな形式の文字列に! toLocaleString()を使ってスマートに変換しよう ウェブアプリケーションなどでは外部のAPIからデータを取得して表示することがあるでしょう。しかしながら、APIの値を必ずしもそのまま表示せず、ユーザーにとって分かりやすい文字列に加工することもあります。たとえば、数値をカンマ区切りにしたり、日付データを特定のフォーマットに変換したりといったことはみなさんも経験があるのではないでしょうか? そのような数字や日付を変換するのに便利なのが、JavaScriptのtoLocaleString()メソッドです。このメソッドを使うことで、数値や日付をさまざまな形式に変換できます。この記事では、toLocaleString()メソッドの使い方と、その応用例を紹介します。 サンプルを別ウインドウで開く コードを確認する toLocaleString()メソ
※こちらは「かいサポ(お買いものサポーターチーム)」が編集・執筆した記事です。 ※この記事は2023年11月13日に公開された記事を編集して再掲載しています。 パスワードは、ネットワーク経由のサービスに欠かせないもの。ところが、“簡単なパスワードはNG” 。しかも、“パスワードを使い回すとリスクが高まる” ため、もはや記憶に頼った運用は、実質的に不可能になっています。 そこで、強固にガードされたパスワード管理サービスを利用するのが、現状の最適解となっているところですが、実は、アナログな手法に回帰するという手段もあるのです。 「PassCard」は、完全にネットワークから遮断された環境でパスワードを管理できるセキュリティツールです。 アナログを経由すればハッキングは怖くない イタチごっこを繰り返すセキュリティ対策を単純化できる最も効果的な手段は、ネットワークとは隔離された環境でパスワードを管
UTF8文字列生成を最適化するライブラリ Utf8StringInterpolation を公開しました 2023-10-13 Utf8StringInterpolationという新しいライブラリを公開しました!UTF8文字列の生成と書き込みに特化していて、動作をカスタマイズした文字列補間式によるC#コンパイラの機能を活用した生成と、StringBuilder的な連続的な書き込みの両方をサポートします。 Cysharp/Utf8StringInterpolation 基本的な流れはこんな感じで、Stringを生成するのと同じように、UTF8を生成/書き込みできます。 using Utf8StringInterpolation; // Create UTF8 encoded string directly(without encoding). byte[] utf8 = Utf8String
Ensembl @ensembl Ensembl Genome Browser offers open access integrated genome, gene, variation, gene regulation and comparative genomics data on a web browser platform, plus APIs ensembl.org Ensembl @ensembl ATGGAGAGGAGGTACTGCCACAGGATCAGCACCATGGCCAGCGCCAACGACGCCCACGCCCCCCCCTACAACGAGTGGTACGAGGCCAGG from everyone at @ensembl pic.twitter.com/hwwvHBVZEf 2023-12-25 19:00:04
アルメニア出身で米サンフランシスコ在住の開発者であるAsh Vardanian氏は、Python/C/C++向けライブラリ「StringZilla」のバージョン1.1.3を8月31日(現地時間)に公開した。StringZillaはApache 2.0ライセンスと3条項BSDライセンスで公開しているオープンソース・ソフトウェア。ユーザーはどちらかのライセンスを選んで利用できる。 StringZillaは、大規模な文字列データを単語ごとに区切ったり、区切った単語をソートするなどの機能を提供している。StringZillaの最初のバージョンであるバージョン1.0.0が公開されたのは2023年7月13日。それに先立ってVardanian氏が公開したブログポストでは、StringZillaの基本的な考え方を解説している。 StringZillaは、長い文字列が対象であっても最初の4文字が合致していれ
奇跡体験!アンビリバボー【公式】🍥 @unb_kiseki 「奇跡体験!アンビリバボー」の公式アカウントです!🔍 📺 毎週水曜 よる8時〜 フジテレビ系列にて 放送中! ✨ 常識では 考えられない出来事 「 #アンビリバボー 」 … あなたの身に起こるのは明日かもしれません…✨↓TVer・FOD見逃し配信は下記URLへ↓ #アンビリ #バナナマン linktr.ee/unb_kiseki 奇跡体験!アンビリバボー【公式】🍥 @unb_kiseki 惜し過ぎる! ついつい今日こそは揃うんじゃないか!? と思って確認してしまいます😂 いつも番組の名前を呟いてくださってありがとうございます🙌🌈 果たして「奇跡体験!#アンビリバボー 」 揃う日は来るのか⁉️ あなたの身に起こるのは明日かもしれません… ※当番組には関係のないアカウントです x.com/kiseki_unb/sta…
こんにちは。SI部の r_maeda です。 みなさん、FactoryBot gem はご存知でしょうか? https://github.com/thoughtbot/factory_bot FactoryBot は、Ruby オブジェクトを生成するための factory を、簡単な DSL で定義できる gem です。 RSpec gem と共に、Ruby (on Rails) で書いたアプリケーションのテストコードを書くために広く利用されている gem の1つではないでしょうか。 この FactoryBot gem ですが、生成できるオブジェクトは ActiveRecord モデルのインスタンスだけではありません。任意のクラスのインスタンスを生成することが可能です。 そんな FactoryBot gem の面白い使い方を発見したので、ご紹介したいと思います。 JSON 文字列を生成する
Mastodon v4.2およびFedibirdの、検索欄に入力する検索文字列の書式と効果の一覧です。 アカウントと投稿の照会 特定の書式を検索の入力欄に指定すると、アカウントや投稿を照会する動作となる。 相手から個別およびサーバ単位でブロックされていたり、相手側サーバとの通信に問題がある場合、正しい指定をしても照会に失敗することがある。 分類 書式 効果 アカウント照会 @noellabo@fedibird.com ローカルアカウントを照会したり、未知のリモートアカウントをネットワークから照会する(その1)。情報が古くなっている既知のアカウント情報を更新する効果もある。 アカウント照会 https://fedibird.com/@noellabo ローカルアカウントを照会したり、未知のリモートアカウントをネットワークから照会する(その2)。情報が古くなっている既知のアカウント情報を更新す
「TerminalTextEffects」はターミナルの味気ない文字列出力にさまざまなかっこいいエフェクトを追加してくれるライブラリです。ライブラリとしてアプリに追加するほか、単体のアプリとしても使用可能とのことなので、実際にターミナルにかっこいいエフェクトを追加してみました。 TerminalTextEffects Docs https://chrisbuilds.github.io/terminaltexteffects/ TerminalTextEffectsを使用するにはPythonおよびpipxが必要です。今回は標準でPythonがインストールされているUbuntu 22.04を使用しますが、その他の環境にて新たにPythonをインストールする必要がある場合は公式サイトからPythonをダウンロードしてインストールしてください。 pipxのインストールを行います。まずは下記のコマ
とあるチケット販売サイトがセキュリティー強化のためパスワードのルールを変更したのですが、 変更前: 8文字以上・16文字以下 文字数以外の制限なし 変更後: 8文字以上・16文字以下 「数字」、「英字小文字」、「英字大文字」を少なくともそれぞれ1文字ずつ入力し、規定の文字数を満たすこと のようになりました。直感では変更後の方が絶対にハズレになる文字列を枝刈りでき弱くなるように思うのですが、実際のところはどうなのでしょうか。今日日そういう攻撃は流行らんから大丈夫とかあるのでしょうか。 文字種に対してある種の強制を入れるのは伝統的なセキュリティ施策で、WindowsでもActive Directoryの設定により「大文字、小文字、数字、記号のうち3種類以上を使用する」等は一般的なポリシーです。ウェブサイトでもこの種の制約はよく見かけるところです。 これに対して、私は徳丸本初版(2011年3月)
日記を書くのに何が一番いいのか決めあぐねている。まずアナログかデジタルか。そして公開するかしないか。手書きには手書きの良さがあると思うけど、タイピングと違って書いたり直したりするのが面倒で内容が浅くなってしまう感じがする。デジタルだと、見直しやすいし編集がしやすい。でもキーボードならいいけどフリック入力は苦手なんだよな。書く時間が減っちゃう。あと公開するかしないかだけど、公開するとなるとやっぱり他人に見せる前提で書くから手を入れなきゃならなくて書けること書けないことの精査とか誤字脱字チェックとかめんどくさい。あとnoteのUIが苦手。はてなブログはまだいいけど、結局純正のメモアプリが一番好きということで今メモアプリに書いている。公開するとしたらこれをコピペするみたいなことになりそう。 ↑これだけの内容手書きで書いたら多分もう疲れちゃってるだろうな。 さてなんで日記つけようとしてるかというと
公開日 : 2024年3月23日 カテゴリー : ユーザビリティ / アクセシビリティ フォームのパスワード入力欄 (<input type="password">) は基本的に、入力された文字列がマスキングされ、代わりに文字数の分だけ「黒い点」が提示されるようになっています。他人によるパスワードの盗み見を防ぐためですが、ユーザーは、大半のケースでは背後から覗く人が誰もいない状況でパスワードを入力するでしょうし、入力した文字列が視認できないと正しくタイプできているか不安になったり、タイプミスしたときの修正がしづらい (どの箇所でミスしたか確信が持てず、はじめから入力し直さざるを得なくなる) といった問題もあるでしょう。こうしたことを考慮に入れると、パスワードのマスキングはユーザーの任意で解除できる (入力した文字列を表示させる) ようにしたほうが、ユーザビリティの観点では望ましいと考えるこ
ダウンロードはこちら 「Linux」を含む「UNIX」系OSになじみが薄いエンジニアは、時として“謎の文字列”に遭遇することがある。例えばファイルやフォルダを操作しようとした際、「rwx」「777」といった、アルファベットや数字が3つ並んだ文字列を見た経験はあるだろうか。これらは知識がなければ“謎の文字列”にしか見えないが、意味や使い方が分かると便利な手段に“変身”する。 本資料は、UNIX系OSで目にするrwxや777などの文字列が何を意味するのかを解説する。これらの文字列の意味と使い方を正しく理解して、UNIX系OSに詳しくなろう。 中身を読むには、「中身を読む」ボタンを押して無料ブックレットをダウンロードしてください。 連載:Linux/UNIX初心者のための「chmod」の使い方
こんにちは、hachi8833です。xzの脆弱性対策をお忘れなく。 “XZ Utilsの脆弱性 CVE-2024-3094 についてまとめてみた - piyolog” https://t.co/QYpX58DweW — 徳丸 浩 (@ockeghem) April 1, 2024 sshの0.5秒の遅延からxzのバックドアを発見し大惨事を未然に防いだAndres Freundの功績を讃えるMicrosoft CEO https://t.co/FwVEVIZg6p — Haruhiko Okumura (@h_okumura) April 1, 2024 週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄
PowerShellでsedのようにファイル内の文字列置換するには、Get-Content, foreach, Set-Content などを組み合わせて使う必要があります。 sed -i (ファイル内の文字列置換) sed -i と同じようにファイル内の文字列を置換するときは、以下のように複数のコマンドを組み合わせます。 (Get-Content ファイル名) | foreach { $_ -replace "置換前","置換後" } | Set-Content ファイル名 ファイル内が英数字だけなら問題ないですが、日本語が含まれていると文字化けしたまま保存されてしまうので、ファイルのエンコーディングには注意が必要です。 以下は、UTF-8 でエンコードされた text.txt ファイル内の「http:」を「https:」に置換する例です。 $TARGET = "test.txt" $E
TL;DR 適当な Grammer 拡張を入れて以下の設定を書いておきましょう。 "gopls": { "ui.semanticTokens": true, // you can optionally turn on these features for more colors // see https://go.dev/issue/45753 and https://go.dev/issue/45792 "ui.noSemanticString": true, // delegates string syntax highlighting to vscode "ui.noSemanticNumber": true, // delegates number syntax highlighting to vscode } 本文 仕事では主に Go を書いていて、DBへのクエリは生のSQLを文
エクセルで文字列に含まれた半角・全角の空白(スペース)を削除するとき、手作業で処理してはいけません。ミスを防ぐには「置換」機能と「SUBSTITUTE関数」を使うのが定番の方法です。利用する機会の多い2つのテクニックをマスターしましょう。 元の文字列を残すかどうかで使い分ける Excelで作業をしているとき、文字列に含まれる半角や全角の空白(スペース)を取り除くために、セルを編集状態にして[Backspace]キーや[Delete]キーを押したりしていませんか? 例えば、以下のようなケースです。 氏名と住所に、半角や全角の空白が含まれています。 こうした空白を手作業で削除しようとすると、削除してはいけない文字列まで削除してしまったり、部分的に空白を見落としてしまったりと、ケアレスミスが発生しがちです。一瞬で空白を削除できるテクニックを覚えて、「速い」「ミスがない」という2つの意味での時短を
はじめに Pythonの f文字列(フォーマット済み文字列リテラル)は、Python 3.6から導入された強力な機能です。文字列内に直接Python式を埋め込むことができ、コードの可読性と効率を大幅に向上させます。この記事では、f文字列の便利な使い方を10個紹介します。 Pythonのf文字列:便利な使い方10選 基本的な変数の挿入 式の評価 メソッドの呼び出し 辞書のアクセス 条件式(三項演算子) フォーマット指定子の使用 左寄せ、中央寄せ、右寄せ 日付のフォーマット 2進数、8進数、16進数表現 デバッグ用の=指定子 1. 基本的な変数の挿入 最も基本的な使い方は、変数の値を文字列に挿入することです。
はじめに パソコンを使ってお仕事をするということは、無数の文字列と向き合うことと同じです。その中でもエンジニアは、文字から離れることができません。 Wordに書かれたテキストをジョブカンに貼り付けたり、NginxのアクセスログをSpreadsheetに貼り付けたり、HTMLの差分をWinMergeに貼り付けたり……。 そして気が付けば、末尾の改行を取り払ったり、<div>タグの中のテキストを別ファイルに取り出したり、SQLで実行するIDにカンマをつけたり、ひとつひとつは単純でも、数が増えるとめんどくさい作業を繰り返していることに気づくでしょう。 文字列処理で、楽に、確実にやりましょう。 注意 ここでは、ひとつのツールにこだわらず「文字列を処理する」ことに特化したやりかたを記載していきます。 正規表現やコマンドの概念などはあまり説明しませんが、なんとなくのコピペで使えるような例を集めたつもり
共有メールボックスのユーザー ID (UserPrincipalName) は、作成時に指定したメールアドレスの @ 前と組織の既定ドメインの組み合わせにより決定されます。 共有メールボックス作成時、数字や記号で始まるプライマリアドレスを設定した場合、共有メールボックスに紐づくユーザーアカウントの UserPrincipalName がランダムな英数字の文字列となります。 例:Ga1348q798347q98347q98@contoso.comのような値になります また、別途 Alias を指定すると、Alias 文字列 + 既定のドメインにて UserPrincipalName が生成されますが、こちらも同様に数字や記号から始まる文字列を指定することで、UserPrincipalName がランダムな英数字の文字列となります。 そのため、共有メールボックス作成時には、Alias やメール
文字列のポインタ型の値を比較するテストコード Goのテストで、次のような文字列のポインタ型の値に対する比較とその結果を表示するコードを書きました。 このテストコードでは、以下のことを検証しています。 関数Fがnilを返さない 関数Fがnilを返さなかった場合、結果のポインタ型の値が指し示す内容が期待する文字列と一致する func F() *string { s := "value" return &s } func TestF(t *testing.T) { got := F() want := "value" if got == nil || want != *got { t.Errorf("want: %v, got: %v", want, got) } } 実際にテストを実行すると、問題なく成功して終了します。 しかしながら、以下のケースではどうでしょうか? 関数Fからnilが返った
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く