Lazy Diary @ はてな

"B"-con に戻る / mixi の個人ページへ
1000 | 01 |
2003 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 05 | 06 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 08 | 09 | 10 |
2009 | 01 | 02 | 03 | 05 | 10 |
2010 | 02 | 03 | 05 | 06 | 11 |
2011 | 03 | 10 |
2012 | 02 | 03 | 05 | 06 |
2013 | 05 | 09 |
2014 | 05 | 07 |
2015 | 06 | 07 |
2017 | 02 | 05 | 10 | 12 |
2018 | 01 | 03 |
リストのページ
聴きたい CD リスト / 観たい映画リスト / 読みたいまんがリスト / 輪講で使った本 / その他の物欲
 

2018-03-29

[] 「事故」という用語の由来

業務アプリの開発者は、よく「料金計算の結果が間違って出力された」とか「システムが○時間止まった」というトラブルを指して「事故」という言葉を使う。

高校や大学では使ったことのない用語だったので、これって業界用語だよね?と思って調べてみると、どうやらそうでもないみたい。

プログラムのバグや、それに起因したトラブルを指す言葉として、高校や大学ではよくJIS X 0014やJIS Q 9000に基づく表現を教えられる。

  • 障害(fault): JIS X 0014
  • 誤り(error): JIS X 0014
  • 故障(failure): JIS X 0014
  • 欠陥(defect): JIS Q 9000

なんだけど、以下に示す Design Wave Magazine の記事では、

  • 障害(fault)→異常(error)→故障(failure)→潜在危険(hazard)→事故(accident)

という表現が取られていた。

参考URL: http://www.cqpub.co.jp/dwm/contents/0109/dwm010900270.pdf

JIS X 0014 の表現とは食い違うように思うけれど、これはこれで分かりやすい。何由来の考えかたなんだろう?(ISO 26262? ISTQB? IEC 61508?)

トラックバック - http://d.hatena.ne.jp/satob/20180329

2018-03-25

[] お金の使いかた

  • (A) 「1円でも多く貯めておけ」という考え方。
  • (B) 「ここで使っとかないと使うときがないぞ」という考え方。

私の育った家は(A)の文化でした。私の育った地域には「買い初め」という文化が存在せず、かつ交通の便がよい場所で、自動車で30分〜1時間も行けば大概のものは手に入れることができました(つまりある時に買い逃したものがあってもまたすぐ手に入れるチャンスがある)。(A)の考え方で不自由しなかったのは、そういった背景もあるのかもしれません。

一方で「買い初め」という文化が存在し、かつ大きな町まで100km(ある時に買い逃したものがあると、次に手に入れるチャンスがあるのは100km先まで移動する用事があるときだけ)という文化だったりすると、どうしても(B)の文化になるのかもしれませんね。

トラックバック - http://d.hatena.ne.jp/satob/20180325

2018-03-22

[] 人から話を振られたときの「えーと」の意味

  • (A) 何か打ち合わせをするときに、わざわざ前もって「頭出しのための打ち合わせ」を行う文化。打ち合わせの中で質問を受けたときに「えーと」と発言しても問題ない(論点を整理しようとしてるんだろう、くらいにしか思われない)。
  • (B) 打ち合わせの場でもないのに、いきなり「○○の件なんだけど」と話を振られたとしても、即答できることが求められる文化。「えーと」などと言おうものなら、主題について真剣に考えていない(真剣に考えているなら即答できるのが当たり前で、その場で何か考えているようでは検討に参加してもらっている意味がない)と捉えられる。

担当者と顧客の対応関係が一対多だと(A)に、一対一だと(B)になるのかとも思ったんだけど、どうやらそういう訳でもないみたいなんだよね。「顧客から見て」担当者と顧客の対応関係が一対一に「見える」……言いかえると、担当者と顧客の対応関係が一対多であることが想像もつかない、という前提だと(B)になるのかな。

トラックバック - http://d.hatena.ne.jp/satob/20180322

2018-03-19

[] 小さいうちの自然との触れ合いかた

英語を学ぶことをもって異文化コミュニケーションとか言うことがあるけど、言語以外の異文化っていっぱいあるよ、という話。

  • (A) 小さいうちは自然に触れ合って遊ぶのが良い、という考え方。小学校で「校区の良いところは?」と先生が聞くと、「緑が多いところ」と答えるのが定番だったりする。
  • (B) 小さいうちは自然に触れ合うのは危険だ、という考え方。野山は毒のある動植物が多いし、迷い込んだりすると危険。人の手の入らない山が多かったり、気候が厳かったりするとこうなりがちなのかもしれない。
トラックバック - http://d.hatena.ne.jp/satob/20180319

2018-03-15

[] 業務アプリケーションの排他処理あるある

一言で「排他処理」と言っても、業務アプリケーション開発で「排他」というキーワードに関連する処理はいっぱいある。パッと思いつくだけでもこれだけある。

  • DBMSトランザクション分離レベル(排他レベル)
  • DBMSの共有ロックや排他ロック(WITH EXCLUSIVE LOCK)
  • DBMSのLOCK TABLEによる排他処理 (テーブルのバッチ更新中に、他のバッチやDBAの叩くSQLからテーブルを保護する)
  • アプリケーションフレームワークで行うDBレコードの楽観的排他処理
  • アプリケーションで実装するDBレコードの悲観的排他処理
  • アプリケーションで実装する業務閉塞処理 (バッチ処理中にオンライン業務が走らないようにする)
  • 並行処理用のライブラリ(JavaのConcurrentHashMapなど)
  • 処理系の同期化機構(Javaのsynchronizedなど)
  • リクエストごとのリソース分離(リクエストごとに一時ファイルを分けるとか)
  • 窓口制御による直列化(MaxThreadsを1にしちゃうとか)

これらの処理を混同せず、かつ使う時にはそれぞれの適不適を判断する必要があるわけです。開発者全員にこれらすべてを正確に理解してもらえるかと言ったら、そりゃ無理ってものです。

アーキテクチャ設計が不得手な人に無理に理解して設計してもらおうとすると、こんなことが起こる。全部本当に言われたことです。

  • 「DBの排他レベルはどうなってますか?」と聞くと「楽観排他をしてるからDBの排他レベルは大丈夫です!」と言われる
  • 「楽観排他処理のテストが抜けてませんか?」と聞くと「同じユーザが複数同時にログインすることはないからテストしてません」と言われる
  • 「これだと処理が競合しますよ」と言うと「処理が同時に行われる確率は低いから大丈夫、SHA-256だって『確率は低いから大丈夫』なんでしょ」と返される
  • 「これだと他のスレッドからデータが見えちゃいますよ」と言うと「ConcurrentHashMapを使ってるから他のスレッドから機密データが読まれることはありません」と返される
  • 「処理の追い越しが起こったときに問題が起こりませんか」と言うと「処理の追い越しはされないはずです、DBMSと同じです」と返される
  • 「複数の処理が同時に走ったらどうなりますか」と聞くと「CPUが1つだから複数の処理が同時に走ることはありません」と言われる
  • 「この処理が間に挟まったら他のリクエストから一時ファイルが見えてしまうのでは」と言うと「ソースのすぐ次の行でファイルを削除してるから間に処理は挟まりません」と返される
  • 「DBのテーブルに楽観排他用の連番がないですよ」と言うと「こう処理をしたら楽観排他がなくても大丈夫でしょ」と返される。パッと見大丈夫そうに見えるのだが、実は2多重には耐えられるが3多重になるとダメな処理になっている。

だから、アーキテクトとかテックリードとかが「こういう時にはこの処理を行うこと」 *1 というプロジェクト内ルールを決めたり、個々の開発者が考えなくてもいいようにアプリケーションフレームワークが面倒を見たりするわけです。

でもそうすると個々の開発者は、「フレームワークが面倒見てくれるんでしょ」と言って排他処理のことを考えなくなったり、業務知識の必要な排他処理の設計を「技術チームで検討してよ」と他へ押し付けたりと、排他処理のことをどんどん考えなくなっちゃう。そうするとアーキテクトやテックリードの裾野が狭くなっちゃうわけで、困ったもんですね。

*1:ちなみに、こういう場合にはあえて「排他」という言葉は使わない方が得策です。前述したとおり「排他」にはいろいろ種類があるもんだから、アーキテクトに言われたとおり実装してなかった担当者が「こっちの『排他』でも用は足りるんだからいいでしょ」と不適切な排他処理を自前で実装してしまったりするので……

トラックバック - http://d.hatena.ne.jp/satob/20180315

2018-01-21

[] キーノートとプレゼンと卒論発表の違い

卒論発表なのにAppleのキーノートみたいになっているケース、この辺を取り違えているのかなぁ、という印象。

キーノートプレゼン論文(卒論とか)発表
聞く人は話の内容に興味があるの?興味があるから聞きに来てる商品やサービスがよく分からないから話を聞いてる興味があるもないもそれで食ってる
聞く人の人数は?とても多いだいたいあまり多くないだいたいあまり多くない
聞く人の知識は?人によって知識はバラバラ商品やサービスそのものとは別に、何か専門分野を持っていることが多い発表される内容の専門家
発表者は何に注目してほしい?このカンファレンス自体(またはそこで発表される商品)がいかに魅力的かプレゼンで直接紹介している商品やサービスがいかに魅力的か発表の自体の内容が妥当か
発表の目的は?カンファレンスを盛り上げること商品やサービスに興味を持ってもらうこと発表者自身が卒業等に足る知識を持っていると証明すること
トラックバック - http://d.hatena.ne.jp/satob/20180121

2018-01-20

[] Cupheadの元ネタ、あまり触れられていなさそうなところ

Super AttacksのGiant Ghost
これは妖怪道中記のご先祖様じゃないのかなぁ……
Wally Warbles (Phase 1)
グラディウスII (VULCAN VENTURE)のステージ1ボス(フェニックス)っぽい。「ドンキーコング リターンズ」が元ネタじゃないの、とも言われてるみたいだけど……
Wally Warbles (Phase 2)
グラディウスIII (Gradius III) のステージ5ボス(ドガス)、またはパロディウスだ!のステージ1ボス(キャプテンペンギンノフスキーIII)
Pirouletta
極上パロディウス (Fantastic Journey) のステージ1ボス(アンナ・パブロワ&めろーら)では。少なくとも回転して弾をバラまくところはそうだと思うんだけど。
Cagney Carnation
これは怪しいけど、足場の下から上向きにツタを伸ばしてくるあたりが、アクトレイザー (ActRaiser) マラーナAct1のボス(ラフレシア)を思いだすんだよね。あと、このステージの足場はロックマン2 (Mega Man 2) のアイテム1号では。
トラックバック - http://d.hatena.ne.jp/satob/20180120

2017-12-30

[] 私は如何にして心配するのを止めて年賀状の宛名を手書きするようになったか

ポエムです。

背景

年賀状の宛名なんて、筆まめやら何やらで印刷すればいいとも思うんですよ。特に、私はコンピュータ・ソフトウェア・エンジニアなので、自動化はまさに自分の存在意義に関わる訳です。

でも、そういう訳にもいかない事情があるわけです。主に人間系で。

年賀状の宛先には、コンピュータ・エンジニアリングを解さない人もいます。もっと言うと、コンピュータを解さない人がいます。そういう人にとって、コンピュータは「字引き」です。「辞書」じゃないですよ?「字引き」です。アイコンという概念は理解できないので、コンピュータが動作している様子を見ても、ひらがなが漢字に変わることだけを認識して「これは字引きだ」と理解する訳です。話がそれました。

若い人でコンピュータを解さない人もいますが、そういう人は単にコンピュータに無関心なだけなので、宛名が印刷だろうが手書きだろうが問題ないと思います。もっと言うと、若いがために、そこから文句が出ても、封建社会の中で自分が受けるダメージはさほど大きくない。

リスク

問題は、一族の中で発言力を持つ人が、印刷された宛名に対して何かを気にかけたケースで、かつ自分がそこからダメージを受けるケースです。なので、たとえ自分は宛名が印刷された年賀状を受け取っているとしても、何の助けにもなりません。宛名を印刷する人は、文句を言う側の人かもしれません。それに、自分宛の年賀状の宛先面を、自分が年賀状を書く相手に見せたりしないですよね?

リスクとしては、たとえば「年賀状をすべて配偶者に作らせているのではないか」という疑惑が発生するケースが考えられます。これは配偶者が専業主婦/専業主夫だと発生しやすそうにも思われますが、かといって共働きだからといって発生しない訳ではないので(なぜかという話は土地・時代の背景によるので省略)、回避しておくに越したことはありません。

回避策

そして、このリスクを回避(低減ではなく回避です)するために、宛名を手書きするわけです。リスクの低減策として以下のような対策も考えられますが、リスク対策コストの面から採用はやめました。

  • 宛名(表面)は印刷して、裏面は手作り
    • 本当はこれがやりたかったんだけど、幼子のいる家では無理ですねコレ……
  • 宛名も(表面)も裏面も印刷して、裏面にコメントを書く
    • 自分のまわりではこれが多いですね。ただ、コメント考えるの大変じゃないですか?宛名書く方がラクじゃないですか?
  • 宛名(表面)を印刷する人と、手書きする人とを分ける
    • 管理が大変だし、高々数十枚なら手順を揃えた方が運用系がラクです。管理を間違えてリスク回避に失敗してもつまらないし。
トラックバック - http://d.hatena.ne.jp/satob/20171230

2017-12-27

[] Gitでときどき見る誤解

中央リポジトリへのpushと納品との関係

誤解

ソフトウェアの請負開発を行っており、自分は下請です。ソースコードの管理に、元請が設置したGitサーバを使っています。

Gitサーバにソースをpushすると、元請の管理するサーバにソースコードをアップロードすることになるので、「ソースを元請へ納品した」ということになりますよね?

回答

ブランチ構成にもよりますが、一般的なブランチ構成の場合、Gitサーバにソースをpushしただけではマスタソースは変更されません。そのため、一般にはpushしただけで「納品」とは扱われないと思います。Gitサーバへのpushは、一時ファイルをサーバに置くのと同じ感覚と捉えて問題ないと思います。

その上で、心配であれば元請に確認をしてください(なお、元請が「納品扱いです」と言ってきたら、Gitを効果的に使えていないのではと疑った方がよいかもしれません)。


ファイルの先祖返りの防止

誤解

今はSubversionでソースを管理しているのですが、ときどきソースが先祖返りしてしまって困っています。

Gitでソースを管理したら、先祖返りしないんですよね?

回答

Git自体に先祖返りを防止する機能はありません(もしあったら、変更を元に戻す修正ができなくなってしまいますよね)。

Subversionでも正しく運用すればソースの先祖返りは防止できます。そのため、先祖返りの原因は使っているツールではなく、ソフトウェア構成管理の運用にあると思われます。

ソフトウェア構成管理の運用が間違っていたら、SubversionだろうがGitだろうが先祖返りは起こります。


Gitの位置付け

誤解

GitはSubversionの後継なんですよね?

回答

GitがSubversionを元にしているとか、GitがSubversionの後継となるよう作られたとかではありません。GitとSubversionとの間に直接的な関係はありません。「ファイルのバージョン管理を行う」という用途が同じで、Gitの方が後から出てきたというだけです。そういう意味で「ChromeはIEの後継なんですよね?」という質問に似ているかもしれません。

あとは「後継」という言葉の意図によりますが、たとえば御社の技術部門が、以前Subversionを推していたところ、Gitを推すように変わったのなら、御社の中では「GitはSubversionの後継」と言ってもよいかもしれません。

トラックバック - http://d.hatena.ne.jp/satob/20171227

2017-10-11

[] ソースコードの自動生成の意義

ここ5〜10年くらいのソフトウェア工学では、「ソースコードの自動生成」はだいたい悪手と言われているみたい。(「どこに何を書いたらいいか分からない」という人のためのガイドとしては、雛形ソースの生成がとても有効だけど、それとは別物の、ロジックを含めた自動生成の話ね)

理由は、生成したコードに間違いがある場合の修正が大変とか、UMLをもとにModel-Drivenな生成をしても結局大した内容は生成できないとか。そんなんだったら、フレームワークを用意して、ホットスポットビジネスロジックだけ書いてもらう方がいいよ、ということみたい。

でも実は、「ソースコードの自動生成」には、技術的というより政治的な利点があるんではないかと思っている。もちろん、それがアプローチとしてイケてるかダサいかは別として、という話なんだけど……

例えば、自分の書いたビジネスロジックのコードが動かないと「フレームワークのバグだ!」って騒ぎ出す人、結構居るんですよ、理由はいろいろですけど。

本当は自分のコードが悪いの分かってんだけど、それを修正する時間を稼ぐために、とりあえずフレームワークが悪いと騒いどいて、フレームワークの開発元(あるいはフレームワークの適用を決めた共通チーム)が調査したり見解書いたりしてる間に自分のコードを直そう、とかね。

そういうことやらかす人に「このフレームワークのこの部分って、何やってるんですか?」って聞かれたとして、共通チームのチームリーダーが30秒間で説明できないような複雑な処理をやってる箇所があると、絶好の時間稼ぎポイントにされちゃうんだよね。

ビジネスロジックがマズいせいで上手く動いてないなら、共通チームはその理由をビジネスロジックの開発担当者の上司(作業指示者)に説明する必要があるわけ。フレームワークの上に載っかってるんだから、こう実装しないとダメなんですよ、とか。

ところが、いまベテラン管理職になってるくらいの人が若い頃は、「ライブラリ」の形でのソフトウェア再利用が持てはやされてて、フレームワークという考え方はあまり広まってなかったから、「フレームワーク?何それ?」ってなっちゃうことがある。

GoFデザインパターンが出たのが1995年、フレームワークの考え方がエンタープライズ分野に入ってきたのが2000年代前半くらいだから、若めの管理職の人はそんなことないんだけどね。

「『関数の呼び出し方が悪い』というなら理解できるんだけど、『呼び出され方が悪い』って何それ?訳わかんないよ。共通的なクラスって、ライブラリのことでしょ?ライブラリ呼び出すどっかの引数がおかしかったんじゃないの?え、違う?何それ。」とかいう反応。

「書いたロジックを上から順に読んできゃいいんじゃないの?え、それも違う?どういうこと?」とかね(この「上から順に読んでいく」以上のことができない人、世代関係なくかなり多いのよ。たぶん、ソース上の記述と実行時の動きを区別できないんだと思う)。

特に、そのやらかしさんの上司が、要点だけ話さないと理解できないソーシャルタイプの人だったりするとなおさら。「口で説明されても分からんから、エビデンスを表にまとめて、頭紙に見解書いて持ってこい!」とかね。

だからフレームワークの機能はできるだけ簡素にしといて、代わりに自動生成したコードで機能を補うわけ。フレームワークの機能が単純なら疑問を挟む余地が少なくなる。

それに、ビジネスロジックの開発担当者にコードが見えてさえいれば、生成したコードが多少長くても「生成されたコードをちゃんと読まない奴が悪かった」っていうことを理由にできる(上司にしても共通チームにしてもプロマネにしても、そういう風に上に報告できる)からね。

開発担当者が抗弁しても、上司やプロマネは「読まなきゃならんコードが多い?共通化とか再利用とかしとらんのはけしからん。え、フレームワーク?何それ。ああ、自動生成。それだったら分かる。理解しやすいようにチュートリアルは用意しといてくれよ」となることが多い。

フレームワークの導入支援をしてる共通チームって、人員が少ないうえに担当作業の影響範囲が広いから、こういうトラブルに巻き込まれるとプロジェクト全体の進捗にすごく悪いんだよね。その上、技術面での責任を負わされてることが多いから、責任をなすりつけられやすいし。

なお悪いのは、調査の結果フレームワークに非がないことが分かっても、「あのフレームワークは疑われたことがある」っていう事実とか、悪印象って消えないんですよね。

だから、一度騒がれるとまた次に騒がれた時に「フレームワークが悪いんじゃ?」って思われてしまいやすくなるんです。そうすると、次にまた時間稼ぎがやりやすくなる悪循環に陥っちゃうんです。

でも、フレームワークに対してチーフプロマネなんかの偉い人が悪印象を持ってると、そのせいで使ってもらえなかったりするんです。だから、なおタチが悪い。だから、そういう時間稼ぎに使われたりされるのを防ぐことだけ考えれば、ソースコードの自動生成は結構有効なんだと思うんですよ。

もちろん、政治的な理由で技術的にまずい設計を採用すると後で痛い目を見る、ってのはよく言われることだけどね。

あとは、サポート期間の話とか。フレームワークの中のロジックは、基本的にフレームワークの開発元が面倒を見る必要がある。業務ロジック考える人たちは、フレームワークのことまで考えてられないからね。それに、フレームワークの亜種が多発すると、ノウハウの使い回しに支障が出る。

一方で、生成したソースの方にロジックがあれば、それはプロジェクトの持ち物(受託開発プロジェクトなら顧客の資産)なので、もちろんフレームワーク開発元もテストはするけれど、リリースしたあとはプロジェクトが面倒を見ればいい。

システムによっては50年物のコードとかがあるんだけど、フレームワークの開発元が50年間面倒見るのはさすがに難しい。システムは50年生きるかもしれないけど、開発手法が50年生き続けることはないだろうからね。

フレームワーク自体をプロジェクトに譲渡する手もあるけど、もともとフレームワークの実装を隠蔽することで業務ロジック開発の負荷を下げていたわけだし、プロジェクトがわも頼る先がなくなるわけで、これは本当に最終手段かな。

[] 日本における貧困率(相対的貧困)と世界貧困線(絶対的貧困)

日本における貧困率のカウントには、相対的貧困が用いられる。日本における貧困率にカウントされるのは、2017年の国民生活基礎調査の場合、年間の等価処分所得が122万円未満の世帯。

世界における貧困率のカウントには、絶対的貧困が用いられる。世界単位で貧困率にカウントされるのは、2015年の世界銀行の設定の場合、貧困線を購買力平価が1.90$/日(1ドル112円として年間で7.77万円)未満の世帯。

トラックバック - http://d.hatena.ne.jp/satob/20171011

2017-10-10

[] iOS 11ではリマインダーに保存したツイートのURLからTwitterのアプリを開けない

  • iOS 10.3では、リマインダーに保存したツイートのURLはTwitterのアイコンで表示される。また、TwitterのアイコンをタップするとTwitterのアプリが起動し、対応するツイートが表示される。
  • iOS 11.0では、リマインダーに保存したツイートのURLはアイコンなしで表示される(Safariのアイコンも表示されない)。また、Twitterのアイコンをタップしても、TwitterのアプリもSafariも起動しない。なお、ツイートのURLでない一般サイトのURLにはSafariのアイコンが表示される。

今のところ回避方法は見つかっていない。

[] OSSの資産計上

ソフトウェアが資産計上される話で「じゃあOSSはどうなるの」という話があった。もしかして「自社の金でソフトを開発したけど、OSSとして公開するから自社資産じゃないでしょ」と言い張ることで一括損金計上することが可能?

  1. まず、実現可能性が検証できていないソフトウェアの開発は、資産化できるか分からないから、研究開発扱いで始める必要があるんだよな。そして研究開発扱いで作成したソフトウェアは資産にできない(でないと、投資してないのに謎の資産が生えてくることになる)。
  2. だからプロプラソフトの実現可能性検証を研究開発扱いで行う場合、掛ける工数は程々にしてプロトタイプっぽいものの開発だけ行うことが多い(以降の開発は資産化する必要があるから投資扱いで行う)。
  3. なんだけど、ここで研究開発扱いのまま開発を最後まで進めてしまい、OSSとして公開した上で、その費用は一括損金計上してしまう。あとは、そのOSSの利用ノウハウだけ内部で秘密にしておけば、減価償却が不要なソフトウェアと、他社と差別化できるノウハウが手に入る……という理解でいいのか?

やっぱり「OSSなら自社資産じゃない(≒損金計上しても脱税じゃない)」が怪しいな。OSSライセンスの多くは著作権法に立脚しているから、著作権は自社に留保されている訳だしな。「収益獲得又は費用削減に使えるか」という判断基準だと文句なしに「使える」訳だし……

トラックバック - http://d.hatena.ne.jp/satob/20171010

2017-05-08

[] 子の名に使える非漢字 JIS X 0208

法務省 戸籍統一文字情報のページから、自作のPowerShellコマンドレットGet-KosekiMojiを使って、JIS X 0208の非漢字(0x8140(全角スペース)〜0x84BE(╂))について、法務省の定める「子の名に使える文字」かを調査した。

使用したPowerShellスクリプトを以下に示す。まず以下のスクリプトで非漢字の情報を取得してファイルに出力する(戸籍統一文字情報のページヘ何度もアクセスするのを避けるため)。

0x8140..0x84C0 | ForEach-Object {
  $CodePoint = "{0:X4}" -F $_;
  $Available = Test-CodePoint -CodePoint $CodePoint -Encoding 932;
  if ($Available) {
    $KosekiMjData = Get-KosekiMoji -CodePoint $CodePoint -Charset "ShiftJIS";
    Start-Sleep 4;
    if ($KosekiMjData) {
      $KosekiMjData
    }
  }
} | ConvertTo-Csv -NoTypeInformation | Out-File -Encoding utf8 -Path "./KskMj.csv"

取得した結果のCSVファイルは以下に置いた。

https://gist.github.com/satob/233c04d55e607fb53ab717e6ec34b80c

次に以下のスクリプトで非漢字の情報を読み込み、はてなのテーブル形式にして出力する。

$KskMjSjisHash = @{}; Get-Content -Encoding UTF8 ./KskMj.csv | ConvertFrom-Csv | ForEach-Object { $KskMjSjisHash.Add($_.SJIS, $_) }
$Index = 0;
0x8140..0x84C0 | ForEach-Object {
  $CodePoint = "{0:X4}" -F $_;
  $Available = Test-CodePoint -CodePoint $CodePoint -Encoding 932;
  if ($Available) {
    $Index++;
    $Character = ConvertFrom-CodePoint -CodePoint $CodePoint -From 932;
    $UnicodeCodePoint = Convert-CodePoint -CodePoint $CodePoint -From 932 -To "utf-16BE";
    $KskMjData = $KskMjSjisHash[$CodePoint];
    if ($KskMjData) {
      "|{0}|{1}|{2}|{3}|{4}|{5}|" -F $Index, $CodePoint, $UnicodeCodePoint, $Character, $KskMjData.KskMjBng, $KskMjData.KskMjKbn;
    } else {
      "|{0}|{1}|{2}|{3}|{4}|{5}|" -F $Index, $CodePoint, $UnicodeCodePoint, $Character, "-", "-";
    }
  }
} | Out-File -Encoding utf8 ./KononaHikanji.txt

出力結果を以下に示す。

  • 「同じ」の意味を持つ非漢字のうち、子の名に使えるのは「ゝ」「ゞ」「々」、使えないのは「ヽ」「ヾ」「〃」「仝」。
  • 長音記号「ー」は子の名に使える。たとえば「チャーリー」は問題ない。
  • 中黒「・」やイコール「=」は子の名に使えない。たとえば「ティム・バーナーズ=リー」をそのまま名前に使うことはできない。
  • ひらがな・カタカナのうち「ゎ」「ヴ」「ヵ」「ヶ」はすべて全て子の名に使える。たとえば「くゎんのん」は問題ない。

JIS X 0213だとひらがな・かたかなが増えているので、その点については今後調査が必要。


NoシフトJISUnicode文字戸籍統一文字番号文字区分
181403000 901690非漢字
281413001901700非漢字
381423002901710非漢字
48143FF0C901720非漢字
58144FF0E901730非漢字
6814530FB901740非漢字
78146FF1A901750非漢字
88147FF1B901760非漢字
98148FF1F901770非漢字
108149FF01901780非漢字
11814A309B901790非漢字
12814B309C901800非漢字
13814C00B4´901810非漢字
14814DFF40901820非漢字
15814E00A8¨901830非漢字
16814FFF3E901840非漢字
178150FFE3901850非漢字
188151FF3F_901860非漢字
19815230FD901870非漢字
20815330FE901880非漢字
218154309D901890子の名に使える文字、非漢字
228155309E901900子の名に使える文字、非漢字
2381563003901910非漢字
2481574EDD901920非漢字
2581583005901930子の名に使える文字、非漢字
2681593006901940非漢字
27815A3007901950非漢字
28815B30FC901960子の名に使える文字、非漢字
29815C2015901970非漢字
30815D2010901980非漢字
31815EFF0F901990非漢字
32815FFF3C902000非漢字
338160FF5E902010非漢字
3481612225902020非漢字
358162FF5C902030非漢字
3681632026902040非漢字
3781642025902050非漢字
3881652018902060非漢字
3981662019902070非漢字
408167201C902080非漢字
418168201D902090非漢字
428169FF08902100非漢字
43816AFF09902110非漢字
44816B3014902120非漢字
45816C3015902130非漢字
46816DFF3B902140非漢字
47816EFF3D902150非漢字
48816FFF5B902160非漢字
498170FF5D902170非漢字
5081713008902180非漢字
5181723009902190非漢字
528173300A902200非漢字
538174300B902210非漢字
548175300C902220非漢字
558176300D902230非漢字
568177300E902240非漢字
578178300F902250非漢字
5881793010902260非漢字
59817A3011902270非漢字
60817BFF0B902280非漢字
61817CFF0D902290非漢字
62817D00B1±902300非漢字
63817E00D7×902310非漢字
64818000F7÷902320非漢字
658181FF1D902330非漢字
6681822260902340非漢字
678183FF1C902350非漢字
688184FF1E902360非漢字
6981852266902370非漢字
7081862267902380非漢字
718187221E902390非漢字
7281882234902400非漢字
7381892642902410非漢字
74818A2640902420非漢字
75818B00B0°902430非漢字
76818C2032902440非漢字
77818D2033902450非漢字
78818E2103902460非漢字
79818FFFE5902470非漢字
808190FF04902480非漢字
818191FFE0¢902490非漢字
828192FFE1£902500非漢字
838193FF05902510非漢字
848194FF03902520非漢字
858195FF06902530非漢字
868196FF0A902540非漢字
878197FF20902550非漢字
88819800A7§902560非漢字
8981992606902570非漢字
90819A2605902580非漢字
91819B25CB902590非漢字
92819C25CF902600非漢字
93819D25CE902610非漢字
94819E25C7902620非漢字
95819F25C6902630非漢字
9681A025A1902640非漢字
9781A125A0902650非漢字
9881A225B3902660非漢字
9981A325B2902670非漢字
10081A425BD902680非漢字
10181A525BC902690非漢字
10281A6203B902700非漢字
10381A73012902710非漢字
10481A82192902720非漢字
10581A92190902730非漢字
10681AA2191902740非漢字
10781AB2193902750非漢字
10881AC3013902760非漢字
10981B82208902860非漢字
11081B9220B902870非漢字
11181BA2286902880非漢字
11281BB2287902890非漢字
11381BC2282902900非漢字
11481BD2283902910非漢字
11581BE222A902920非漢字
11681BF2229902930非漢字
11781C82227903020非漢字
11881C92228903030非漢字
11981CAFFE2¬903040非漢字
12081CB21D2903050非漢字
12181CC21D4903060非漢字
12281CD2200903070非漢字
12381CE2203903080非漢字
12481DA2220903190非漢字
12581DB22A5903200非漢字
12681DC2312903210非漢字
12781DD2202903220非漢字
12881DE2207903230非漢字
12981DF2261903240非漢字
13081E02252903250非漢字
13181E1226A903260非漢字
13281E2226B903270非漢字
13381E3221A903280非漢字
13481E4223D903290非漢字
13581E5221D903300非漢字
13681E62235903310非漢字
13781E7222B903320非漢字
13881E8222C903330非漢字
13981F0212B903410非漢字
14081F12030903420非漢字
14181F2266F903430非漢字
14281F3266D903440非漢字
14381F4266A903450非漢字
14481F52020903460非漢字
14581F62021903470非漢字
14681F700B6903480非漢字
14781FC25EF903530非漢字
148824FFF10903690非漢字
1498250FF11903700非漢字
1508251FF12903710非漢字
1518252FF13903720非漢字
1528253FF14903730非漢字
1538254FF15903740非漢字
1548255FF16903750非漢字
1558256FF17903760非漢字
1568257FF18903770非漢字
1578258FF19903780非漢字
1588260FF21903860非漢字
1598261FF22903870非漢字
1608262FF23903880非漢字
1618263FF24903890非漢字
1628264FF25903900非漢字
1638265FF26903910非漢字
1648266FF27903920非漢字
1658267FF28903930非漢字
1668268FF29903940非漢字
1678269FF2A903950非漢字
168826AFF2B903960非漢字
169826BFF2C903970非漢字
170826CFF2D903980非漢字
171826DFF2E903990非漢字
172826EFF2F904000非漢字
173826FFF30904010非漢字
1748270FF31904020非漢字
1758271FF32904030非漢字
1768272FF33904040非漢字
1778273FF34904050非漢字
1788274FF35904060非漢字
1798275FF36904070非漢字
1808276FF37904080非漢字
1818277FF38904090非漢字
1828278FF39904100非漢字
1838279FF3A904110非漢字
1848281FF41904180非漢字
1858282FF42904190非漢字
1868283FF43904200非漢字
1878284FF44904210非漢字
1888285FF45904220非漢字
1898286FF46904230非漢字
1908287FF47904240非漢字
1918288FF48904250非漢字
1928289FF49904260非漢字
193828AFF4A904270非漢字
194828BFF4B904280非漢字
195828CFF4C904290非漢字
196828DFF4D904300非漢字
197828EFF4E904310非漢字
198828FFF4F904320非漢字
1998290FF50904330非漢字
2008291FF51904340非漢字
2018292FF52904350非漢字
2028293FF53904360非漢字
2038294FF54904370非漢字
2048295FF55904380非漢字
2058296FF56904390非漢字
2068297FF57904400非漢字
2078298FF58904410非漢字
2088299FF59904420非漢字
209829AFF5A904430非漢字
210829F3041904480子の名に使える文字、非漢字
21182A03042904490子の名に使える文字、非漢字
21282A13043904500子の名に使える文字、非漢字
21382A23044904510子の名に使える文字、非漢字
21482A33045904520子の名に使える文字、非漢字
21582A43046904530子の名に使える文字、非漢字
21682A53047904540子の名に使える文字、非漢字
21782A63048904550子の名に使える文字、非漢字
21882A73049904560子の名に使える文字、非漢字
21982A8304A904570子の名に使える文字、非漢字
22082A9304B904580子の名に使える文字、非漢字
22182AA304C904590子の名に使える文字、非漢字
22282AB304D904600子の名に使える文字、非漢字
22382AC304E904610子の名に使える文字、非漢字
22482AD304F904620子の名に使える文字、非漢字
22582AE3050904630子の名に使える文字、非漢字
22682AF3051904640子の名に使える文字、非漢字
22782B03052904650子の名に使える文字、非漢字
22882B13053904660子の名に使える文字、非漢字
22982B23054904670子の名に使える文字、非漢字
23082B33055904680子の名に使える文字、非漢字
23182B43056904690子の名に使える文字、非漢字
23282B53057904700子の名に使える文字、非漢字
23382B63058904710子の名に使える文字、非漢字
23482B73059904720子の名に使える文字、非漢字
23582B8305A904730子の名に使える文字、非漢字
23682B9305B904740子の名に使える文字、非漢字
23782BA305C904750子の名に使える文字、非漢字
23882BB305D904760子の名に使える文字、非漢字
23982BC305E904770子の名に使える文字、非漢字
24082BD305F904780子の名に使える文字、非漢字
24182BE3060904790子の名に使える文字、非漢字
24282BF3061904800子の名に使える文字、非漢字
24382C03062904810子の名に使える文字、非漢字
24482C13063904820子の名に使える文字、非漢字
24582C23064904830子の名に使える文字、非漢字
24682C33065904840子の名に使える文字、非漢字
24782C43066904850子の名に使える文字、非漢字
24882C53067904860子の名に使える文字、非漢字
24982C63068904870子の名に使える文字、非漢字
25082C73069904880子の名に使える文字、非漢字
25182C8306A904890子の名に使える文字、非漢字
25282C9306B904900子の名に使える文字、非漢字
25382CA306C904910子の名に使える文字、非漢字
25482CB306D904920子の名に使える文字、非漢字
25582CC306E904930子の名に使える文字、非漢字
25682CD306F904940子の名に使える文字、非漢字
25782CE3070904950子の名に使える文字、非漢字
25882CF3071904960子の名に使える文字、非漢字
25982D03072904970子の名に使える文字、非漢字
26082D13073904980子の名に使える文字、非漢字
26182D23074904990子の名に使える文字、非漢字
26282D33075905000子の名に使える文字、非漢字
26382D43076905010子の名に使える文字、非漢字
26482D53077905020子の名に使える文字、非漢字
26582D63078905030子の名に使える文字、非漢字
26682D73079905040子の名に使える文字、非漢字
26782D8307A905050子の名に使える文字、非漢字
26882D9307B905060子の名に使える文字、非漢字
26982DA307C905070子の名に使える文字、非漢字
27082DB307D905080子の名に使える文字、非漢字
27182DC307E905090子の名に使える文字、非漢字
27282DD307F905100子の名に使える文字、非漢字
27382DE3080905110子の名に使える文字、非漢字
27482DF3081905120子の名に使える文字、非漢字
27582E03082905130子の名に使える文字、非漢字
27682E13083905140子の名に使える文字、非漢字
27782E23084905150子の名に使える文字、非漢字
27882E33085905160子の名に使える文字、非漢字
27982E43086905170子の名に使える文字、非漢字
28082E53087905180子の名に使える文字、非漢字
28182E63088905190子の名に使える文字、非漢字
28282E73089905200子の名に使える文字、非漢字
28382E8308A905210子の名に使える文字、非漢字
28482E9308B905220子の名に使える文字、非漢字
28582EA308C905230子の名に使える文字、非漢字
28682EB308D905240子の名に使える文字、非漢字
28782EC308E905250子の名に使える文字、非漢字
28882ED308F905260子の名に使える文字、非漢字
28982EE3090905270子の名に使える文字、非漢字
29082EF3091905280子の名に使える文字、非漢字
29182F03092905290子の名に使える文字、非漢字
29282F13093905300子の名に使える文字、非漢字
293834030A1905390子の名に使える文字、非漢字
294834130A2905400子の名に使える文字、非漢字
295834230A3905410子の名に使える文字、非漢字
296834330A4905420子の名に使える文字、非漢字
297834430A5905430子の名に使える文字、非漢字
298834530A6905440子の名に使える文字、非漢字
299834630A7905450子の名に使える文字、非漢字
300834730A8905460子の名に使える文字、非漢字
301834830A9905470子の名に使える文字、非漢字
302834930AA905480子の名に使える文字、非漢字
303834A30AB905490子の名に使える文字、非漢字
304834B30AC905500子の名に使える文字、非漢字
305834C30AD905510子の名に使える文字、非漢字
306834D30AE905520子の名に使える文字、非漢字
307834E30AF905530子の名に使える文字、非漢字
308834F30B0905540子の名に使える文字、非漢字
309835030B1905550子の名に使える文字、非漢字
310835130B2905560子の名に使える文字、非漢字
311835230B3905570子の名に使える文字、非漢字
312835330B4905580子の名に使える文字、非漢字
313835430B5905590子の名に使える文字、非漢字
314835530B6905600子の名に使える文字、非漢字
315835630B7905610子の名に使える文字、非漢字
316835730B8905620子の名に使える文字、非漢字
317835830B9905630子の名に使える文字、非漢字
318835930BA905640子の名に使える文字、非漢字
319835A30BB905650子の名に使える文字、非漢字
320835B30BC905660子の名に使える文字、非漢字
321835C30BD905670子の名に使える文字、非漢字
322835D30BE905680子の名に使える文字、非漢字
323835E30BF905690子の名に使える文字、非漢字
324835F30C0905700子の名に使える文字、非漢字
325836030C1905710子の名に使える文字、非漢字
326836130C2905720子の名に使える文字、非漢字
327836230C3905730子の名に使える文字、非漢字
328836330C4905740子の名に使える文字、非漢字
329836430C5905750子の名に使える文字、非漢字
330836530C6905760子の名に使える文字、非漢字
331836630C7905770子の名に使える文字、非漢字
332836730C8905780子の名に使える文字、非漢字
333836830C9905790子の名に使える文字、非漢字
334836930CA905800子の名に使える文字、非漢字
335836A30CB905810子の名に使える文字、非漢字
336836B30CC905820子の名に使える文字、非漢字
337836C30CD905830子の名に使える文字、非漢字
338836D30CE905840子の名に使える文字、非漢字
339836E30CF905850子の名に使える文字、非漢字
340836F30D0905860子の名に使える文字、非漢字
341837030D1905870子の名に使える文字、非漢字
342837130D2905880子の名に使える文字、非漢字
343837230D3905890子の名に使える文字、非漢字
344837330D4905900子の名に使える文字、非漢字
345837430D5905910子の名に使える文字、非漢字
346837530D6905920子の名に使える文字、非漢字
347837630D7905930子の名に使える文字、非漢字
348837730D8905940子の名に使える文字、非漢字
349837830D9905950子の名に使える文字、非漢字
350837930DA905960子の名に使える文字、非漢字
351837A30DB905970子の名に使える文字、非漢字
352837B30DC905980子の名に使える文字、非漢字
353837C30DD905990子の名に使える文字、非漢字
354837D30DE906000子の名に使える文字、非漢字
355837E30DF906010子の名に使える文字、非漢字
356838030E0906020子の名に使える文字、非漢字
357838130E1906030子の名に使える文字、非漢字
358838230E2906040子の名に使える文字、非漢字
359838330E3906050子の名に使える文字、非漢字
360838430E4906060子の名に使える文字、非漢字
361838530E5906070子の名に使える文字、非漢字
362838630E6906080子の名に使える文字、非漢字
363838730E7906090子の名に使える文字、非漢字
364838830E8906100子の名に使える文字、非漢字
365838930E9906110子の名に使える文字、非漢字
366838A30EA906120子の名に使える文字、非漢字
367838B30EB906130子の名に使える文字、非漢字
368838C30EC906140子の名に使える文字、非漢字
369838D30ED906150子の名に使える文字、非漢字
370838E30EE906160子の名に使える文字、非漢字
371838F30EF906170子の名に使える文字、非漢字
372839030F0906180子の名に使える文字、非漢字
373839130F1906190子の名に使える文字、非漢字
374839230F2906200子の名に使える文字、非漢字
375839330F3906210子の名に使える文字、非漢字
376839430F4906220子の名に使える文字、非漢字
377839530F5906230子の名に使える文字、非漢字
378839630F6906240子の名に使える文字、非漢字
379839F0391Α906330非漢字
38083A00392Β906340非漢字
38183A10393Γ906350非漢字
38283A20394Δ906360非漢字
38383A30395Ε906370非漢字
38483A40396Ζ906380非漢字
38583A50397Η906390非漢字
38683A60398Θ906400非漢字
38783A70399Ι906410非漢字
38883A8039AΚ906420非漢字
38983A9039BΛ906430非漢字
39083AA039CΜ906440非漢字
39183AB039DΝ906450非漢字
39283AC039EΞ906460非漢字
39383AD039FΟ906470非漢字
39483AE03A0Π906480非漢字
39583AF03A1Ρ906490非漢字
39683B003A3Σ906500非漢字
39783B103A4Τ906510非漢字
39883B203A5Υ906520非漢字
39983B303A6Φ906530非漢字
40083B403A7Χ906540非漢字
40183B503A8Ψ906550非漢字
40283B603A9Ω906560非漢字
40383BF03B1α906650非漢字
40483C003B2β906660非漢字
40583C103B3γ906670非漢字
40683C203B4δ906680非漢字
40783C303B5ε906690非漢字
40883C403B6ζ906700非漢字
40983C503B7η906710非漢字
41083C603B8θ906720非漢字
41183C703B9ι906730非漢字
41283C803BAκ906740非漢字
41383C903BBλ906750非漢字
41483CA03BCμ906760非漢字
41583CB03BDν906770非漢字
41683CC03BEξ906780非漢字
41783CD03BFο906790非漢字
41883CE03C0π906800非漢字
41983CF03C1ρ906810非漢字
42083D003C3σ906820非漢字
42183D103C4τ906830非漢字
42283D203C5υ906840非漢字
42383D303C6φ906850非漢字
42483D403C7χ906860非漢字
42583D503C8ψ906870非漢字
42683D603C9ω906880非漢字
42784400410А907260非漢字
42884410411Б907270非漢字
42984420412В907280非漢字
43084430413Г907290非漢字
43184440414Д907300非漢字
43284450415Е907310非漢字
43384460401Ё907320非漢字
43484470416Ж907330非漢字
43584480417З907340非漢字
43684490418И907350非漢字
437844A0419Й907360非漢字
438844B041AК907370非漢字
439844C041BЛ907380非漢字
440844D041CМ907390非漢字
441844E041DН907400非漢字
442844F041EО907410非漢字
4438450041FП907420非漢字
44484510420Р907430非漢字
44584520421С907440非漢字
44684530422Т907450非漢字
44784540423У907460非漢字
44884550424Ф907470非漢字
44984560425Х907480非漢字
45084570426Ц907490非漢字
45184580427Ч907500非漢字
45284590428Ш907510非漢字
453845A0429Щ907520非漢字
454845B042AЪ907530非漢字
455845C042BЫ907540非漢字
456845D042CЬ907550非漢字
457845E042DЭ907560非漢字
458845F042EЮ907570非漢字
4598460042FЯ907580非漢字
46084700430а--
46184710431б--
46284720432в--
46384730433г--
46484740434д--
46584750435е--
46684760451ё--
46784770436ж--
46884780437з--
46984790438и--
470847A0439й--
471847B043Aк--
472847C043Bл--
473847D043Cм--
474847E043Dн--
4758480043Eо--
4768481043Fп--
47784820440р--
47884830441с--
47984840442т--
48084850443у--
48184860444ф--
48284870445х--
48384880446ц--
48484890447ч--
485848A0448ш--
486848B0449щ--
487848C044Aъ--
488848D044Bы--
489848E044Cь--
490848F044Dэ--
4918490044Eю--
4928491044Fя--
493849F2500--
49484A02502--
49584A1250C--
49684A22510--
49784A32518--
49884A42514--
49984A5251C--
50084A6252C--
50184A72524--
50284A82534--
50384A9253C--
50484AA2501--
50584AB2503--
50684AC250F--
50784AD2513--
50884AE251B--
50984AF2517--
51084B02523--
51184B12533--
51284B2252B--
51384B3253B--
51484B4254B--
51584B52520--
51684B6252F--
51784B72528--
51884B82537--
51984B9253F--
52084BA251D--
52184BB2530--
52284BC2525--
52384BD2538--
52484BE2542--
トラックバック - http://d.hatena.ne.jp/satob/20170508

2017-05-02

[] 子の名に使える非漢字

子の名に使える漢字」は法務省に一覧表があるが、「子の名に使える非漢字」については一覧表のようななものがない。

「あ」や「ア」のような一般的なひらがな・カタカナは当たり前に使えるとして、日本の文字コードの規格であるJIS X 0208およびJIS X 0213の中には、日常あまり使わないひらがな・カタカナや、かな文字とも漢字とも言えない文字がいろいろ載っている。

そこで、子の名に使えるんだか使えないんだかよくわからない文字について、実際に使えるのか使えないのか調べてみた。

判断には法務省の戸籍統一文字情報のページを使用する。このページで文字を検索し、個別の文字のページで、「文字区分」の欄に「子の名に使える文字」と記載があれば、その文字は子の名に使えるということになる。

#文字コード戸籍統一文字子の名に使える戸籍統一文字番号
1U+308EYesYes905250
2U+3094No No
3U+3095No No
4U+3096No No
5U+309DYesYes901890
6U+309EYesYes901900
7U+30EEYesYes906160
8U+30F4YesYes906220
9U+30F5YesYes906230
10U+30F6YesYes906240
11U+30F7No No
12U+30F8No No
13U+30F9No No
14U+30FANo No
15U+30FDYesNo 901870
16U+30FEYesNo 901880
17U+3003YesNo 901910
18U+4EDDYesNo 901920
19U+3005YesYes901930
トラックバック - http://d.hatena.ne.jp/satob/20170502

2017-02-17

[] ヒアドキュメントのSplitをするときの改行文字は"`r`n"でなく"`n"

@'
abcde
fghij
'@.Split("`r`n") | Set-Variable hoge

みたいにヒアドキュメント的なことをするとき、Splitの引数に"`r`n"を指定している記事が時々ある。

これは、Windowsのコンソールで上記の内容を直接タイプしているときは問題ない。

しかし、上記の内容をファイルに格納してドットソース形式で実行したり、Windows以外の環境で実行したりする場合にはうまく行かない(文字列が区切られずにそのままSet-Variableされてしまう)。

問題の原因はSplitの引数に"`r`n"を指定しているため(コマンドプロンプトだけ内部的な文字コードが異なる?)。

ここを"`n"にすれば、ファイルに格納していても、Linuxのターミナル上でも、問題なく動く。

トラックバック - http://d.hatena.ne.jp/satob/20170217

2015-07-03

[] 現在のブランチの作業成果物を GitHub へ pushする

currentbranch=`git status | grep "On branch" | cut -d " " -f3`
git push origin $currentbranch
git checkout master
git pull upstream master
git push origin master
git checkout $currentbranch
git rebase master
git push -f origin $currentbranch

参考URL: http://kik.xii.jp/archives/179

トラックバック - http://d.hatena.ne.jp/satob/20150703
 

Firefox latest-Release (Ring Server)

Bugzilla-jp に報告したバグ / Bugzilla-org で関係しているバグ

Wikipedia:翻訳のガイドライン / Wikipedia:FAQ 翻訳