You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
XMLやCSV等のデータをJavaで色々加工して出力したりといったことをしてると必ずハマるのが波線などの文字化け問題です。 文字化けが発覚するたびにググって場当たり的な対処を繰り返すのに疲れたのでよく問題になる文字と形が似た文字をリストアップして、更にそれをJavaで各種エンコーディングに変換したらどの文字になるかを頑張って纏めました。 ついでに文字化けしないよう上手いこと出力可能な文字に置換する関数も作ってみました。 Javaの変換テーブル 表中の U,S,W,E,J はそれぞれ、UTF-8、Shift_JIS、Windows-31J、EUC-JP、ISO-2022-JP で出力した際の文字です。 見た目で分からないくらい似た文字ばかりなので、各セルにマウスカーソルを乗せたらツールチップで確認できるようtitleにコードポイントを書いておきました。 分かりやすいよう、青は文字化けなし、黄
引き続き、StringEscapeUtilsクラスの説明です。 今回は、HTMLとXMLの文字列のエスケープ・アンエスケープについてです。 escapeHtml public static java.lang.String escapeHtml(java.lang.String str) HTML特殊文字にエスケープします。 日本語も「あいうえお」⇒「あいうえお」のようにエスケープされてしまいます。 パラメータ: str – エスケープする文字列 戻り値: エスケープされた文字列 StringEscapeUtils.escapeHtml("\"bread\" & \"butter\"") = ""bread" & "butter"" escapeHtml public static void escapeHtml(java.io.Writer
Unicodeにあるハイフン/マイナス/長音符/波線/チルダのコレクション 2015/06/18 Unicodeにある文字の中からハイフンのような横棒と波線を集めてみました。複数あるのはわかっていたつもりでしたが、こんなにたくさんあるとは思いませんでした。 横線に関しては、ハイフンや長音符(カタカナの長音記号)、罫線など、線が横に延びているものです。縦方向や斜めの線は除きます。ほとんど横線だけどほんのちょっとだけ斜め(主観)になっているものは含みます。点線や矢印、線が2つ以上に分かれているものは除きます。途中で曲がっているものも除きます。横線が上の方だったり下の方だったり、太さが途中で変わるものも含めています。 波線に関しては、横方向の線が、直線ではなくS字カーブになっているもので、縦や斜めのS字を除きます。 S字カーブを超えて複雑な曲線も除いています。ただ、文字の名前に “wave” と
PHP Fatal error: Uncaught TypeException: Return value of foo() must be of the type array, integer returned in /tmp/foo.php on line 3 in /tmp/foo.php:3 Stack trace: #0 /tmp/foo.php(5): foo() #1 {main} thrown in /tmp/foo.php on line 3 また、PHP7からはスカラ型(int, float, bool, string)のタイプヒントがサポートされましたので、返り値についてもスカラ型を指定できます。 クラスメソッドの場合 上では関数を例に出しましたが、クラスのメソッドでも同じように返り値のタイプヒントが使えます。また、インターフェースを実装したりクラス継承したりする場合
著者の新屋さんから技術評論社の「正規表現技術入門」を頂きました。 これはいい本ですね。特に第2章で語られている、正規表現がどうやって生まれてきたかという話がよいです。僕も拙著「コーディングを支える技術」の続編に向けて、正規表現の歴史を書こうとしたことがあったのですが、僕が書こうと思っていたもの以上によいものに仕上がっています。しかも20ページとコンパクトにまとまってて、もう、僕がこれに関して書く必要はないなぁ、とうれしいようなさみしいような。パイプとgrepの関係は知らなかった、面白い。 第1章で60ページぐらいで正規表現の基本的なことをおさえてくれているのもよいところです。正規表現を使う必要のあるプログラマはみんな第1章だけでも目を通しておくとよいのではないかな。 正規表現がフォーマルにはどう定義されているものなのか。この話題は、コンピュータサイエンスを大学で学んだ人にとっては常識の範疇
正規表現の概要 正規表現は、Perlの中で最も重宝する機能のひとつです。正規表現にはテキスト処理のための様々な機能があり、文字列の中から特定のパターンを見つけ出したり、置換したりすることができます。 正規表現の基本的な使用方法 たとえば、$strという変数に格納したデータの中から、「A」で始まって途中は何があるかわからないが最後が「E」という文字列を探したい場合、次のように記述することで、条件にマッチする文字列を見つけることができます。 $str =~ /A.*E/; 上記では、ドット( . )が改行以外の1文字を表し、アスタリスク( * )がその任意の文字の0回以上の繰り返しを意味します。このように、正規表現において特殊な働きを持った文字を正規表現演算子、またはメタ文字と呼びます。また、=~ はパターン結合演算子と呼ばれ、「左辺の値から右辺の値を検索する」という意味があります。 正規表現
Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) [translated by Yuta Okamoto (@okapies) and Satoshi Kobayashi (@scova0731)] Table of Contents 序章 書式: ホワイトスペース, 命名, インポート, 中カッコ, パターンマッチ, コメント 型とジェネリクス: 戻り型アノテーション, 変位, 型エイリアス, 暗黙 コレクション: 階層, 使う, スタイル, 性能, Java コレクション 並行性: Future, コレクション 制御構造: 再帰, Return, forループと内包, require と assert 関数型プログラミング: 代数的データ型としてのケースクラス, Option, パターンマ
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist
はじめに 先日、私たちが開発しているクラウド型WAFサービス、Scutum(スキュータム)において、予想していなかった箇所の修正によってサーバの負荷が大幅に減るということがありました。原因はこのエントリのタイトルにもあるように、Stringクラスのインスタンスを生成する際の方法にありました。 Stringクラスのコンストラクタとcharset Stringクラスにはいくつかのコンストラクタが用意されています。我々が使っていたのはString(byte[] bytes, String charsetName)です。2つめの引数で、"MS932"や"UTF-8"のような文字集合(以下charset)を明示的に指定するものです。 ScutumのようなWAF(Web Application Firewall)は通常のウェブアプリケーションとは異なり、起動している間にさまざまなcharsetを扱うこ
今年の5月1日に、仙台市内のホテルで多重予約のトラブルが発生したと報道されています。 部屋数203室の仙台市のビジネスホテルで、9月18~23日の宿泊予約を数千件受け付けるトラブルがあった。アイドルグループ「嵐」のライブが宮城県内で開催される期間だった。インターネットでの申し込みが殺到し、システム障害が起きたとみられるという。 トラブルがあったのは、仙台市泉区の「ホテルルートイン仙台泉インター」。ホテルなどによると、9月19、20、22、23日に宮城スタジアム(宮城県利府町)で嵐がライブを開くことが明らかになった後の5月1日午前5時ごろ、ネットを使った予約申し込みが殺到していることに気づいたという。 203室のホテルなのに「予約」数千件 嵐公演で殺到か:朝日新聞デジタル より引用 5月1日の朝に何があったのか調べてみると、この日の早朝にテレビや新聞でコンサートの情報が流れたようですね。 お
Keynote - Jacob Kaplan-Moss - Pycon 2015 - YouTube The programming talent myth [LWN.net] PyCon 2015で、Djangoの貢献者であるJacob Kaplan-Mossが興味深い基調講演をしているので紹介する。LWM.netでほぼ全面書き起こしに近いまとめがあったので助かった。 自己紹介 Kaplan-MossはDjangoの貢献者であり、Herokuのセキュリテイ部門の部長である。PyCon参加者としては歴史が長く、その他のカンファレンスでもよく発表している。Pythonコミュニティは「自分にとってこの業界におけるとても重要なもの」であり、PyConの基調講演を行うということは、「自分のキャリア上の絶頂」である。 自分の最初のPyConの発表は2005年のことで、PythonとAppleScri
Unreal Engineのブループリントの衝撃 UnrealEngine初心者向けハンズオン勉強会で、Unreal Engineのブループリントに衝撃を受けた。ブループリントはビジュアルスクリプトでゲームを作っていく仕組みで、これを使えばノーコーディングでもゲームを作ることが出来る。僕は実際さわってみてあと20年以内にプログラマという職種はなくなるのは多分本当だと思った。 KANSAI CEDEC 2015 先週2月7日、KANSAI CEDEC 2015に行ってロブ・グレイさんによる「新世代のゲーム制作環境アンリアル・エンジン4~The Power of Blueprint~」というセッションを受けた。内容はデザイナがノーコーディングでどこまでゲームを作れるかというもので、実際1時間でコードを1行も組むことなく、アクションゲームのモックを完成させた。 モックといっても、グラフィック込み
プログラミングで最も重要な技術の一つが、名前付けです。 且つ、センスが問われるものなので、上達は難しいものでもあります。 この記事では、様々な文献から抽出した名前付けに関する情報を雑多にまとめました。 -名前重要- ソフトウェアの設計のアプローチとして、『まず名前から入る』というのは、あまり語られていない秘訣としてもっと広く知られても良いように思います。 - まつもとゆきひろ 『プログラマが知るべき97のこと』 コミュニケーションの基礎 名前は、コミュニケーションの基礎となるものです。 私にもあなたにも名前が無ければ、疎通することは困難になります。 名前をコミュニケーションの基礎と見た場合に重要なルールは以下の通りです。 発音可能であること 検索可能であること ※現実世界のみであれば検索可能じゃなくても良いかも知れません。 プログラミングは、チームや複数人で行うことのほうが多いと思います。
あと、やはりネットワーク周りなどI/Oの多いプログラムの書きにくさが課題になっている印象。関数的なI/OはFRPで解決できそうな気がするんだけど調べてない。そろそろFRPをちゃんと理解したいなー。 Parsec 3活用事例: Keepalived構文チェッカ - maoeのブログ なんて書いてから早1ヶ月半、ようやくFRPが掴めてきたのでわかったことをまとめてみます。 Reactive programmingって何? FRPの前に、一般的にwikipedia:en:Reactive programmingと呼ばれるパラダイムについて触れておきます。reactive programmingとは疑似言語を使ってかなーり大雑把に説明すると、 var a = 1 var b = a + 1 a = 10 // aを書き換える print b // => 11print bの出力は2ではなく11です
友人の話をしよう. 先達に敬意を表し, 仮に彼を K と呼ぶ. (イニシャルは便宜的なものだ; 向上心云々と罵ったこともないし, 恋人を寝取ってもいない.) ある時期, 私は K と一緒に働いていた. 今は違う会社にいるけれど, 互いに暇なのか, このごろもよく二人で管を巻いている. 1 K は優秀なプログラマだ. いつも敵わないと思う. 一緒に仕事をしていたこともあり, プログラマとしての私は K から強い影響をうけている. たとえば私が自動テストを始めた発端には K がいる. コードレビューもそう. この日記に出てくる話も K の影響は色濃い. 私は K のあとを追いかけるようにプログラマを続けている. K と働いてはじめて, ああ, 物事とはこう改善していくものなのかと知った. 何か問題を感じると K は試行錯誤を始める. 問題は私が諦めていたものもあるし, そもそも気付かないものも
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く