出力を入力へ

プログラミングに関する基本的な事を中心にまとめます

Harbor 1.1を1.5にアップグレードする

新しくCNCFプロジェクトに入ったHarborを今まで利用してきた1.1から 現時点で最新の1.5.2にアップグレードする. 今後大きく変更が生じることが予測され, 実際1.6からはDBをPostgresqlに移行する計画なので それまでにプロジェクトの構成を確認しておく. …

IntelliJ IDEAで複数言語混在プロジェクトを作成する

例えば,1つのプロジェクト内にJavaとPythonが混在する場合, デフォルトのSDKをJavaにするとPythonファイルでモジュールがUnresolved referenceに, SDKをPythonにするとJavaのファイルがコンパイルエラーになる. これを解決するためには,プロジェクトの…

参加記録 ABC104

最近のABCは難し過ぎる. ABしか解けなかったけど,これでレート上がるんだから皆解けなかったのだろう. AB解いて300(10:38), 576th 956 -> 990(+34), パフォーマンス1214 B - AcCepted 正規表現で解けるかな,なんてことは一切考えず愚直に実装した. 'A',…

RocketChatの実装を調べたけどわからなかった

前回の続き. 結局FlowRouterの利用設定がおかしいだろうことはわかったけど, 原因は特定できなかった. おそらく原因は packages/rocketchat-libにあって, 一次的にはgetRouteLinkが返すリンクがおかしい. ただし,getPermaLinkや directoryのリンクであ…

meteorチュートリアルを試してRocket.Chatの実装を調べてみた

普段利用しているSlackクローンのRocket.Chatについて, 結構前から動作に影響の大きな不具合が出ていたので頑張ってIssue報告してみた. これ自体は意図は伝わったのか,他にも同様の不具合を報告してくれる人が何人も現れ, これで対処してもらえると思い…

参加記録 ARC100

記念すべき第100回にて大敗北してしまった. 0完で1001 -> 956. 安定してCD解けるようになりたいと思っていたけど Cが解けないのはきびしい. C - Linear Approximation bの候補は b = A_i - i を満たす最小のbと最大のbの間のいずれか => bの候補は最大109…

Ubuntu 18.04リリース記念オフラインミーティングに参加しました

UbuntuをメインOSとして利用している割には今までオフラインミーティングに 参加できていませんでしたが,ついに参加することができました. 主催のグリーさま,運営のUbuntu Japanese Teamのみなさま ありがとうございました. UbuntuでRAW画像を取り扱う …

Redmineのサブプロジェクトをソートして表形式に表示する

以前にサブプロジェクトを View Customize Plugin を利用して 表形式に表示する 記事を書いた が 実はサブプロジェクトはソートされていなかった. デフォルトではサブプロジェクトの作成順に表示されるが, サブプロジェクト名に応じてソートされた方が便利…

ゼロから作るDeep Learning2の公開レビューに参加しました

Deep Learningまわりは勉強しないといけないよな, と考えていた矢先に 『ゼロから作るDeep Learning ❷』公開レビューのお知らせ を知り,参加させてもらうことにしました. 業務では技術ドキュメントのレビューを行う機会は多いものの, 市販される前の書籍…

参加記録 GCJ Qualification Round 2018

システムが一新したGCJ. サーバエラーが相次いだようだけど自分は影響なかった. ただし,コンパイルエラー(提出クラス名の修正ミス)とか 入出力形式ミスがあったので気を付けたい. ABC small解けた時点でどれか1つはlarge通るだろうと Dは問題文読むだけ…

参加記録 Codeforces Educational Round 41

久しぶりのCodeforces & 初のEducational. よく知らないままにとりあえず参加. ABC解いて1619th, Rank 1402でRatings 1408 -> 1419 (+11). 久しぶりの海外コンテストかつEducationalの形式を知らない中で参加した割にはまあ満足. ただし,コンテスト終わ…

参加記録 AGC022

とりあえずAを解くことを目標にして,実際にAを解けたのでとりあえずは満足. 526th 851 -> 947 Bを解けるようになることも課題だけど, Aをもっと早く解けるようになることが優先かな. A - Diverse Word サンプルを見て,単語長で処理が違うことに気付く.…

Redmine4(Rails5)プラグイン開発ハンズオン無料セミナーに参加しました

Redmine4(Rails5)プラグイン開発ハンズオン無料セミナーに参加しました Redmine4を見据えた,プラグイン開発ハンズオンに参加しました. 主催のアジャイルウェアさん,会場提供のテクマトリックスさん ありがとうございました. agileware.connpass.com 参加…

hatena-blog-modeのテスト

手軽にブログを投稿できるようにするために emacsで作成・ポストできる環境を構築する. hatena-blog-mode はまさにこれを実現するためのelispなのでこれを利用する. 追加でやりたいこと ファイルの保存場所の指定 デフォルトではHOMEに作成され, 投稿が完…

minikubeのvm-driver noneでk8sを構築したときに外部ホストからアクセスを許可する

minikubeでkubernetesを構築するとき, デフォルトではVirtualBoxのVMを作成してその上で構築する. 一方で,この挙動はvm-driverオプションで変更することができ, オプションに'none'を指定すると,minikubeコマンドを実行したホスト上に kubernetesを構築…

Redmineのサブプロジェクトを表形式で表示するView Customize pluginスクリプト

Redmineの各プロジェクトの概要ページにて,サブプロジェクトはコンマ区切りで表示される. これはサブプロジェクトが2-3個であれば気にならないが, 多くなるほどに見辛くなることが気になっていた. これを解決するために,View Customize pluginを利用し…

Ubuntu Desktop 16.04上で、OpenCV3.1.0をビルドする

軽い気持でOpenCV3.1.0をビルドしようとしたら 想像以上に苦労したのでそのまとめ。

ゲストOS(Windows10)からmicroSDカードリーダの認識に失敗した

Raspberry Pi2でWindows 10 IoTを動かそうという目標に対して VMのWindows10を利用しようという話。 結局Windows10 IoTまで話が進まず、 ゲストOSにSDカードリーダを認識させることができずに 失敗しています。

KVM上のWindowsでVirtIOを利用する

やっとの事でKVM上にWindows10をインストールすることに成功した。 Ubuntu/KVM上にWindows10をインストールする - 出力を入力へthaim.hatenablog.jp とはいえ、ディスクIOがものすごく遅い。 アプリのインストールにも時間が掛かるし、 普段使いにも非常に不…

Ubuntu/KVM上にWindows10をインストールする

Windows10が発売され、Visual Studio 2015や RaspberryPi向けOS(Windows10IoT)の提供など、 最近いろいろと遊べるようになってきたMicrosoft製品群。 Windows7からWindows10への更新も1年間無料で提供されているので、 昔購入してほとんど利用していないWind…

.emacsにbundleを導入しました

自分の.emacsの管理がひどく、 auto-installやらなんやらで自分でも把握できていなかった。 今後emacsでの開発機会を増やす予定なので 最近流行っているel-getやらcaskやらを導入して .emacsを整備していきたい。どういった構成にすべきか検討していたところ…

Firewallの検証にncコマンドを利用する

最近firewall(iptables)の設定をいじる事が多かったんだけど その変更の検証が結構面倒だった。 今回はその検証にncコマンドを利用したのでメモ。

リングバッファの識別子にビットマスクを用いる

言語によらず、プログラムを書くときの実装技術の1つ。 特にメモリの制約がゆるく、リングサイズに強い制約が無いときは (リングサイズが特定の値である必要が無く、一定以上であればよいとき) リングサイズを2のるい乗とし、識別子にはリングサイズ-1とする…

HTC J butterfly HTL21 HTL23 スペック比較

auのスマートフォンHTL21とHTL23の比較。 とりあえずは基本的なスペックのみ。

書評:シェルスクリプト高速開発手法入門

シェルスクリプトでCMSを構築してしまう、という内容の濃さに惹かれて手に取った。 実際に業務において簡単な検証にはシェルスクリプトを多用するため、 よりシェルスクリプトを使いこなせるようになる上で参考になればと期待した。実際に大いに参考になりそ…

実行環境に応じてログの動作を切り替える

ローカル環境では標準出力(または標準エラー出力)にデバッグプリント文を出力し、 リモート環境ではなにもして欲しくない。 これをすべて自動で実現させるための方法についてまとめておく。具体的には、プログラミングコンテストでデバッグコードの除去ミス…

SRM619Div2Medium ChooseTheBestOne

アルゴリズム的に何か難しいわけではないけど、 実装上の工夫?として必須だと感じたのでメモ。TopCoder Statistics - Problem Statement問題の概要は以下の通り。 N人を円状に並べ、1〜Nで番号付けする。 1番目の人から時計回りに以下の操作を繰り返す。 t…

オブジェクトの比較に'=='演算子は使ってはいけないというあたりまえの話

Javaのようなオブジェクト指向言語を学べば1〜2日で習うであろう事に オブジェクトの比較に==は使ってはいけないということ。あろうことか、Javaを5年以上使っていながら このミスを犯してしまったので、そのミスをまとめておく。

読書記: ソースコードリーディングから学ぶJavaの設計と実装 (第1章)

2014年はJavaをしっかりと学び直そう、という目的の元に いろいろなJavaに関連する技術書を勉強する。 まず第一弾として、ずっと気になっているソースコードリーディングに関するこの本。ソースコードリーディングから学ぶ Javaの設計と実装作者: WINGSプロ…

Machine Learning Advent Calendar 2013まとめ

年末年始の時間があるときに 機械学習のAdvent Calendar記事を読んだ。 これらのうち、自分が気になった記事のまとめ。時間がある時には自分の仕事には直接関係無くても 興味のある分野の勉強ができるのがうれしい。その中でも機械学習は将来的に 自分の仕事…