並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 135件

新着順 人気順

文字コードの検索結果1 - 40 件 / 135件

  • バックスラッシュと円記号の歴史と違い

    最近知ったんですが、Windowsではキーボードから円記号(¥)の入力はできないらしい。 というのも キーボード右上の¥キー キーボード右下の\キー のどちらかを押せば円記号(¥)を入力できますが、どちらを押しても入力されるのは円記号(¥)に偽装されたバックスラッシュ記号(\ )らしい。 皆さんこれ知ってました? いや正直、これを聞いても「何言ってんだコイツ」って思う人が大半だと思いますし、私も今でもそう思います。 これは「バックスラッシュと円記号問題」などと言って、Windowsで昔から続く”呪い”のようなものらしいのですが この”呪い”を理解するには文字コードの歴史を知る必要があります。 文字コードとは? その前に、そもそも文字コードってなによ?という根本的な話からすると、文字コードは「パソコンに文字を覚えさせるための暗記表」みたいなものです。 パソコンは2進数しか理解できないので あ

    • 絵文字を支える技術について|nona

      はじめにこちらはmhidakaが建立したAdvent Calendar Day.3となります。 こんにちは、はじめまして、のなと申します。mhidakaさんのTweetを見つけて、初めてAdvent Calendarなるものを書いています。なにかお作法間違っていたら大目に見てください、よろしくお願いします。 軽く自己紹介をさせていただくと、普段はGoogleでAndroidのTextまわりの開発を行っており、DroidKaigiやShibuya APKで発表させていただいたりしています。最近はほぼ絵文字の話しかしてないので、絵文字おじさんと思われてそうですが、普段の仕事は絵文字に限らず、Androidの文字表示の部分は大抵面倒をみています。 今回この機会をいただいたので、どんな内容を書こうか迷ったのですが、やはり皆が読んで面白い内容というと、絵文字になるのかなぁ、ということで性懲りもなく絵

        絵文字を支える技術について|nona
      • 全ての開発者が知っておくべきUnicodeについての最低限の知識

        2003年には「プレーンテキストなんてものは全く存在しない」と言われ、テキストの解読には文字コードの情報が必須となっていました。しかし、2023年になるまでの20年の間に絵文字などのおかげでUnicodeの利用率は98%へと到達し、再び文字コードを気にせずにすむ時代がやってきています。そんな時代において、正しくUnicodeを使うために必要な知識をエンジニアのニキータ・プロコポフさんが解説しています。 The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!) @ tonsky.me https://tonsky.me/blog/unicode/ Unicodeの歴史と利用率の推移をまとめたグラフは下図の通り。2000年代後半から急速に普及が進んでいったこ

          全ての開発者が知っておくべきUnicodeについての最低限の知識
        • 「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita

          Webサービスのフォームに住所を入力するとき、丁目や番地などを入れる欄について、数字やハイフンを全角で書かなければいけない「全角縛り」をやっているフォームをよく見ます。半角文字を入力してしまってエラーになったり、咄嗟に変換方法を思い出せなかったり、全角と半角の見分けが付きづらかったり、「全角縛り」であることが明示されていなかったり、「ハイフン」としてどの文字を使うべきかわからなかったり……と、鬱陶しさを感じることが多くあります。 「住所は全角のみ」(数字やハイフンも絶対に半角を受け付けない)という仕様がどういう経緯で生まれて、どう広まっていったのかが気になってる。いま存在しているのは過去の仕様や慣習の踏襲として理解できても、そもそもなぜそれらが生まれたのかが理解できない。 https://t.co/ZLz0Pw9GOK — ymrl (@ymrl) July 29, 2024 これについて

            「住所は英数字もすべて全角で入力してください」はなぜそうなったのか - Qiita
          • ITがつまらんとか言ってるのは老害だけ | さにあらず

            最近は、ITが面白いだとかつまらんだとか言って盛り上がってるけども、面白いってのは、どういうことか、ちょっと考えてみようか。 知識と学習#一つ目は、学習するに足るだけの知識体系がそこにあるかどうか。 知らない事を知る、出来なかったことが出来るようになる快感ってのは、何度経験しても最高なんであって、一人でも多くの人にこの体験をして欲しい。素晴らしいことに、ソフトウェア技術だけに範囲を絞ってもまだ理解できてない事は大量にあるし、増え続けてる。 生成AIがアシスタントしてくれるけど、ちょいちょい嘘をついてくるってのが、また熱いよね。AIが言ってる事だけを真に受けちゃダメで自分でちゃんと試さないといけない。そして、インターネット上に無い情報について、やつらは手も足もでない。 最近は新しい技術が出てこないなんて言ってる連中もいるようだが、現実の社会課題を解決し、それを付加価値として提供できて初めて新

              ITがつまらんとか言ってるのは老害だけ | さにあらず
            • 20万円でも人は死ぬ

              ここに人がある。ひとりであって、仲間もなく、子もなく、兄弟もない。それでも彼の労苦は窮まりなく、その目は富に飽くことがない。また彼は言わない、「わたしはだれのために労するのか、どうして自分を楽しませないのか」と。これもまた空であって、苦しいわざである。 ふたりはひとりにまさる。彼らはその労苦によって良い報いを得るからである。 すなわち彼らが倒れる時には、そのひとりがその友を助け起す。しかしひとりであって、その倒れる時、これを助け起す者のない者はわざわいである。 「伝道の書‬ 4‬:8‬-10‬」 親会社から見放されたその後 おれの勤める零細企業は、親会社から見放された。そのことは前に書いた。 「手取り19万円の栄光の終わりに」 その後、どうなったのか。親会社は我が社に対する2,000万円くらいの負債をチャラにしてくれた。チャラにしてくれた分、それに消費税がかかり、意外なところから困ることに

                20万円でも人は死ぬ
              • Ubuntu 24.04 LTS サーバ構築手順書

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

                  Ubuntu 24.04 LTS サーバ構築手順書
                • 【AA】アスキーアートクイズ選手権 オモコロ場所【おぼえていますか】 | オモコロ

                  コンピュータ上の文字や記号で構成された絵や図のこと。AAとも略される。 『ASCII文字コードによるアート』を源流とし、掲示板文化の興盛と共に多くのアスキーアートが誕生した。 しかし、その姿はフォントや環境に依存するため、ハード・ソフトの多様化が進む現代では逆風。まともな状態を見られる場は限られ、衰退を余儀なくされている…… アスキーアートクイズと聞いて、今はたまたまオモコロというメディアに寄寓しているだけの電脳漂流者インターネット・ドリフターズが集結しました。 【回答者】 ヤスミノ:オモコロ編集部。かつて2ちゃんねるの独身男性板に入り浸っていた。 ダ・ヴィンチ・恐山:オモコロ編集部。ネットミーム元ネタカルタ優勝経験者。 ストーム叉焼:ライター。AAなりきりチャットに入り浸っていた日々を思い出し苛まれている。 夢顎んく:ライター。ブーン系小説執筆者。クソスレドンキーノにスレを3つほどまとめ

                    【AA】アスキーアートクイズ選手権 オモコロ場所【おぼえていますか】 | オモコロ
                  • 5人組アイドル「UNICODE」登場 デビューシングルは「HELLO WORLD」 IT関心層「検索しにくそう」

                    7月23日、アイドルグループ「UNICODE」(ユニコード)の日本におけるデビューシングル「HELLO WORLD」が発売された。日本人女性5人で構成されたグループだが、全員が韓国語を話せるバイリンガルで、プロデュースの拠点も韓国であることからK-POPアイドルをうたう。一方、グループ名やデビューシングルのタイトルから、SNSではITエンジニアなどIT関心層から「検索しにくそう」とする声も出ている。 UNICODEは、韓国では4月にデビュー。グループのマネジメントに携わるENPASS(東京都品川区)によれば「グループ名の由来は『UNICODE』は『Unity』(統一性)と『Code』の合成語で、『彼女たちの音楽は全ての国で共用されるコードのように全世界で通じる』という意味が込められている」という。 ただし、グループ名は文字コードの標準規格「Unicode」と、デビューシングルのタイトルはプ

                      5人組アイドル「UNICODE」登場 デビューシングルは「HELLO WORLD」 IT関心層「検索しにくそう」
                    • 全員日本人のUNICODE、K-POP名乗る理由 「J-POPでは」「IT用語と混合する」の声にもポジティブ

                      23日に日本デビューを果たしたメンバー全員が日本人の5人組K-POPガールズグループ「UNICODE」(ユニコード)が27日、都内で『UNICODE日本デビュー記念ライブイベント』を開催。グループ名をめぐる声に答えた。 【写真】その他の写真を見る UNICODEは、昨年4月にABEMAで公開された日本最大規模のオンラインオーディション「PROJECT K(プロジェクト ケイ)」で選抜されたメンバーを含む5人組。MIO(ミオ)、HANA(ハナ)、ERIN(エリン)、SOOAH(スア)、YURA(ユラ)の5人全員が日本人で、韓国語も流ちょうに話せる。23日に日本デビューを果たした際、世間からは「全員日本人だったらK-POPではなくJ-POP」という反応があった。 「J-POPじゃないか」の声に対し、ERINは「中にはネガティブな声もありますが、私たちはすべて肯定的に捉えています」と言及。K-P

                        全員日本人のUNICODE、K-POP名乗る理由 「J-POPでは」「IT用語と混合する」の声にもポジティブ
                      • S3経由でXSS!?不可思議なContent-Typeの値を利用する攻撃手法の新観点 - Flatt Security Blog

                        はじめに セキュリティエンジニアの齋藤ことazaraです。今回は、不可思議なContent-Typeの値と、クラウド時代でのセキュリティリスクについてお話しします。 本ブログは、2024 年 3 月 30 日に開催された BSides Tokyo で登壇した際の発表について、まとめたものです。 また、ブログ資料化にあたり、Content-Type の動作や仕様にフォーカスした形で再編を行い、登壇時に口頭で補足した内容の追記、必要に応じた補足を行なっています。 また、本ブログで解説をする BSides Tokyoでの発表のもう一つの題である、オブジェクトストレージについては、以下のブログから確認をすることが可能ですので、ご覧ください。 blog.flatt.tech なぜ今、この問題を取り上げるのか? 従来のファイルアップロードにおいて、Content-Type の値を任意の値に設定すること

                          S3経由でXSS!?不可思議なContent-Typeの値を利用する攻撃手法の新観点 - Flatt Security Blog
                        • IPAフォントライセンスを巡って | 一般社団法人 文字情報技術促進協議会

                          先般、当協議会所属のフォント技術のエキスパートから、MJ明朝体フォントをWOFF化するサービスを提供しているサイトがある、MJ明朝体フォントの使用許諾契約に違反しているのではないか、との指摘があった。事務局長や対外窓口をお願いしている理事の方とも相談して、このサイトのオーナーに連絡を取り、MJ明朝体決め打ちのサービスについては、公開を差し控えていただいた。 ぼく的には、フォントをWOFF化するサービスの必要性もよく分かるし、協議会としても、WOFF化やサブセットフォントの提供など、協議会として直接行うか、協議会メンバーのフォントベンダー各社にビジネスとしてやっていただくかも含めて、具体的な方策を検討しているところだ。 ちょうどいい機会なので、MJ明朝体フォントの使用許諾契約書の成立の経緯と、ついでに、フォントの知的所有権を巡るず〜っと以前のぼくの経験を書き記しておきたい。 そう考えて、経緯

                          • 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コマンドライン
                            • 【ソフトウェア設計】モジュールをどう分割するのか?

                              はじめに 前々回や、前回に引き続き、ソフトウェア設計の指針に関する話をしたいと思います。 関数やクラス、そしてサービスなどシステムの塊の単位をモジュールと呼び、モジュールを作る事で、認知負荷を下げ複雑性と戦うという話をしてきました。では、モジュールは「いつ」分割するのが良いでしょうか? また、他にも共通モジュールを不用意に作ってしまって苦労した人も多いのでは無いでしょうか? 今回はそのあたりの話をしていきます。 TL;DR 以下があればモジュール設計を見直す 単純な要件/普段の利用に対して、タイプ量や約束事が多い 共通モジュールが「使われ方」に依存する モジュールの役割を一言で説明できない コード管理や性能/データ整合性など利用に際してのペナルティが高い 分割 is NOT 正義 - FizzBuzz Enterprise Edition 複雑性を排除するためにモジュール分割をすることは重

                                【ソフトウェア設計】モジュールをどう分割するのか?
                              • きちんと届くメールを実現するには? 『メール技術の教科書』著者に聞く、古くて新しいメールの世界

                                書店員との対話で、メール技術書の不足に気づく 増井氏は技術士として関連知識の教育を提供するとともに、プログラマーとしても活躍している。ネットワークや情報セキュリティの分野でテクニカルエンジニアとしての役割を果たし、情報処理技術者試験やビジネス数学検定1級などの資格試験にも多数合格。ソフトウェア開発では、ビジネス、数学、ITを融合させ、コンピュータの効率的かつ正確な使用法を支援している。 教育の一つとして本を執筆する活動もしており、『Obsidianで“育てる”最強ノート術』(技術評論社刊)『1週間でシステム開発の基礎が学べる本』(インプレス刊)『「技術書」の読書術』『図解まるわかり セキュリティのしくみ』『図解まるわかり プログラミングのしくみ』(翔泳社刊)など多数の書籍を執筆。個人でも同人誌づくりをしたり、シェア型のリアル書店で自身の書籍を販売したりするなどの活動も行っている。 増井氏は

                                  きちんと届くメールを実現するには? 『メール技術の教科書』著者に聞く、古くて新しいメールの世界
                                • 「継続は力なり」よりも「好きこそ物の上手なれ」|情報処理学会・学会誌「情報処理」

                                  杜甫々 (「とほほのWWW入門」サイト管理者) 「とほほのWWW入門」というWeb関連の技術情報を掲載するサイトを運営しています.1996年9月に始めたので,もうそろそろ29年目に突入となります.HTML, CSS, JavaScriptを始め,Python, Rust, Goなどのプログラミング言語,React, Vue.js, Angularなどのフレームワーク,Docker, Kubernetes, OpenSSLなどのツール群,文字コード,正規表現,暗号化などの要素技術などなど,目につくIT関連情報を色々紹介してきました.途中サボっていた時期もありますが,ここ最近は1週間に1つはなんでもよいので記事を追加したり更新したりしています. ある講演会で,私が初めてコンピューターに触れたころの話から,サイト作りを始め,継続してきたことについて一通り語ったあと,来場者からの質問で「続けられる

                                    「継続は力なり」よりも「好きこそ物の上手なれ」|情報処理学会・学会誌「情報処理」
                                  • Ubuntu 24.04 LTSの日本語Remixについて | Ubuntu Japanese Team

                                    2024年6月10日 長年にわたりISOイメージ形式で配布してきた「Ubuntu日本語Remix」ですが、Ubuntu 24.04 LTSではリリースしないことに決定しましたのでお知らせします。 理由は以下の通りです。 新しいインストーラー採用に伴うカスタマイズ難易度の増加 Ubuntu 24.04 LTSから新しいインストーラーが導入され、ISOイメージのファイル構成が変更されました。この変更により、ISOイメージをカスタマイズすることが難しくなりました。 多言語ライブ環境の非対応化 Ubuntu 24.04 LTSの公式ISOイメージは英語以外のライブ環境に対応しておらず、日本語ライブ環境を実現するためには大きな変更が必要となりました。 Ubuntu日本語RemixのISOイメージの主な利点は、日本語ライブ環境が使えること、およびインターネット未接続状態でも日本語のデスクトップ環境をス

                                    • ExcelでCSVファイルを「0落ち」や「文字化け」なしで開く方法 - Qiita

                                      はじめに CSVファイルをExcelで開こうとしたとき、電話番号や郵便番号の先頭のゼロ(0)が自動的に消えてしまったり、文字化けしてしまう...。そんな悩みをお持ちの方はいませんか?この記事では、データを正確に保持しながらCSVファイルを開く方法を簡潔にご紹介します。 1.CSVファイルとは そもそもCSVファイルって何?というところから説明します。 CSVはComma Separated Value(カンマで区切られた値)の略であり、CSVファイルはテキストデータの各項目を、カンマ(,)で区切って表現したファイルです。 言葉では理解しにくいので、画像で見てみましょう。 まず、こちらがExcelでCSVファイルを開いたときの画像です。 普段、Excelでデータを作成・編集しているときと同じように見えますよね?CSVといっても、特に変わったことはなさそうです。 では、Windowsの「メモ帳

                                        ExcelでCSVファイルを「0落ち」や「文字化け」なしで開く方法 - Qiita
                                      • ZawgyiとUnicode: ミャンマーの文字の電子化について - にせねこメモ

                                        まえがき ミャンマーでは公用語としてビルマ語が使われている。ビルマ語の表記にはビルマ文字を用いるのだが、このビルマ文字のインターネット上での使用は、混迷を極めていた。そしておそらく今もまだ…。なぜか? それは、Unicodeという文字コードの標準がありながら、Zawgyiというものが広く使われていたためである。なぜそのようなものが登場し、普及することとなったのか、この記事で解説する。 目次 まえがき 目次 凡例 この記事で使う名称について ビルマ語表記 コードポイント ラテン文字表記について Zawgyiの概説と歴史 Zawgyiとは Zawgyiのダウンロード Zawgyi誕生・普及の経緯 複雑なビルマ文字 ビルマ文字とUnicode 回避策としてのビルマ文字フォントの登場 Zawgyiの普及 Zawgyiの実装 実装の方針 文字の並べ替えをせず、左から右に書く 文字の形のバリエーション

                                          ZawgyiとUnicode: ミャンマーの文字の電子化について - にせねこメモ
                                        • Windows上でユニコードを「見る」方法

                                          Windowsでは、文字コードに「ユニコード」を使う。Windowsに搭載されているフォントはさまざまあるが、ユニコード文字を表示できるように、多数の文字の形が組み込まれている。 今回は、Windowsでユニコードを“見る”方法について解説する。なお、WindowsではUTF-16LEエンコードをUnicodeと表記する。ここでは、エンコードと混同されないために、文字仕様のUnicodeは「ユニコード」とカナ書きすることにする。 GUIアプリでユニコードを使う ユニコード文字は多数ある。それぞれの文字に割り当てられた文字コードをユニコードでは「コードポイント」と呼ぶ。コードポイントは、「U+」の後ろに16進数4桁または6桁で指定するのが正式な表記方法だ。たとえば、「漢」は「U+6F22」となる。ユニコード関連の文書やもちろん、インターネット内のウェブページでも同様の表記をすることが多い。

                                            Windows上でユニコードを「見る」方法
                                          • 実務で使える メール技術の教科書 基本のしくみからプロトコル・サーバー構築・送信ドメイン認証・添付ファイル・暗号化・セキュリティ対策まで | 翔泳社

                                            システム管理者・開発者が知っておきたいメール技術のすべて 【本書の特徴】 ・豊富な図解で、わかりづらい仕組みもよくわかる ・メール技術を軸に学ぶことで、「サーバー構築」「DNS」「セキュリティ」の仕組みが腑に落ちる ・システム開発・運用の実務で「使える」知識を網羅。1冊あれば安心! 【本書の内容】 SNSやメッセージアプリに押されている印象のメール。 しかし、ほとんどのSNSやWebサービスのアカウント作成にはメールが必要です。ビジネスシーンでは、メールで連絡をする人がまだまだたくさんいます。 つまり、システムやサービスの開発・運営において、メールはいまでも不可欠なインフラなのです。 ところが、メール技術全般について体系立てて説明された情報源は、いつの間にかほとんどなくなってしまいました。結果として実務の現場は、必要な知識だけをインターネットで調べたり、先輩に聞いたりして、「その場をしのぐ

                                              実務で使える メール技術の教科書 基本のしくみからプロトコル・サーバー構築・送信ドメイン認証・添付ファイル・暗号化・セキュリティ対策まで | 翔泳社
                                            • PostgreSQLのPub/Sub機能とJavaのクライアント実装 | フューチャー技術ブログ

                                              本記事は「珠玉のアドベントカレンダー記事をリバイバル公開します」企画のために、以前Qiitaに投稿した記事を改訂したものです。 はじめにPub/Sub型のメッセージングアーキテクチャを採用するにあたっては、kafkaなどのブローカーミドルウェアや、Amazon SNS、Google Cloud Pub/Subなどのマネージドサービスを利用するケースが多いかと思います。ところでPostgreSQLでも実はPub/Subができます。 すでに業務でPostgreSQLを使っていれば、新たにPub/Subブローカーを構築しなくても、疎結合なシステム間通信を簡易的に実現できます。 本記事ではこの機能の紹介と、Pub/SubクライアントをJavaで実装する場合の選択肢、考慮点を示しています。 ※実行環境はPostgreSQL 16.2とJava 21です ※データベースの文字コードはUTF-8としてい

                                                PostgreSQLのPub/Sub機能とJavaのクライアント実装 | フューチャー技術ブログ
                                              • 家族(プログラマ)が筆不精で返信が遅いことが多いので「とりあえず返り値をくれ」と伝えたらわりとスムーズになった

                                                リンク IT用語辞典 e-Words 戻り値とは - IT用語辞典 戻り値【返り値 / リターン値】とは、プログラム中で呼び出された関数やメソッド、サブルーチンなどが処理を終了する際に、呼び出し元に対して渡す値。これに対し、呼び出し元から関数などに対してパラメータとして渡す値のことは「引数」(ひきすう、argument)という。 3 users リンク IT用語辞典 e-Words Nullとは - IT用語辞典 Null【ヌル】とは、プログラミング言語やデータベースのデータ表現の一種で、何のデータも含まれない状態のこと。言語仕様や文字コードに規定されたヌル文字などを指すこともある。変数やフィールドなどが作られてから一度も値が記録されたことがない、「データが存在しない」特殊な状態を表す。 3 users 47

                                                  家族(プログラマ)が筆不精で返信が遅いことが多いので「とりあえず返り値をくれ」と伝えたらわりとスムーズになった
                                                • 初心者がDifyでワークフローを作る際に知っておくと便利な5つのこと

                                                  はじめに この記事で想定している読者の方: Difyの使い方にまだ馴染めていない方 ワークフローで何か作ってみたい方 簡単にPythonが書ける方 LLMを用いたアプリケーションをノーコード・ローコードで作成できるサービスである「Dify」がその使いやすさと拡張性の高さから最近注目を集めています。しかし, 「Difyを知っているけどまだ使って何かのアプリケーションを作ったことはない...」という方も多いのではないでしょうか。特に, 自由度が高い様々な機能を持ったノードを組み合わせることでLLMを自在に組み込んだシステムを作成できる「ワークフロー」機能は公式でも「経験豊富なユーザ向け」と紹介されている通り少し難易度が高いですが是非使ってみたい機能です。 そこでこの記事では, Dify初心者の方向けに, Dify初心者だった自分が「ワークフロー」機能を用いてシステムを作ってみて詰まった部分とそ

                                                    初心者がDifyでワークフローを作る際に知っておくと便利な5つのこと
                                                  • MySQL 8.0 は遅くなってきてる?何故?(1)

                                                    いろいろありますが、今後のことを考える前にまずは、バージョン8.0.xの現状を一旦整理・理解してから決めようと思います。 念を押しておきますが、このブログの「内容は個人の考えであって、所属組織とは方針が異なる」と考えてください。 MySQL内部の人は、クラウドとか最新のサーバーとかしか利用していないのかも知れず、MySQL 8.0 が日に日に遅くなっていることに気づいていない人しかいないのでしょう。しかし、数年前のローカルPCで動かすと年々動作が鈍くなっているのを感じます。マイナーバージョンアップで単スレッド性能が下がり続けるなんて商用システムではリスキーです。 証明が難しく、ずっと放置せざるを得なかったのですが、非常に重要な事柄ですので今一度、オープンになっているソースを基に分析をしてみます。 まず、測るモノサシを決めましょう。以前のエントリ「MySQLバージョンアップによるInnoDB

                                                      MySQL 8.0 は遅くなってきてる?何故?(1)
                                                    • Blue/Green デプロイを使用した、RDS MySQL/PostgreSQLのアップグレード

                                                      TL;DR RDS の メジャーバージョンアップグレード を行なった PostgreSQL 11.6 -> 15.5 MySQL 5.7.44 -> 8.0.36 PostgreSQL は AWS CDK を利用した、自前での手動切り替えをベースにした Blue/Green デプロイによるアップグレードを行なった MySQL は AWS コンソールから AWSが提供している機能である RDS Blue/Green Deployments による MySQL のアップグレードを行なった nginx の ngx_http_proxy_module を活用してサービスのダウンタイムを防止した はじめに 初めまして。株式会社ジーニーの GENIEE CHAT開発チームのマネージャーを担当しています。 今回は、データベースのメジャーアップグレードを行った際の手順やポイントなどを書いていこうと思います

                                                        Blue/Green デプロイを使用した、RDS MySQL/PostgreSQLのアップグレード
                                                      • Windowsコードページの謎|kzn

                                                        日本語が本格的に使えるようになりだした頃、そのコードはJISコードを巧妙に細工してモード切替を不要にしたシフトJISと呼ばれるものが使われました。当時は英語のみが使える環境でプログラムが作られることが殆どだったので、これを移植して日本語を扱えるようにすれば充分だということだったのです。 文字コード 最初に使われたのはCP/M-86という説もありますが、一般的に使われるようになったのはMS-DOS(PC-DOS)が最初です。これはWindowsにも引き継がれ、Macintoshも日本主導で日本語化が行われたという経緯もありシフトJISが使われました。 さてシフトJISの問題は米国標準であるASCIIに対する拡張であって、それ以外の国のローカルコードのことを考えていないことです。例えば英国では一部の記号がポンド記号に置き換わっているコードが使われていましたし、他のヨーロッパ諸国の言語でもいろい

                                                          Windowsコードページの謎|kzn
                                                        • なぜハッシュ値は元の値を復元できないのか、SHA-256を実装してみる - Qiita

                                                          はじめに ハッシュ関数はデータの整合性確認や暗号学的な用途でよく使用されます。この記事では、ハッシュ関数の中でもよく使われるSHA-256を自分で実装しつつ、なぜ元の値を復元できない(非可逆性)の性質を持つのか確認します。 結論はハッシュ関数の非可逆性は、情報の喪失により実現されています。 また、今回sha256を実装したRustのコードは以下です。 https://github.com/akira-19/algorithms_rust/tree/main/sha-256 SHA-256のフロー 非可逆性がわかるところまでのSHA-256のフローは以下のようになっています。 "msg"という文字列をハッシュ化します。 まずmsgという文字列を文字コードに置き換えます。(16進数表記) 次に、メッセージを64バイトの1つのまとまりにします。この際に、元のメッセージのすぐ後ろに0x80を追加し

                                                            なぜハッシュ値は元の値を復元できないのか、SHA-256を実装してみる - Qiita
                                                          • UTF-8 の BOM について - 将棋プログラミング

                                                            1.はじめに UTF-8 の文字コードのファイルには、BOM (Byte Order Mark) がある場合とない場合がある。 Unicode の規格では、BOM は、推奨されないが、許容されている。 ja.wikipedia.org 今回、必要があり、色々な OS や言語で、UTF-8 の文字コードのファイルを作成した時、BOM が記録されるか、されないか、を調べた。 2.色々な OS や言語での BOM 2.1 Windows 10, Visual Studio, C++, _wfopen (_tfopen) // Visual Studio 2005 以降 保存 FILE *fp = _wfopen(name, _ L"w, ccs=UTF-8"); if (fp == NULL) { // エラー処理 } fwprintf_s(fp, L"ABC漢字123\n"); fclose(

                                                            • Software Design 2024年8月号 連載「レガシーシステム攻略のプロセス」第4回 ZOZOTOWNリプレイスにおけるマスタDBの移行 - ZOZO TECH BLOG

                                                              はじめに 技術評論社様より発刊されているSoftware Designの2024年5月号より「レガシーシステム攻略のプロセス」と題した全8回の連載が始まりました。 ZOZOTOWNリプレイスプロジェクトで採用したマイクロサービス化のアプローチでは、安全かつ整合性のとれたデータ移行が必須となりました。第4回では、このマスタDBの移行について紹介します。 目次 はじめに 目次 はじめに マスタDB移行 マスタDB移行について 要件と課題 テーブル構成を再設計したうえでデータ移行を実施する ダウンタイムなしでデータ移行を実施する 方針 異なるDBおよびデータスキーマ間で移行を実施するためEmbulkを使用する ダブルライトをリリースし、データ移行中に発生するDBへの書き込みを両DBにアトミックに実施する データを一時DBに格納し、一時DBから移行先DBにデータを移行する BulkloadとBac

                                                                Software Design 2024年8月号 連載「レガシーシステム攻略のプロセス」第4回 ZOZOTOWNリプレイスにおけるマスタDBの移行 - ZOZO TECH BLOG
                                                              • 医療のマスターDBを爆速で検索するWebサービスを爆速で作った

                                                                ヘンリーの Lead Architect の kohii です。 先日、医療系の個人開発サービス MediXplorer を作ったので、簡単なサービス紹介と技術的に工夫したこととかについて書きます。 作ったもの MediXplorer は厚労省(もしくは社会保険診療報酬支払基金)から提供される 医科診療行為マスター を検索・閲覧するためのWebアプリケーションです。 医科診療行為マスターって? 日本には診療報酬制度というものがあり、病院等が医療サービスを提供した際の医療費の計算ルールが定められています。このシステムのもと、医療機関は提供した医療行為ごとに決められた点数に基づき医療費を計算し、患者や保険組合に請求します。(初診料 = 288点 みたいなやつ。1点10円で、通常そのうちの3割を会計時に支払う。) 「医科診療行為マスター」は、これらの医療行為のデータベースの一つで、列数150、行

                                                                  医療のマスターDBを爆速で検索するWebサービスを爆速で作った
                                                                • 「説明サイトとリファレンスサイトの両立を目指したい」 「とほほのWWW入門」管理者・杜甫々氏が執筆時に気をつけていること

                                                                  「とほほのWWW入門」管理人の杜甫々氏が、これまでの経歴と、「とほほのWWW入門」執筆時に気を付けていること、自身の趣味について話しました。全2回。前回はこちらから。 今まで勉強してきた言語 杜甫々:今日はYAPC、Perl(のイベント)なので、プログラミングに関してのことをちょっとしゃべります。 (スライドを示して)今までこんな言語の勉強だけしてきました。よく使う言語はC言語が最初で、C++、そこから掲示板を作っていた頃はPerl。そこからPHPに移って、今はPython、JavaScriptが多いですかね。あとはたまにAWKをまだ使っています。 Perlの好きなところ、今後サポートしてほしいところ (スライドを切り替えて)えっとー…。謝ります(笑)。 (会場拍手) ずいぶん昔にPerl入門を書いたんですが、ほったらかしになっていて。今回このお話をいただきまして「それじゃあ、やはりいかん

                                                                    「説明サイトとリファレンスサイトの両立を目指したい」 「とほほのWWW入門」管理者・杜甫々氏が執筆時に気をつけていること
                                                                  • Word で「打」で始まるテキスト ファイルを開くとコンバーターを要求される

                                                                    こんにちは、Office サポート チームの中村です。 今回の記事では、Word でテキスト ファイルを開くとき、一部の内容においてコンバーターが要求される動作について説明します。 1. 現象以下の条件を満たすテキスト ファイルを Windows デスクトップ アプリの Word で開くと、「このファイルは新しいバージョンの Microsoft Word で作成されているため、このファイルを開くにはコンバーターが必要です。」というメッセージが表示されます。 <ファイルの条件> ファイル内容の先頭が Shift-JIS の「打」 (0x91C5) で始まること 2 文字目以降に文字が続くこと (制御コードを含め、何らかのデータがあること) 2. 原因多くのファイル形式では、先頭数バイトでそのファイル形式を表します。このため Word でファイルを開くとき、ファイルのバイナリ データの先頭数バ

                                                                      Word で「打」で始まるテキスト ファイルを開くとコンバーターを要求される
                                                                    • みんな忘れてるけど「文字コードというものにはシフトJISとUTF-8などがある」ということを知ってるだけでも世間一般からすればIT専門家である

                                                                      嶋田大貴 @shimariso みんな忘れてるけど、「テキストファイルという種類のファイルがあって、その中で使われる文字コードというものにはシフトJISとUTF-8などがある」ということを知ってるだけでも世間一般からすればIT専門家ですよ。

                                                                        みんな忘れてるけど「文字コードというものにはシフトJISとUTF-8などがある」ということを知ってるだけでも世間一般からすればIT専門家である
                                                                      • 実務で使える メール技術の教科書 基本のしくみからプロトコル・サーバー構築・送信ドメイン認証・添付ファイル・暗号化・セキュリティ対策まで | 翔泳社

                                                                        システム管理者・開発者が知っておきたいメール技術のすべて 【本書の特徴】 ・豊富な図解で、わかりづらい仕組みもよくわかる ・メール技術を軸に学ぶことで、「サーバー構築」「DNS」「セキュリティ」の仕組みが腑に落ちる ・システム開発・運用の実務で「使える」知識を網羅。1冊あれば安心! 【本書の内容】 SNSやメッセージアプリに押されている印象のメール。 しかし、ほとんどのSNSやWebサービスのアカウント作成にはメールが必要です。ビジネスシーンでは、メールで連絡をする人がまだまだたくさんいます。 つまり、システムやサービスの開発・運営において、メールはいまでも不可欠なインフラなのです。 ところが、メール技術全般について体系立てて説明された情報源は、いつの間にかほとんどなくなってしまいました。結果として実務の現場は、必要な知識だけをインターネットで調べたり、先輩に聞いたりして、「その場をしのぐ

                                                                          実務で使える メール技術の教科書 基本のしくみからプロトコル・サーバー構築・送信ドメイン認証・添付ファイル・暗号化・セキュリティ対策まで | 翔泳社
                                                                        • Rustで有名アルゴリズムに挑戦(17) RustでHTTPサーバを実装してみよう

                                                                          今回はRustを使って、簡単なHTTPサーバを実装してみましょう。HTTPは単純ですが生活インフラとしても必須となっているWebの根幹となる技術です。Rustに対する理解を深めると同時にWebの根幹となるHTTPについても学びましょう。 RustでHTTPを実装してみよう HTTPプロトコルとは? 「HTTP(Hypertext Transfer Protocol)」とは、WebサーバーとWebブラウザの間でデータをやりとりするための通信規則(プロトコル)です。 1990年末にイギリスの物理学者ティム・バーナーズ=リー氏と、ロバート・カイリュー氏によって設計されました。 HTTPプロトコルは、RFCとして公に発表されています。RFCとは、IETFが発行しているインターネットに関連する技術仕様などを共有するために公開される文書であり誰でも読むことができます。1996年にHTTP/1.0に関す

                                                                            Rustで有名アルゴリズムに挑戦(17) RustでHTTPサーバを実装してみよう
                                                                          • JSONの小ネタと、JSONに対する拡張

                                                                            JSONは最も普及したデータ形式の一つでしょう。JSONの仕様はECMA-404やRFC 8259として標準化されています。 ECMA-404 - Ecma International RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format 細かいネタ 文字コード RFC 8259では、外部と交換するJSONテキストはUTF-8でエンコードされなければならないということになっています。BOMは禁止です。昔のRFCではUTF-16やUTF-32も許容されていました。 ただし、キーや文字列の中身としては単独のサロゲート(例:"\uD800")は禁止されていません。JSONのキーや文字列はUnicodeスカラー値の列とは限らないのです。 UTF-8を前提とする実装にとっては、単独のサロゲート(不正なUTF-

                                                                              JSONの小ネタと、JSONに対する拡張
                                                                            • 市民への郵送物、JISコード外の氏名が文字化け さいたま市が謝罪

                                                                              さいたま市は2月16日、9日に発送した給付金の通知書で、氏名の一部に誤表記があったと発表し、謝罪した。 発送した12万通のうち4438通で、JIS規格の文字コードに含まれない外字を含む氏名について、正しい漢字が適用されなかったという。 対象の郵送物は「さいたま市物価高騰対応重点支援給付金のお知らせ」。 給付金に関する事務を受託している事業者が、外字を適正に印字する設定を誤ったため文字化けが起きたという。 9日に委託事業者から納品された通知を、郵便局に差し出すために仕分けをしている際、市職員が誤表記を発見した。その時点で発送を終えていた4438通は差し止められなかったという。 市は対象者に対して、事態の経緯をまとめた詫び状を送った。また、問題発覚後に発送した通知は、すべて正しく印字されていることを確認したという。 氏名が誤印字でも通知の内容は有効で、給付金の振込などへの影響はないとしている。

                                                                                市民への郵送物、JISコード外の氏名が文字化け さいたま市が謝罪
                                                                              • MinifyされたJavaScriptのコードをChatGPTで読みやすい形式に戻すことに成功

                                                                                チーム向けのチャットボットAIを提供しているGlama.aiのエンジニアであるフランク・フィーゲル氏が、容量削減のために変数名を短縮し、改行や空白を消す「Minify」が行われたJavaScriptのコードをChatGPTを使って読みやすい形式に戻すことに成功したと報告しています。 Using ChatGPT to reverse engineer minified JavaScript - ChatGPT for teams | Glama https://glama.ai/blog/2024-08-29-reverse-engineering-minified-code-using-openai フィーゲル氏が最初に注目したのは、以下のサイトで背景に表示されているアニメーションでした。このアニメーションは文字で構成されたアスキーアートが波打って目まぐるしく変化していくもので、フィーゲル

                                                                                  MinifyされたJavaScriptのコードをChatGPTで読みやすい形式に戻すことに成功
                                                                                • Brainfuck 実装で学ぶ TypeScript 型レベルプログラミング - Object.create(null)

                                                                                  およそ 4 年前に「TypeScript で型レベル Brainfuck」という記事を書きました. susisu.hatenablog.com それから 4 年間の間に TypeScript も進化し, 型レベルプログラミングの技法にも大きな変化がありました. 特に顕著な影響があったものでは, TypeScript 4.0 のタプル型の改善 TypeScript 4.1 のテンプレートリテラル型や条件型での再帰 TypeScript 4.5 の条件型での末尾再帰の除去と, 再帰の上限の緩和 などがあります. こういった変化も踏まえた上で, いまから TypeScript の型レベルプログラミングに入門する人に向けて改めてまとめ直したものがこの記事です. 内容は記事執筆時点の最新版である TypeScript 5.4.5 で動作を確認しています. ぜひ Playground などを使って,

                                                                                    Brainfuck 実装で学ぶ TypeScript 型レベルプログラミング - Object.create(null)