verilog書く人

自称ASIC設計者です。どなたかkaggle一緒に出ましょう。

パナソニックプログラミングコンテスト2020 E Three Substrings 感想戦

今回のABCは恐ろしい回だった。 嘘解法が通るなど幸運もあり黄パフォだったが、コンディションによっては緑あたりが出てもおかしくない感じだ。

りんごさん御自ら作門した回ということで、なんらかのメッセージを出してくるんじゃないかなとは思っていたが。

「Bにはコーナーケースはないだろう」と思ったら『H == 1で角がまったく動けない』、 「Cあたりは全探索あるかもしれないけど、Eまで来たらDPとか文字列ならローリングハッシュ」と思ってたら『Eが全探索』、 とまあ「いつものABC」を過学習してしまった僕達に意識の外からZガンを直撃させてくる感じのコンテストであった。

E - Three Substrings

続きを読む

似ている単語を別の色でハイライトするVSCodeのプラグイン「colorize-similar」を公開しました

突然ですが、このコードを読んでなにか気づいたことはないでしょうか?

def add2d(input_x, input_y):
    return [input_x[0] + input_y[0], input_x[1] + input_y[1]]

def sub2d(input_x, input_y):
    return [input_x[0] - input_x[0], input_x[1] - input_y[1]]

こうしてみるとどうでしょう?

f:id:segafreder:20191030231622p:plain
view

色分けするとよりわかりやすいですね、sub2dは実はバグっていて、

def sub2d(input_x, input_x):
    return [input_x[0] - input_y[0], input_x[1] - input_y[1]]

が正しいです。このように、似たような名前の変数の取り違えによるバグを誰しも一度は、いや何度も埋め込んできたと思います。

(私は競プロでも業プロでも何度もこれで死にました。。)

xとyはかなり似ているのですが、色分けされていれば簡単に見つかります。

というわけで、似たような単語を色分けしてハイライトする、colorize-similarというプラグインを公開しました。ぜひお試しください。

続きを読む

Hacktoberfestが素晴らしいので、OSS開発者になりたい人/すでになっている人は参加しよう!

Hacktoberfestとは

DigitalOceanとDEVが主催しているOSSを祝うイベントで、 任意のタイムゾーンで10/1 - 10/31上でGithubの公開リポジトリ上で4つのPRを送った参加者の内、 先着50000名に限定Tシャツとステッカーが送られます。 (※スパムと判断されたPRは含まれないなどのルールあり)

この記事では軽くルールの概要を説明しますが、正式なところは公式ページでご確認ください

続きを読む

Pythonの文法エラー箇所(行番号、何文字目)を取得するには

Pycon JPでPythonをサポートしてないIDEを紹介したトークがあったらしい()

さて、競プロIDEPython対応を進めていますが、Pythonシンタックスエラー箇所取得に少しつまづいたのでメモ。 IDEで文法エラー箇所をハイライトするには何行目、何文字目で文法エラーが起きているかを調べる必要があります。

結論

動的インポートしてシンタックスエラーをキャッチしてやればよい。

import importlib.machinery
loader = importlib.machinery.SourceFileLoader("<py_compile>", "test.py")
source_bytes = loader.get_data("test.py")
try:
    code = loader.source_to_code(source_bytes, "test.py")
except SyntaxError as e:
    print(":".join(("error", str(e.lineno), str(e.offset))))
続きを読む

Pycon JP 2019 登壇の感想

感想

資料はこちら。(gifが動きません)

speakerdeck.com

発表動画はこちら。(恥ずかしいので自分では見てません。)

www.youtube.com

採択率が厳しくてどの発表も質が高く、感想書きたいですが、ひとまず登壇の感想を。

技術系カンファレンスの登壇は初めてでした。

発表を終えた後に多くの方に温かい言葉をもらえて、ずっと一人で戦ってきた競プロIDEですが、

新たな理解してくださる方を得れたような、誰も見てないところに光が当たったような、力強い気持ちになれました。

人生で一回くらいは登壇と前から思っていたんですが、一回終えた今は、「次はもっとすごいのをやりたい!」という思いに駆られています。

続きを読む