タグ

ブックマーク / techracho.bpsinc.jp (7)

  • 漢字のようで漢字でないUnicodeの「康熙部首」と「CJK部首補助」|TechRacho by BPS株式会社

    きっかけ 以下のツイートで「埼玉埼⽟問題」と康煕部首を知りました。 「埼玉」と「埼⽟」の話。unicodedata.normalize('NFKC', '「埼玉」と「埼⽟」') でいけそう https://t.co/kte0sxDvZT — Haruhiko Okumura (@h_okumura) July 11, 2020 康煕部首とは ⼀⼁⼂⼃⼄⼅⼆⼇⼈⼉⼊⼋⼌⼍⼎⼏⼐⼑⼒⼓⼔⼕⼖⼗⼘⼙⼚⼛⼜⼝⼞⼟⼠⼡⼢⼣⼤⼥⼦⼧⼨⼩⼪⼫⼬⼭⼮⼯⼰⼱⼲⼳⼴⼵⼶⼷⼸⼹⼺⼻⼼⼽⼾⼿⽀⽁⽂⽃⽄⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿⾀⾁⾂⾃⾄⾅⾆⾇⾈⾉⾊⾋⾌⾍⾎⾏⾐⾑⾒⾓⾔⾕⾖⾗⾘⾙⾚⾛⾜⾝⾞⾟⾠⾡⾢⾣⾤⾥⾦⾧⾨⾩⾪⾫⾬⾭⾮⾯⾰⾱⾲⾳⾴⾵⾶⾷⾸⾹⾺⾻⾼⾽⾾⾿⿀⿁⿂⿃⿄⿅⿆⿇⿈⿉⿊⿋⿌⿍⿎⿏⿐⿑⿒⿓⿔⿕ KangXi Radica

    漢字のようで漢字でないUnicodeの「康熙部首」と「CJK部首補助」|TechRacho by BPS株式会社
    rryu
    rryu 2020/10/08
    普通にかな漢字変換しただけでは入力できないと思うのだが、どうやって入力しているのか気になる。OCRもわざわざ部首の方に変換しないはず。
  • IPアドレスから地域特定するGeoIP系技術について調べてみた(追記あり)|TechRacho by BPS株式会社

    morimorihogeです。昔は夏ってもっと仕事なくて暇だった気がするんですが、ここ数年徐々に忙しくなっていてまったりできてない💦 はてブでこんな記事が上がっていて、IPアドレスからの地域特定サービスについて具体的にどうなのよ?と思ったので調べてみた結果をまとめてみます。 NURO光最大のデメリットとサポート対応の悪さが上限知らずでどうにもならない なお、GeoIPという用語について、世間では狭義のGeoIPはMaxMind社のサービスを指しますが、広義のGeoIP系技術IPアドレスから地域を推定する技術やサービス一般を指すと捉え、記事では広義のGeoIPの視点から解説します(狭義のGeoIPを示す場合、現行サービス名のGeoIP2やGeoLite2の名称を使います)。 ※記事公開後、NURO光の問題の割当IPアドレスと思しきものが分かったため追記しています 前提知識 そもそもNU

    IPアドレスから地域特定するGeoIP系技術について調べてみた(追記あり)|TechRacho by BPS株式会社
    rryu
    rryu 2019/08/31
    このめんどくささ、個人が末端のサポートから問題を上げても絶対に理解されないよな…
  • Service Objectがアンチパターンである理由とよりよい代替手段(翻訳)|TechRacho by BPS株式会社

    近年、RailsアプリにService Objectを追加するメリットを説く記事が次から次へと量産されています。私は記事において、それがなぜ正しくないかを述べたいと思う次第であります。もっとよい方法はあるのです。 私はこれまで、Service Objectに関するネット上の議論にときおり参加しては、問題に対するまっとうな解決方法としてService Objectが正しくない理由について繰り返し見解を述べてきました。実際、私は多くの場合においてService Objectよりもっとよい解決方法があると考えるのみならず、Service Objectはオブジェクト指向設計原則への配慮が損なわれている兆候を示すアンチパターンとして取り扱っています。 このような深遠なポイントを細切れのツイートやコメント欄を追って理解するのは大変です。そこで私は、私の見解を正確に表すいくつかの現実的なコードを詳しく

    Service Objectがアンチパターンである理由とよりよい代替手段(翻訳)|TechRacho by BPS株式会社
    rryu
    rryu 2018/04/17
    まあ、サービスにするのは処理の起点が1個のオブジェクトではない時とかで、そうでないならRails的にはメソッドにした方が素直ではある。
  • Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社

    こんにちは、hachi8833です。 少し前に、babaさんから「Rubyの内部文字コードはUTF-8じゃないよ」とツッコミがありました。 (追記: 上は会話の途中から切り取りましたのでご了承ください) いきなりの展開にくらくらきましたが、babaさんはさらにたたみかけます。 こうしたことはとっくにご存じの方も多いと思いますが、「Rubyといえば2.0以来UTF-8完全対応なんじゃないの」と勝手に思い込んでた私は脳に掌底をらったような思いです。ああ、でもこういうことがあるから面白い。 ⚓ プログラミング言語と内部文字コードの関係 まず最初に押さえておきたい点です。プログラミング言語で文字コードに関連する部分は、「文字列」「正規表現」「入出力」「コード中の文字リテラル(""の中など)」「コード中の文字リテラル以外の要素(変数名など)」「ファイル名」などが中心になります。そして文字列に関連し

    Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社
    rryu
    rryu 2016/10/14
    ソースコードはASCIIでいいなんて、javacがASCIIしか受け付けなくてnative2asciiで変換したりした時代に戻りたいというのだろうか。
  • Canvas Fingerprintingはクッキーより怖いのか技術的に調べてみた|TechRacho by BPS株式会社

    morimorihogeです。最近忙しくて遠征すらおぼつかない状態です。夏イベント資源足りるのかこれ。 なんかはてブ界隈などでCanvas Fingerprintingの話題が出ていて、Cookieより怖い!とか、Adblockみたいに無効にする方法がないのにユーザトラッキングできて怖い!!といったアオリの記事がぽこぽこ出てきているようです。 でも、ざっと調べた限りの日語のどの記事を読んでも、具体的にどうやってユーザ個々のトラッキングができるようになるのか、技術的に解説されている記事が見つかりませんでした。 というわけで、エンジニアとしてはここは一つキッチリ理解しておきたいと思い、調べた結果をまとめます。 もし僕の読解がおかしくて変なことを言っている部分があれば、はてブやTwitter、コメント欄などで指摘して頂ければ更新していこうと思いますので、マサカリ上等です ;) Canvas F

    Canvas Fingerprintingはクッキーより怖いのか技術的に調べてみた|TechRacho by BPS株式会社
    rryu
    rryu 2014/08/06
    OS、GPU、ブラウザ、フォントだけで精度90%で識別できそうにないから他の情報も使っているのだと思うが何を使っているのだろう。
  • システム開発を適正な価格で発注し,プロジェクトを成功させる方法(その1:見積編)|TechRacho by BPS株式会社

    2013.04.20 システム開発を適正な価格で発注し,プロジェクトを成功させる方法(その1:見積編) こんにちは.morimorihogeです. 僕は普段受託開発の案件を中心に,要件定義から設計,実装,サーバ構築してリリースし,運用に乗るまで一通り携わる仕事をしています. Web開発自体はかれこれ学生時代からやっていて(当時は今の会社ではないですが),最初は純粋なプログラマとして入り,その後順当にやれる幅を広げていった形になります.もうそろそろ10年目みたいです.時が経つのは早いです. 昔に比べて最近は,お客様と開発の間の調整をしたり,案件の見積をしたりすることが多くなりました. そんな中,うまくいったプロジェクトもあり,こちらの力が至らずうまくできなかったプロジェクトもあります.いくつものプロジェクトを経験していく中で,最近はそうしたプロジェクトの差が見える様になってきた気がするので,

    システム開発を適正な価格で発注し,プロジェクトを成功させる方法(その1:見積編)|TechRacho by BPS株式会社
    rryu
    rryu 2013/04/20
    変動幅というか未確定区間を明示できる見積り法があればいいのになあ。
  • Rails 3.2.11にアップデートしましょう|TechRacho by BPS株式会社

    Ruby on Rails 3.2.11がリリースされました。 3.2.10が出てから数日ですが、合わせてかなり重大なセキュリティFIXが含まれているので、確実に更新しましょう。 3.2.11での変更点 (1) URLを知っている人だけがアクセスできる隠しページや、パスワードリセット機能などで、token認証をすることがよくあります。 たとえば以下のようなコードです。 if params[:token] @user = User.find_by_token(params[:token]) end ここで、仮にparams[:token]が空のハッシュ {} の場合、if文は当然真と評価されて通過しますが、find_by_tokenの部分は条件無しと見なされます。 User.find_by_token({}) User.where(:token => {}) このようなコードは、whereが

    rryu
    rryu 2013/01/11
    空ハッシュを 1=2 に展開するのはガード条件を !params[:token].blank? にすべきという無言の主張なのかもしれない。
  • 1