並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 1896件

新着順 人気順

Unicodeの検索結果121 - 160 件 / 1896件

  • Goバイナリの脆弱性検知 - knqyf263's blog

    Trivyのv0.17.0をリリースしました。 github.com 長い道のりでしたが、ようやくこれでGoバイナリの脆弱性検知に対応できました。夜中0時ぐらいからリリース作業を初めて気付いたら朝5時でした。 概要 Go言語で書かれたプログラムをビルドすると依存しているモジュールがバイナリに含まれます。現代のソフトウェア開発において利用しているOSSのライブラリが0ということはまれなので、何かしらのOSSライブラリが作成されたバイナリに同梱されます。これらのOSSの古いバージョンには既知の脆弱性が含まれる可能性があります。これを手動で調べて追うのは手間なので最近では脆弱性スキャナを用いて検知するのが普通です。自分が開発したTrivyというOSSの脆弱性スキャナではコンテナイメージやファイルシステム上のGoバイナリに含まれるモジュールを特定し脆弱性を検知します。 Goのバイナリからどうやって

      Goバイナリの脆弱性検知 - knqyf263's blog
    • Rust製高速データフレームライブラリ、Polarsを試す | gihyo.jp

      門脇@satoru_kadowakiです。今月のPython Monthly Topicsでは、Rust製の高速データフレームライブラリ Polars について紹介します。 Polarsとは Pythonでデータ分析に使用される主なライブラリに pandas があります。Polarsはpandasと同様にデータフレームというデータ構造オブジェクトを提供するサードパーティライブラリです。特にpandasを意識して作られており、メインページに「Lightning-fast DataFrame library for Rust and Python」とあるように、Rustによる高速処理を謳っています。 Polarsのリポジトリや関連ドキュメントは以下を参照してください。 Github: https://github.com/pola-rs/polars ユーザーガイド: https://pola

        Rust製高速データフレームライブラリ、Polarsを試す | gihyo.jp
      • ChatGPTは文字コードをどのように解釈しているか Unicodeの「日本語認識」「括弧の抽出」「旧字体と新字体の変換」を実験してみた

        「YAPC(Yet Another Perl Conference)」は、Perlを軸としたITに関わるすべての人のためのカンファレンスです。ライトニングトークにはPR TIMES インターンのShun氏が登壇。ChatGPTと文字コードについて話します。 ChatGPTは文字コードをどのように解釈しているか 土屋俊介氏:こんにちは。先ほど、発表が4分だと知った土屋です。PR TIMESというところで、機械学習のインターンをしています。 (スライドを示して)昨今、ChatGPTというものがメチャメチャはやっていますよね。私は使っていく中で、(ChatGPTが)文字コードをどのように解釈しているかが気になりました。なぜそんなニッチな話が気になるのかというと、自然言語処理とWebに関わっている以上、文字コードに関するプログラムをよく書くんです。その関係で気になったので調べてみました。 (スライ

          ChatGPTは文字コードをどのように解釈しているか Unicodeの「日本語認識」「括弧の抽出」「旧字体と新字体の変換」を実験してみた
        • Unicodeに含まれる謎の記号「⍼」の起源を追ったレポートが公開中

          大規模文字セットのUnicodeは世界中のあらゆる文字を収録することを目指して策定されており、「溶解する顔」や「妊娠中の人」といった個性的な絵文字も数多く登録されています。そんなUnicodeに登録されている正体不明の記号「⍼」について、ブリティッシュコロンビア大学でソフトウェアについて学んでいるジョナサン・チャン氏がまとめています。 U+237C ⍼ RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW · Jonathan Chan https://ionathan.ch/2022/04/09/angzarr.html 「⍼」は数学記号用のフォントなどに含まれている記号です。例えば、数式・化学式用フォント「Cambria Math」に含まれる「⍼」を拡大してみるとこんな感じ。カギカッコのような直角と稲妻形の矢印が組み合わさった日常生活では全く目にすることのない

            Unicodeに含まれる謎の記号「⍼」の起源を追ったレポートが公開中
          • \と¥の問題 - 立命館大学情報理工学部セキュリティ・ネットワークコース プログラミング言語サポートページ

            バックスラッシュ\を入力する時に円記号¥に文字化けが起きる理由 プログラムのソースプログラムは(LaTeXのソースファイルやWebページのHTMLファイル等と同様に)テキストファイル(教科書ではテキスト形式と呼ばれています。プレーンテキスト(plain text)とも呼ばれることがあります)というファイル形式で書かれます。このテキストファイルはどのようなOSでも必ずサポートされている最も基本的なファイル形式であり、実体は1バイトを単位として文字コードで表現されたデータが先頭から順に並んでいるだけのファイルです。 その文字コードは歴史的にはさまざまなものがありましたが、次第にアメリカで定められたASCIIコードが主流になり、世界中で使われるようになりました。これが国際的な規格になったものがISO/IEC 646です。これらは7ビットの文字コードなので2の7乗つまり128種類の文字が表現でき、

              \と¥の問題 - 立命館大学情報理工学部セキュリティ・ネットワークコース プログラミング言語サポートページ
            • MeCab互換な形態素解析器Vibratoの高速化技法 - LegalOn Technologies Engineering Blog

              こんにちは。LegalForce Researchで研究員をしている神田 (@kampersanda) です。 LegalForce Researchでは、MeCab互換の形態素解析器Vibrato(ヴィブラ〰ト)を開発しています。プログラミング言語Rustで実装しており、高速に動作することが主な利点です。Vibratoはオープンソースソフトウェアとして以下のレポジトリで公開しています。 github.com 本記事では、Vibratoの技術仕様を解説します。以下のような方を読者として想定します。 自然言語処理の要素技術に興味のある方 データ構造・アルゴリズムに興味のある方 Rustでの自然言語処理に興味がある方 Vibratoについて 最小コスト法による形態素解析 単語ラティスの構築 最小コスト経路の計算 高速化の取り組み 辞書引きのキャッシュ効率化 実装での注意点 連接コスト参照のキャ

                MeCab互換な形態素解析器Vibratoの高速化技法 - LegalOn Technologies Engineering Blog
              • ユニコード15.1に採用された漢字構成記述文字記号|Qvarie

                令和5年9/12にユニコード15.1が正式公開され、CJK漢字拡張-Iの他に“漢字構成記述文字”に指示記号4種、“CJK筆画”に拡張漢字構成記述文字の指示記号が1種類追加されました。ユニコードに採用されていない字の説明がしやすくなったのが重要です。𝚄+𝟹𝟷𝙴𝙵の一部除去指示記号は文字構成要素の一部が削除されていることを示す記号です。 漢字構成記述文字記号をラテン・ギリシャ・キリル各文字体系に応用した例で、ユニコードに採用されていない左右逆になる字形と逆になる字形を説明しやすくなりそうです。画像はにしき的フォントに含まれるユニコード未登録のラテン・ギリシャ・キリル各種字母を漢字構成記述文字記号で説明した例です。

                  ユニコード15.1に採用された漢字構成記述文字記号|Qvarie
                • プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ

                  技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.1.0 がリリースされました(Ruby 3.1.0 リリース )。今年も Ruby 3.1 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ プロと読み解くRuby 3.0 NEWS - クックパッド開発者ブログ 本記事は新機能を解説することもさることながら、変更が入った背景や苦労な

                    プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ
                  • Aurora MySQL 5.7とRailsで実現する全文検索機能 - dely Tech Blog

                    こんにちは。 クラシル開発部、バックエンドエンジニアの松嶋です。 delyに入社してから約3年間、私はSREチームに所属していましたが、昨年10月にバックエンドに転向しました。バックエンドに転向してからは、主にクラシルアプリの公式レシピおよびCGMコンテンツの検索機能に関する開発・改善に取り組んでいます。 クラシルは、2016年2月にサービスを開始してから、管理栄養士監修の「誰でも安全に・おいしい料理を作ることができるレシピ動画」を5万件以上提供してきました。 昨年12月には、クラシルのブランドリニューアルを行い、今後はシェフや料理研究家を中心としたクリエイターとともに多様化したユーザーの食の好みや課題解決に応えられるよう、幅広い食のコンテンツを提供するプラットフォームを目指しています。 ブランドリニューアルの詳細に関しては、こちらを御覧ください。 www.kurashiru.com この

                      Aurora MySQL 5.7とRailsで実現する全文検索機能 - dely Tech Blog
                    • 試行錯誤と改善を続けたRubyリリースマネジメントの歴史。その歩みを歴代の担当者たちが振り返る - Findy Engineer Lab

                      世界中のエンジニアから愛されるオブジェクト指向スクリプト言語Ruby。多くの人々がこの言語にコントリビューションし、その成長を支えてきました。なかでも、特定バージョンのリリースの責任を持つ“リリースマネージャー”の功績はとても大きいものです。彼らの存在があったからこそ、Rubyのリリースは滞りなく行われてきました。 しかし、リリースマネジメントの歴史はけして平坦な道のりではありませんでした。歴代の担当者たちが、適切な運用方法について試行錯誤しながら、少しずつ改善を続けてきたのです。その過程には、全てのエンジニアにとって参考になるプロジェクトマネジメントの知見が詰まっています。 今回は、歴代のRubyリリースマネージャーである卜部昌平さん(@shyouhei)、園田裕貴さん(@yugui)、遠藤侑介さん(@mametter)、成瀬ゆいさん(@nalsh)にインタビュー。これまで担ってきた役割

                        試行錯誤と改善を続けたRubyリリースマネジメントの歴史。その歩みを歴代の担当者たちが振り返る - Findy Engineer Lab
                      • 東京五輪に関係する日本語のファイル名を持つマルウェア(ワイパー)の解析 | 技術者ブログ | 三井物産セキュアディレクション株式会社

                        東京五輪に関係するファイルを装った以下のファイル名を持つマルウェアが2021年07月20日(火) 15時頃、VirusTotalにアップロードされたことを確認しました。 【至急】東京オリンピック開催に伴うサイバー攻撃等発生に関する被害報告について.exe 早速ですが、本記事では該当検体の解析結果を共有します。 該当のファイルはVirusTotalにフランスからアップロードされており、ジェネリック検出が多いもののすでに複数のアンチウイルス製品によって検知されていることを確認しています。 図1 VirusTotalにアップロードされた不審なファイル 上記のファイルのプロパティには以下の通り何も情報が付与されていません。 図2 プロパティ情報 該当ファイルはアイコンを見る限りPDFのように見えますが、アイコン偽装されており、フォルダの詳細表示で見た場合は以下のように拡張子がEXEであることがわか

                          東京五輪に関係する日本語のファイル名を持つマルウェア(ワイパー)の解析 | 技術者ブログ | 三井物産セキュアディレクション株式会社
                        • Atom の作者達が作った Rust 製エディタ Zed (OSS) - Qiita

                          1. 概要 2024年の1月24日にZedがOpen source化しました! ということで、Zedとは何か、実際に使ってみてどうだったかというのを簡単にご紹介できればと思います。 2. Zed とは何か? AtomとTree-sitterのクリエイターによる、Rust製のコードエディターで、OSS (オープンソースソフトウェア) であり、 Githubのリポジトリ こちらで公開されています。 公式サイトから一部抜粋すると下記のような特徴があるようです。 2.1 パフォーマンスを重視した設計 2.2 インテリジェンス系のサポート Github Copilotのサポート GPT-4 を使用して、自然言語のプロンプトを入力することで、コードを生成したりリファクタリング可能 2.3 言語対応 入力時にすべてのバッファの完全な構文ツリーを維持し、正確なコードハイライト、自動インデント、検索可能なア

                            Atom の作者達が作った Rust 製エディタ Zed (OSS) - Qiita
                          • 表示順という属性を別テーブルに分ける - そーだいなるらくがき帳

                            最近、この説明を複数回したので記事にする。 要約 普段は 今北産業 派なのだが、3行考えるのが面倒なため、今後は大人の表現を使う。 「今北産業」をスタートアップ語にすると「マジ価値サマリー」になるらしい ちなみにここだけの話ですが、大人語にすると「要約」になります pic.twitter.com/Q8SflvBX7c— ところてん (@tokoroten) 2022年1月24日 画面に表示したい順(以下、表示順)は振る舞いの属性なので分ける 似たような振る舞いに関わる属性は別テーブルにわけると良い 普通に正規化しましょうって話。 表示順をカラムを追加して表現する よくあるテーブルは画面情報と合わせて表示順カラムがあるパターン。 こういうテーブルを作って SELECT * FROM items ORDER BY display_order_number; で表示順に取り出すパターン。 表示順

                              表示順という属性を別テーブルに分ける - そーだいなるらくがき帳
                            • Twitterで「機種依存文字 Unicode」と検索するとなぜか自殺を制止されるロジックが判明【やじうまWatch】

                                Twitterで「機種依存文字 Unicode」と検索するとなぜか自殺を制止されるロジックが判明【やじうまWatch】
                              • OpenAIのBatch APIを使ってお得にプロンプトを一括処理してみる - Taste of Tech Topics

                                はじめに こんにちは。データサイエンスチームYAMALEXのSsk1029Takashiです。 最近はOpenAIに日本支社が出来て、日本語対応が加速するというニュースにわくわくしています。 今回はそんなOpenAIから発表されたBatch APIという機能が便利、かつお得な機能だったのでどのように使えるのか試してみます。 Introducing the Batch API: save costs and get higher rate limits on async tasks (such as summarization, translation, and image classification). Just upload a file of bulk requests, receive results within 24 hours, and get 50% off API pri

                                  OpenAIのBatch APIを使ってお得にプロンプトを一括処理してみる - Taste of Tech Topics
                                • 非公式 PHP 8.1のmbstringアップグレードガイド - てきとうなさいと。べぇたばん

                                  PHP 8.1へのアップグレードにまつわるまとめ PHP 8.1へのアップグレードには、mbstringにまつわるマニュアルに記述されない後方互換性のない変更が含まれることがあります。そのことを周知するべく、この記事を書くことにしました。 私てきめんは、PHPカンファレンス 2022にて、「治っていくmbstring 令和時代の文字化け」というタイトルでトークしています。以下スライドも参考にしてください。 Major overhaul of mbstringについて PHP 8.1から、Major overhaul of mbstringと呼ばれる、mbstringの大規模改修の内容が反映されるようになりました。困ったことに、RFC(Request For Comments)やChangelog、マニュアルにない内容で、mbstringを多用するPHPユーザーにとてつもない困惑をもたらすこ

                                    非公式 PHP 8.1のmbstringアップグレードガイド - てきとうなさいと。べぇたばん
                                  • 正規表現でのURLのチェックとバイパス | 技術者ブログ | 三井物産セキュアディレクション株式会社

                                    最近はMBSDでWebアプリケーションスキャナの開発をしている寺田です。 Webアプリケーションを開発していると、セキュリティの観点でURLをチェックしなければならないことがしばしばあります。本日の記事では、そのようなURLのチェックを如何に行うか、正規表現を使う場合の注意点や、バイパス方法などについて書きたいと思います。 本記事で想定するのは、ブラウザからパラメータとして来るURLをチェックしてリダイレクトやリンクのURL等として使ったり、ブラウザから来たOriginヘッダ等のURLをチェックしてアクセス制御をするケースです。その中でも、以下のようにサブドメイン部分(★の部分)を可変にする状況を主に想定します。 https://★.example.jp/… よく使われてそうなチェック用の正規表現と、そのバイパスは以下のとおりです。 正規表現: ^https://.+\.example\.

                                      正規表現でのURLのチェックとバイパス | 技術者ブログ | 三井物産セキュアディレクション株式会社
                                    • (プログラマのための) いまさら聞けない標準規格の話 第1回 文字コード概要編 | オブジェクトの広場

                                      プログラマがシステム開発において共通で必要となる、技術と業務の狭間の共通知識を解説します。連載第1回は文字コードの概要編です。 0. はじめに 業務システムを開発する場合、プログラミング言語、フレームワーク、ミドルウェア、業務知識など以外に、共通で必要となる知識があります。文字コード、国際化、日付・時刻の扱い、住所コード、郵便番号、電話番号などの各種コード、…。 本連載では、プログラマがシステム開発で必要となる、技術と業務の狭間の共通知識を解説して行きたいと思います。 連載第1回は文字コードの概要編です。コンピュータシステムにおいて、文字情報は文字コードを用いて処理されます。文字コードとは、各文字に対応付けられた数値 (符号) のことです。近年、新規に開発される業務システムでは Unicode が使われることが多いと思いますが、既存システムとの連携など他の文字コードが使用されることもまだま

                                        (プログラマのための) いまさら聞けない標準規格の話 第1回 文字コード概要編 | オブジェクトの広場
                                      • SQLiteでLinderaを使った日本語全文検索 - *iroi*

                                        これは はてなエンジニアアドベントカレンダー2023 3日目の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog はてなエンジニアのカレンダー | Advent Calendar 2023 - Qiita 昨日は id:pokutuna さんの blog.pokutuna.com でした。私も若い頃に同僚とGitHub上で白熱してしまい観光名所になってしまっていたような気がします。気を付けていきましょう。 さて、この記事では SQLiteでLinderaを使った日本語全文検索をする話を紹介します。 モチベーション laiso.hatenablog.com 上の記事でも話題になっているように個人開発ではDBのコストは問題です。同様に全文検索したいときにもコストに頭を悩ませているのではないでしょうか? たとえば Amazon

                                          SQLiteでLinderaを使った日本語全文検索 - *iroi*
                                        • JavaScript で文字数を length で数えるのはやめようの実例

                                          はじめに JavaScript において文字数を String の length で取得すると、期待した値が得られないことがある。この記事では、実際に String の length を使うことによって発生した Prettier のバグを紹介する。 前提 JavaScript の String には length というプロパティが存在する。このlengthプロパティは文字列の文字数を表すものではない。 実際には、文字列中に含まれるUTF-16のコードユニットの数を返す。つまり、ASCIIをはじめとしたBMPに含まれるものであれば我々の期待する文字数が返ってくるが、一部の漢字やemojiなどについてはそうはならない。 たとえば、漢字の𠮟(U+20B9F)はサロゲートペアであり、2つのコードユニットで表される。そのため、length は 2 になる。

                                            JavaScript で文字数を length で数えるのはやめようの実例
                                          • Rustで始めるwebフロント開発。フロントエンジニアのためのRustメモリ管理入門

                                            この記事は、Supershipグループ Advent Calendar 2021の23日目の記事になります。 はじめまして。まさやんです。 普段はバックエンドをメインで書きつつ、フロント書いたり、AWSでインフラ構築したりと色々やらせてもらってます。 今回は、フロントエンドをメインにやってる人が、rustを始める時に参考になる記事を書こう!と思い立ち、書いてみました。 この前、JSConfの講演を聴いてて、rustの話もどんどん増えているなあと思ったのがきっかけです。 近いうちに、フロントの人もrust触れないとね〜、という時代になるかもなので、自身の学習も兼ねて整理してみました。 自分がつまずいたり、勉強する時参考になったなーという情報を整理して、最後にrustのフレームワークを紹介して終わりにします。 そこそこ長いので、休み休み読んでください。 対象読者 フロントエンドを書いていて、最

                                              Rustで始めるwebフロント開発。フロントエンジニアのためのRustメモリ管理入門
                                            • 「サイバーパンク2077」のようなリアルタイム翻訳システムをWhisperやDeepLを駆使して実現した猛者が現る

                                              「サイバーパンク2077」をプレイしたというエンジニアのマルチン・エランコウスキ氏が、同作で登場するリアルタイム翻訳システムのような「話者の上にリアルタイムで会話内容が表示され翻訳まで行ってくれる翻訳システム」の開発に取り組んでいます。 GitHub - elanmart/cbp-translate https://github.com/elanmart/cbp-translate エランコウスキ氏は「話者の上にリアルタイムで会話内容が表示され翻訳まで行ってくれる翻訳システム」を開発するにあたり、以下のような条件を処理できるシステムを構築することにしたそうです。 ・ショート動画を処理可能 ・複数のキャラクター(話者)の会話内容を翻訳可能 ・英語とポーランド語の両方の音声を認識・文字起こし可能 ・会話を任意の言語に翻訳可能 ・各フレーズを話者に割り当て可能 ・画面に話者を表示する ・サイバー

                                                「サイバーパンク2077」のようなリアルタイム翻訳システムをWhisperやDeepLを駆使して実現した猛者が現る
                                              • QuickJS Javascript Engine

                                                News 2024-01-13: New release (Changelog) 2023-12-09: New release (Changelog) Introduction QuickJS is a small and embeddable Javascript engine. It supports the ES2023 specification including modules, asynchronous generators, proxies and BigInt. It optionally supports mathematical extensions such as big decimal floating point numbers (BigDecimal), big binary floating point numbers (BigFloat) and ope

                                                • とほほのWWW入門

                                                  はじめに ご使用上の注意 (1) 主な更新履歴 (24) 管理者へのメール (1) 自己紹介 (1) 基本編 用語集 (82) Webページ作成入門 (7) 逆引きリファレンス (32) フォーマット HTML (400) HTML5 (7) XHTML (1) MathML (1) DTD (1) JSON (1) SVG (1) VML (1) GIF (1) CSV (1) セマンティック・ウェブ (1) CSS CSS (ABC順)(719) Bootstrap (61) Less (1) Sass (1) Tailwind CSS (1) CSSフレームワーク (1) リセットCSS (1) プログラミング言語 JavaScript (39) TypeScript (1) Java (25) Perl (4) PHP (14) Ruby (11) Python (13) Go (

                                                  • Announcing TypeScript 5.0 - TypeScript

                                                    Today we’re excited to announce the release of TypeScript 5.0! This release brings many new features, while aiming to make TypeScript smaller, simpler, and faster. We’ve implemented the new decorators standard, added functionality to better support ESM projects in Node and bundlers, provided new ways for library authors to control generic inference, expanded our JSDoc functionality, simplified con

                                                      Announcing TypeScript 5.0 - TypeScript
                                                    • RPG作成ツール「WOLF RPGエディター」Ver3公開。新機能大量追加の、約11年ぶり大型アプデ - AUTOMATON

                                                      国内の個人ゲーム開発者SmokingWOLF氏は11月22日、「WOLF RPGエディター(通称ウディタ)」のVer3を公開した。記事執筆時点では、同氏の個人サイトSilverSecond内からVer3.02が無料ダウンロード可能。大型アップデートにより、多数の新機能や改善が実施されている。またあわせて、使い込んだユーザー向けのプロ版がBOOTHにて税込5000円で販売開始されている。 「WOLF RPGエディター」は、SmokingWOLF氏が手がける、PC向けのRPG作成ツールである。同氏により、2008年にVer1.00が公開。その後2011年のVer2.00への大型アップデートを経て、2017年のVer2.20ではワイド画面に対応するなど、アップデートが続けられてきた。また「WOLF RPGエディター」を使用して、SmokingWOLF氏自身は『片道勇者』などのゲームを作成している

                                                        RPG作成ツール「WOLF RPGエディター」Ver3公開。新機能大量追加の、約11年ぶり大型アプデ - AUTOMATON
                                                      • テキストエディタを作る

                                                        ここの記事を更新するのは約1年ぶり。夏の間は遊んでいたり秋からは仕事が忙しくなったりの近況だった。 コロナウィルスで自宅に閉じ込められてしまったので、プログラミングの練習のためにテキストエディタを作ってみた。 得られた知見などを紹介しよう。 目標としている機能・実装 練習・教材用として十分な小ささ。 記事のネタになる。また、作っていて飽きない。ひと篭もりするプロジェクトとして適切なサイズ。 昔から、プログラマなら作ってみたいものとして、(1)コンパイラ (2)OS (3)エディタ、がよく挙げられる。コンパイラについては以前に書いた。今回はエディタにチャレンジしてみることにした。 テキストエディタを作る場合、GUIツールキットを使って作成することも考えられるが、今回はviのようにターミナル上で動作するタイプのものを作る。時間があれば、次の様な発展的な目標も検討したい。 設定変更機能を持つ(そ

                                                        • なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 - Qiita

                                                          なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜ShellScriptBashshellPOSIX まえがき この記事は「シェルスクリプトで高い移植性と生産性を両立させるシリーズ」の第一弾です。移植性と生産性を両立させるための前提知識として POSIX コマンドの問題点について解説します。第二弾では高い移植性と互換性を実現させるための考え方、そして第三弾、第四弾ではそれを実現するシェルスクリプトの具体的な実装テクニックを紹介します。第五弾では現実的な問題と回避方法について解説する予定ですがまだ具体的な内容は決まっていません。第五弾はその前に「シェルスクリプト入門(仮)」の記事を書こうと思ってるので少し遅くなると思います。もし興味がある方は記事をストックしていると更新時に通知されると思います。 2021-07-11 追記 記事が長くなった

                                                            なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 - Qiita
                                                          • コモンエイジ:文字を決めるのは誰?「ガラパゴスの元凶」戸籍70万字が阻むDX | 毎日新聞

                                                            行政機関が管理する膨大な数の「文字」がデジタル改革を阻んでいる。字形がわずかに異なる文字も含め、戸籍だけで約70万字。岸田文雄政権は自治体の情報システムを効率化するため、約7万字に絞り込む計画だ。だが、人によっては名前の漢字が変わる可能性があり、慎重論もくすぶる。文字を決めるのは誰なのか――。 スマホに表示できない 「スマートフォンやパソコンで表示できない文字がある。魑魅魍魎(ちみもうりょう)とした世界だ」 デジタル庁幹部は、戸籍などで使われてきた文字の特異性をそう表現し、「自治体システムを複雑にし、ガラパゴス化させた元凶だ」と言い切った。 政府は、自治体ごとに仕様がばらばらな戸籍や住民基本台帳、国民年金など20業務の情報システムを2025年度末までに標準化する方針を掲げている。 人口減少で公務員の確保が難しくなる中、システムの効率的な運用で行政サービスの質を維持する目的だ。多すぎる文字を

                                                              コモンエイジ:文字を決めるのは誰?「ガラパゴスの元凶」戸籍70万字が阻むDX | 毎日新聞
                                                            • Go プログラミング言語仕様

                                                              Go プログラミング言語仕様 本文書は,The Go Programming Language Specification version 2021/02/10 のなんちゃって日本語訳である. 原文ソース:https://github.com/golang/go/blob/master/doc/go_spec.html 訳文ソース:https://github.com/hiwane/gospec-ja.誤訳・誤字脱字などは issue かプルリクで https://hiwane.github.io/gospec-ja/ 訳注 valid/invalid は有効/無効, legal/illegal は正当/不当と訳す. letter と character を区別するため,letter は英字,character は文字と訳す. signed/unsigned 符号付き,符号なし sourc

                                                              • Webブラウザ上で動作する帳票エンジンを作る話

                                                                NGK2022S発表資料です https://ngk2022s.connpass.com/event/233520/ yagisan-reportsのWebサイト https://www.denkiyagi.jp/yagisan-reports/Read less

                                                                  Webブラウザ上で動作する帳票エンジンを作る話
                                                                • Python で Unicode 正規化 NFC/NFD の文字列を扱う - forest book

                                                                  先日、ビジネスパーソン向けの Python 本を執筆したことを書きました。 t2y.hatenablog.jp 本稿では本書のことを「できるPy」と呼びます。 Amazon でいくつかカスタマーレビューもいただいて次のコメントをみつけました。 python3.7 対応ということで、pathlib を使ってる点が(古いpython は切り捨てる!的なところは)潔いと言えば潔いし、日本語のファイル名にも気を配っている記述はオライリーに期待するのは酷なところもある。でもこの本でもNFD問題は全くの記述無し。だめだろ、それじゃ。 Amazon CAPTCHA まさに仰る通りです。執筆時にそのことに気づかずご指摘いただいてありがとうございます。 ここでご指摘されている NFD 問題というのは、ファイル名のみに限った問題ではなく、Unicode の文字集合を扱ってエンコード/デコードするときに発生する

                                                                    Python で Unicode 正規化 NFC/NFD の文字列を扱う - forest book
                                                                  • ファイルアップロードではNFC/NFD問題に気をつけろ!~MacファイルシステムにおけるUnicode正規化の闇~

                                                                    NFCではそのまま「パ」として表されますが、NFDでは「ハ」(基底文字)と「゜」(結合文字)の組み合わせとしての「パ(UTF-8でe3 83 8f e3 82 9a)」(合成文字)で表されます。試しにNFDで正規化された「パ(e3 83 8f e3 82 9a)」を任意のテキストエリアに貼り付けて削除してみると、半濁音のみが取れて「ハ」のみになると思います。 このように文字列の正規化形式が異なる場合、単純な比較演算子での評価は困難であり、文字列によっては想定外の挙動を引き起こす可能性があります。 特にMacファイルシステムではNFDを正規化方式と採用しているため、NFC/NFD問題が度々引き起こされています。先日(2023年03月27日)リリースされた「macOS 13.3 Ventura (22E252)」では、ファイル名に濁音や半濁音が含まれるファイルがFinderから開けなくなる

                                                                      ファイルアップロードではNFC/NFD問題に気をつけろ!~MacファイルシステムにおけるUnicode正規化の闇~
                                                                    • 1日1問、半年以内に習得 シェル・ワンライナー160本ノック

                                                                      2021年9月27日紙版発売 2021年9月22日電子版発売 上田隆一,山田泰宏,田代勝也,中村壮一,今泉光之,上杉尚史 著 B5変形判/488ページ 定価3,520円(本体3,200円+税10%) ISBN 978-4-297-12267-6 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo honto この本の概要 シェルのワンライナー(その場かぎりの1行プログラム)は,LinuxやMacのコマンドラインインターフェースを立ち上げたら,すぐにプログラムを書いて即実行できます。ちょっとした作業を手っ取り早く片付けるのに向いています。大量のデータ処理,繰り返し処理ほどその効果は絶大です。本書は,そんなシェル・ワンライナーを身につけるためのトレーニング本です。大量の問題を

                                                                        1日1問、半年以内に習得 シェル・ワンライナー160本ノック
                                                                      • ISUCON11予選のNode.js実装を書いた - すぎゃーんメモ

                                                                        ISUCON11 予選おつかれさまでした。 ここ数年は参加者として予選敗退を繰り返してきたのだけど、今年はちょっと違う関わり方をしてみるか、と思い 「参考実装の移植」に立候補してみました。 isucon.net Node.js担当として採用していただき、ちょっと不安もあったので id:hokaccha 氏にレビュアーとしてついてもらって、言語移植チームとして加わりました。 ISUCON11予選おつかれさまでした。今回は言語移植チームとしてNode.js実装を担当し、その他 バグ直し太郎として幾つかの言語の実装にcontributeしました— すぎゃーん💯 (@sugyan) August 22, 2021 Node.js 実装 github.com 中身としては素朴な express のアプリケーションで、TypeScriptで実装しました。 mysql clientには mysql2/

                                                                          ISUCON11予選のNode.js実装を書いた - すぎゃーんメモ
                                                                        • trimやstripが全角スペースをトリミングしない理由で盛り上がったのでまとめてみた - Qiita

                                                                          はじめに RubyのString#stripが全角スペースをトリミングしてくれないことにこの間初めて気づきました。 そこでフィヨルドブートキャンプのSlackで質問してみたところ、結構盛り上がったので記事にまとめます。 本編 自分で調べたこと まず自力で調査したことをまとめます。 Javaのtrimメソッド Javaのtrimのロジックは「\u0020(半角スペース)の文字コードより大きいか小さいか」が判断基準になっています。 ただ、それが他の言語の場合同様のロジックで実装されているのかまではわかりませんでした。 RubyのString#strip(Cのコード) 前後のオフセット値を算出してそれを利用して前後のスペースのトリミングを実現しています。 ただ、C力が圧倒的に足りないのでどういうロジックでそのオフセット値を算出しているかまではわかりませんでした。 追記 RubyのRuby実装、R

                                                                            trimやstripが全角スペースをトリミングしない理由で盛り上がったのでまとめてみた - Qiita
                                                                          • ニューラルかな漢字変換エンジン「Zenzai」をazooKey on macOSに搭載します

                                                                            こんにちは。iOSの日本語入力アプリである「azooKey」を開発しているMiwaです。 azooKeyは最近macOS版の開発が進んでいます。このazooKey on macOSに、完全にローカルで動作するニューラルかな漢字変換エンジンである「Zenzai」を開発し、搭載します。この記事ではZenzaiの技術を解説します。 Zenzaiを搭載したazooKey on macOSは現在アルファ版としてリリースしています。macOSをご利用の方はぜひ入れて試してみてください! Zenzaiの概要 日本語入力に欠かせないかな漢字変換ですが、その歴史は長く、50年にも及びます。この間様々なアルゴリズムが提案され利用されてきましたが、近年の技術開発はやや落ち着きつつあります。オープンソースのかな漢字変換ソフトウェアで今でも広く利用されているものは数えるほどしかありません。 クローズドソースのシステ

                                                                              ニューラルかな漢字変換エンジン「Zenzai」をazooKey on macOSに搭載します
                                                                            • 脆弱性診断につかえる実践的なテクニックを列挙してみた - shikata ga nai

                                                                              Hello there, ('ω')ノ これまで、実例をもとに学んだ脆弱性診断につかえる実践的なテクニックは以下のとおりで。 ・サブドメインの1つに403を返すエンドポイントがある場合は、通常のバイパスは機能しないので、Refererヘッダを変更すると200 OKが取得できる場合があります。 ・エンドポイントのディレクトリとリクエストボディを削除して、メソッドを「PUT」から「GET」に変更すると隠されたエンドポイントに関する情報を取得できる場合があります。 ・見つけたエンドポイントに通常アカウントで403エラーが発生した際、管理者アカウントのjsonリクエストの本文と比較して差分のパラメータを追加するとアクセスできる場合があります。 ・Linux環境でコマンドを実行する際、スペース文字をバイパスするためのペイロードは以下のとおりです。 cat</etc/passwd {cat,/etc/

                                                                                脆弱性診断につかえる実践的なテクニックを列挙してみた - shikata ga nai
                                                                              • アプリの国際化の舞台裏

                                                                                アプリの国際化は単に表示されるテキストの翻訳にとどまるものではありません。 このセッションでは、開発者とユーザーの双方の視点から、様々な地域で使われる iOS アプリの開発を通して得られた具体的な事例を踏まえ、アプリの国際化で必要となる技術的な知識、避けては通れない問題とその対策、そして今後のアプリ開発における課題について検討します。 自分のアプリを海外のユーザーにも使ってもらいたい。アプリを翻訳したのにあまり使ってもらえない。あるいは、海外のアプリで日本語が使えないのは何故なのか。海外のアプリの挙動がおかしいけれど何故そうなるのかわからない。そんな疑問を持った方を対象とします。 このセッションでは以下のトピックについて扱う予定です - Unicode についての知識と絵文字の貢献 - 日本語入力や複雑な文字の問題 - ユーザーインターフェイスとコンテンツの国際化 - 開発チームの国際化

                                                                                  アプリの国際化の舞台裏
                                                                                • 多コピーの原罪

                                                                                  Rust 分かんないッピ ・ε・ Rust の文字列周りのプラクティスを基礎から勉強してみようと思って勉強したのでそのときのメモをまとめます。 Rust は GC を持たない なぜ Rust の文字列周りの型があんなに大変なことになっているかは、Rust のメモリモデルと Copy の仕組みを学ぶことで理解できた気がしたので、メモリの話から始めます。 FYI: https://www.reddit.com/r/rustjerk/comments/ovx0uq/the_two_major_ways_rust_changed_my_life/ GC とは まずは GC からです。 GC とは Wikipedia をそのまま引用すると ガベージコレクション(英: garbage collection; GC)とは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に

                                                                                    多コピーの原罪