タグ

ブックマーク / yamitzky.hatenablog.com (7)

  • Python の型システムの上で Immutable な Python プログラムを作る - 病みつきエンジニアブログ

    まえがき 今年の PyCon JP 2020 にて「Python 3.9 時代の型安全な Python の極め方」というタイトルで登壇させていただきます。稿は、発表の補足となる「型ヒントを使って Immutable な Python を実現する方法」について紹介したものです。 Python の型ヒント Python には「型ヒント」という機能があり、型をプログラム内に宣言することができます。 age: int = 28 name: str = 'Bruce Wayne' Python は動的型付き言語であるため、この情報はランタイム(実行時)にはあまり意味がないのですが、 mypy などの型チェックツールをつかうと、型の誤りをチェックすることができます。 def check_batman(name: str) -> bool: return name == 'Bruce Wayne' a

    Python の型システムの上で Immutable な Python プログラムを作る - 病みつきエンジニアブログ
    advblog
    advblog 2020/08/24
  • 社内ネットワークで使うための短縮URLサービス作った - 病みつきエンジニアブログ

    社内専用環境とかで“性善説”に基いて運用できる、短縮URLを作ってみた。 github.com 詳細は README に書いているが、 シンプルなUI 命名もできるし、ランダムな文字列もいける 既存の短縮URLの上書き(性善説だし :) DynamoDBがバックエンドで安い Dockerベース ちなみに、イントラネットに置けるようにしたかったので、サーバーレスにはしてない。 モチベーション Google社の勉強会とかにいくと、貼ってあるポスターに http://go/hoge みたいなリンクがあって(あるよね?)そういう“社内専用短縮URL”を実現したかった。 また、Slackのトピックには文字数制限があるが、どうしても制限を超える長いURLへのリンクを貼りたかったという事情があった。かといって、ここに貼りたかったリンクは社内専用の URL なので bit.ly とかの短縮 URL サービ

    社内ネットワークで使うための短縮URLサービス作った - 病みつきエンジニアブログ
    advblog
    advblog 2018/01/11
  • チーム開発における「ニワトリ」が適切に鳴くために - 病みつきエンジニアブログ

    アジャイルスクラムとかの文脈で「ニワトリ」と「ブタ」という概念がある。 その言葉自体は結構ググれば出てくると思うんだけど、一つ寓話を引用してみる。要は、「ニワトリとブタ」のプロジェクトメンバーが「ハムエッグ」を作る上で、「ブタ」は自分の身を削っているのに対し、「ニワトリ」は身を削っていないですね、ということ。 ニワトリとブタがいた。 ニワトリは「さあ、レストランでもやろうよ」と言った。 ブタはよく考えてから「レストランの名前は何にしようか」と言った。 ニワトリは答えた。「ハム・エッグさ」。 ブタは言った。「僕は止めておくよ。君は産むだけだけど、僕は切り刻まれるんだよ」 recompile.net ※ 原典は シュエイバー・ビードル共著の「アジャイルソフトウェア開発スクラム」? 原義からずれるかもしれないが、自分は「ブタとニワトリ」をこう解釈している。 ブタ・・・開発チームのメンバーであり

    チーム開発における「ニワトリ」が適切に鳴くために - 病みつきエンジニアブログ
    advblog
    advblog 2017/07/16
  • 通信系テストのためのサイトのススメ:example.com、httpbin.org、badssl.com - 病みつきエンジニアブログ

    HTTP通信の機能を持ったプログラムをテストするときに、どこにアクセスするか、迷うことがある。(モックが使えるならそれがいいけど) そんなときにおすすめな、example.comとhttpbinとbadssl.comを紹介してみる。 example.com 名前がそのままだが、example.com はちゃんと動くサイトである。よくサンプル文字列として(例えばメールアドレスとかで)仕込んでたのだが、最近まで当に生きたサイトだとは知らなかった。 亜種に example.org とか example.netもある。RFC 2606に定義されているそうで、第三者に悪影響が及ばないことを保障することができるとある。Wikipediaにも記事がある。 ただ、あくまで普通のウェブサイトであり、「403をテストしたい」といった特殊なテストには合わない。そんな人にhttpbinをおすすめしたい。 htt

    通信系テストのためのサイトのススメ:example.com、httpbin.org、badssl.com - 病みつきエンジニアブログ
    advblog
    advblog 2016/05/17
  • 「メールの添付ファイルにパスワードかけて、別メールでパスワードを送る」に言いたいこと - 病みつきエンジニアブログ

    (2015/8/29追記) 最初に代案だけ書いておくと、(メールで送る程度の秘匿性のものは)「Proself」みたいな別プロトコルを使う、です。 メールパスワードでは、パスワードに規約をつけることもできません。 また、この話は企業等においてのルール化の話です。 ファイルをZIPで暗号化し、まずZIPをメールで送り、しばらくして別メールで8文字程度の乱数パスワードを送るという謎のプロトコルが日企業で流行っているが、ZIPのパスワードは総当たりでかなり高速に解析できるし、そもそもパスワードをメールで送っているので効果が疑問。— Daiyuu Nobori (@dnobori) June 17, 2013 もう何年前のネタなんだろうという感じでもあるのですが、2015年現在もこの慣習はなくなっていないように感じます。 実際社会人になってからも、残念なことに一度言われたことがありますし(受け売り

    「メールの添付ファイルにパスワードかけて、別メールでパスワードを送る」に言いたいこと - 病みつきエンジニアブログ
    advblog
    advblog 2015/08/28
  • もっともっと良いコーディングをするための勘所8つ - 病みつきエンジニアブログ

    先日とあるコードレビューを拝見することがあったのですが、それにインスパイアされて記事を書いてみます。レビュワーの方が言ったことも含んでいますが、それと必ずしも一致するものでもありません。 Objective-Cのコードで書いていることが多いですが、わりと一般論だと思います。 photo by Hugo-photography 命名規則は言語の「普通」に任せる 例えば、Objective-Cだと変数にはcamelCaseを使うことが多いです。逆にRubyではsnake_caseを使ったりします。もしくは、略語を使うとか使わないとか、そういう違いもあります。 変数名に対してどういう書き方をするかというのは、個人の好みではなく、言語の慣習に任せるのがいいのではないかと思います。 言語の慣習の調べ方は、Githubで「stars:>100」と検索して、言語を絞るといいでしょう。(参考:Rubyの例

    もっともっと良いコーディングをするための勘所8つ - 病みつきエンジニアブログ
    advblog
    advblog 2013/12/01
  • アプリをパクって何が悪いんですか? - 病みつきエンジニアブログ

    っていうタイトルにすると炎上すると聞いたので・・・(震え声) 最近、アプリのパクリについていろいろ起きているようです。 スマホアプリ市場でパクリが横行していて凄いことになっています 「違法パクリアプリ」製造元を追う 似たような問題は前にもあったのですが(アプリ名を失念)、アプリをパクったとき「悪いパクリ方」と「良いパクリ方」があり(権利侵害と、真っ当な模倣)、その区別はちゃんとしなければならない気がします。 アイデアは著作権法では保護されない まず、大前提として、アイデアは著作権法では保護されません。 著作権法では、著作物を 思想又は感情を創作的に**表現したもの**であって、文芸、学術、美術又は音楽の範囲に属するもの とあります(著作権法 - Wikipedia)。したがって、アイデアのような思想や感情そのものは保護されません。 「釣りゲーム訴訟、グリー敗訴が確定 最高裁が上告退ける」と

    アプリをパクって何が悪いんですか? - 病みつきエンジニアブログ
    advblog
    advblog 2013/08/26
  • 1