wrongwrongな開発日記

情報系大学院生の忘備録

プログラミング

【Android】picassoでURLから画像をよしなに扱う【Kotlin】

URLで公開されている画像をAndroidから効率的に扱うライブラリとしてはPicassoとGlideが有名です。 今回はPicassoの導入について書きます。 Picassoとは 画像のダウンロード、変形、メモリキャッシュといった処理をよしなにやってくれるライブラリです。 や…

【Android】Retrofitの通信をOkHttpでデバッグする【Kotlin】

wrongwrong163377.hatenablog.com 続きです。 やりたいこと 前回の記事の時点ではRetrofitの通信がどうなっているか把握できないので、上手くいかないときにデバッグするのが困難です。 そこで、OkTTP3を用いて通信のデバッグを行います。 プロジェクトリポ…

【VB】自作したコンポーネントをデザイナーに表示する【.Net】

↓の記事の続きです。 wrongwrong163377.hatenablog.com 前回の問題点 コンポーネントをデザイナーで扱えないので、デザインの確認が難しい状態でした。 今回はデザイナーで自作コンポーネントを扱う手順を書きます。かなりバットノウハウなやり方ですが……。 …

【DxLib】描画スレッドで宣言したハンドルへの描画が止まる問題への対処【.Net】

別スレッドにおいてDxLibを動かして描画を行うプログラムで、exeから起動時に描画が停止する状況と、対応策をまとめます。 プロジェクト全体はGitHubに有ります。 github.com ※このサンプルは描画はUIスレッドから行うという原則に反しているので良くないで…

【HTML/CSS】axiosでAPIを叩く【JavaScript】

ソースコード axiosでGitHub APIを叩くサンプルです。自分(k163377)のリポジトリ情報を取得し、その名前を書き出します。 一瞬詰まった点としては、取得成功時に呼ばれる関数内でエラーを出した場合、処理はそこで中断されてエラー処理関数が呼び出される…

【Android】入力欄にヒントを出す【HTML/CSS】

テキスト入力欄に何を入力して欲しいかを表す灰色の文字列を表示している例は多々有りますが、どう調べればよいか分からず手をつけていませんでした。 Android Androidの場合はxmlにandroid:hint="someText"を書けば出せるようです(今環境が無いので後で試…

【VB】関数ポインタっぽいことをする【.Net】

cやc++の関数ポインタは、相手に処理を渡したいというときに非常に便利なので、別言語でもそれっぽいことがしたいです。 以前の記事ではJavaでFunctionを使ってこれを実現しました。 今回は.NetのFuncを使い、VBで同じようなことを実現します。 参考記事 @Ry…

【VB】フォームをコンポーネントのように扱う【.Net】

Windows Formアプリケーションで、複数の画面で同じように使う機能(外見的な部分というよりは内部ロジック)がある場合、機能をまとめたフォームをコンポーネントとして機能を使い回すと便利です。 この記事ではそのやり方をまとめます。サンプルプロジェク…

【Android】ListViewを使う【Kotlin】

自作クラスを使ったListViewの使い方をまとめます。この記事を書いた時点で用いているサンプルプロジェクトは以下。 github.com やること 表示するレイアウトを作る Adapterクラスを作る アクティビティへの配置とAdapterのセット ListViewをレイアウトに配…

【Android】GitHubの言語ごとの色に対応するXMLを作る【Kotlin】

GitHubでは以下のように言語ごとに色が割り振られています。これをAndroidで利用したかったので、XML形式に変換しました。 やりかた 以下に定義が有るので、これをローカルに持ってきて解析します。 https://raw.githubusercontent.com/hiroppy/github-langu…

【日記】モイ株式会社のFizz Buzz チャレンジをやった

Fizz Buzz チャレンジとは? モイ株式会社の新卒採用エントリー前の試験です。 saiyo2019.moi.st 結果 スコア上げは気力が続かなかったのでしてません。 ハイスコアは800超え。どうやったのかな……。

【Java】Intellij IDEAでWebSocketを導入する【Kotlin】

Intellij IDEAでWebSocketを使います。 やること やることは以下の通りです。 (Intellij IDEAでコンパイル・実行までできるようにする) Java EEを持ってきて配置する Application Serverを設定する 参考ページ ここから書く内容は以下のページと同様です。 j…

【Android】Retrofit2を使う【Kotlin】

KotlinでRetrofit2を使ってみました(2018/9/8全面的に書き直し)。 Retrofitとは プロジェクト やったこと Gradleに追記 Manifestに追記 受け取るためのデータクラス作成 Retrofitを使う 続き 参考URL Retrofitとは httpで公開されたAPI叩くライブラリです…

【Android】コードからアクションバーを変更する【Kotlin】

出てきた情報が古かったりしたのでまとめます。 やり方 変数で変更する方法と、supportActionBarを持ってきて変更する方法とが有ります。 ソースコード アクションバーのタイトルを「あああ」に、背景(色)をリソースのcolor内colorAccent変更します。 titl…

【Kotlin】APIを叩く【Java】

KotlinでAPIを叩いてJSONを取得します。 APIを叩くことを勉強しはじめたばかりなので分かってないことばかりですが、URLを叩くとJSONが帰ってくる状況を想定して作りました。 ソースコード GitHubAPIを叩いて、自分のアカウント(k163377)の全リポジトリの…

【日記】プロジェクトをクラスライブラリに分割する中で後悔したこと

二度と繰り返したくないので言語化します。 背景 ソースコードを流用して別プロジェクトを作ろうとする中で、複数のプロジェクトから同じコードを使いたいので、機能のクラスライブラリへの分割を行っています。 内容はVB.NetのWindowsフォームアプリケーシ…

【Kotlin】mXparserを使う【Java】

mXparserを使ってみました。 mXparserとは やったこと ソースコード 実行結果 導入方法 mXparserとは Stringで諸々を入力してやることで数式を計算できるライブラリです。Javaや.Net、AndroidやXamarinといった多くの環境で動きます。Javaで動くので当然Kotl…

【c/c++】Microsoft PPL/並列STL(C++17)/OpenMPを少しだけ比較【C++17】

Visual Studioのc++で利用できる並列化手法としては、Microsoft PPL、並列STL(C++17)、OpenMPなどが有ります。この内どれが速いのが知りたくなったので実行速度を比較しました。 手法ごとに使う機能が異なっている(後述)ため、比較としてはかなりよろしく…

【c/c++】AVX2を使った円周率を求めるプログラム――修正

結果の加算周りが非効率なためこの記事に載せたプログラムは遅いです。 この部分を修正した場合、AVX2無しで動かしたほうが高速です。 wrongwrong163377.hatenablog.com wrongwrong163377.hatenablog.com 上記記事で作ったモンテカルロ法で円周率を求めるプ…

【c/c++】AVX2を使ってみて少しだけ比較

結果の加算周りが非効率なためこの記事に載せたプログラムは遅いです。 この部分を修正した場合、AVX2無しで動かしたほうが高速です。 wrongwrong163377.hatenablog.com 記事中のAVX2命令を用いたプログラムはcmp命令を使っていないため低速な状態です。これ…

【c/c++】OpenMPの基礎的な使い方+並列処理で意識すべきこと【OpenMP】

OpenMPの基礎的な使い方を通して並列処理で意識すべきことを書きます。 ここではコンパイル方法や詳細な内容については触れませんが、OpenMPのより詳細な使い方については参考文献を参照してください。 記事の内容をざっくりとまとめると、並列化の上で知っ…

【Java】Functionを使ってみる

タイトル通り、Java 8で追加されたFunctionが便利だったので書きます。 Functionとは Function<T,R> は引数Tを受け取って戻り値Rを返す関数を変数っぽく扱えるものです。大体cの関数ポインタとか.Netのdelegateみたいなもんです。 例えば以下の例では、funcはint</t,r>…

【c/c++】Suffix ArrayとBWTに関するプログラムを作ってみた【c++17】

2018/6/25:concurrency::concurrent_vectorを使うべきだったがstd::vectorを使用しており、長い文字列の処理が不安定であったため、これを踏まえて全体に書き直し。 最近c++を触る機会ができたり、c++17の機能を使ってみたかったりしたので、課題にかこつけ…

【OpenCV】JetBrains RiderでNuGetを使いOpenCVの.Netラッパーを導入する【.Net】

OpenCVでちょっとしたプログラムを作りたいけれど、WindowsとUbuntuが混ざった別々の4つ位の環境で動かしたい状況で、全部に一々環境構築するのが面倒くさい感じになりました。 クロスプラットフォームで動く.Net/JetBrains Riderを使い、NuGetでOpenCVの.Ne…

【DxLib】DxLib由来のウィンドウを表示しない【.Net】

DxLibはWIndowsフォームアプリと組み合わせ、フォームやピクチャボックスに対して描画することが可能です。 一方、何もしなければDxLib由来の描画領域ができてしまい邪魔になるので、それを生成しないようにします。 この記事の内容は以下の質問掲示板におい…

【VB】タスクバーに進捗率を表示する【.Net】

Windows Vista以降ではタスクバーに以下の画像のような進捗を表示することができます。 ということでシンプルなサンプルを作成しました。 GitHubにプロジェクト全体を上げてあります。 github.com 準備 プロジェクト まずWindowsフォームアプリのプロジェク…

【VB】Progress<T>を使ってみた【.Net】

outside6.wp.xdomain.jp 上記記事をVB向けに写経したのでまとめます。 リポジトリ GitHubにプロジェクト全体を上げています。 github.com 準備 Windowsフォームアプリでプロジェクトを開始し、Form1へ以下のようにスタートボタン(Button1)とプログレスバー(P…

【c/c++】SFMTを使ってみた

SFMTを利用できるようにするまでをまとめます。(※現状上手く動いていません、備忘用メモ程度です……) ダウンロード 下記URLからダウンロードします。 SIMD-oriented Fast Mersenne Twister (SFMT) 配置 解凍して配置します。 SFMTはビルドしなければ利用で…

【プログラミング】CodeIQ用入出力類

CodeIQを色々な言語でやってると「入出力どうやったっけ」って場面が増えたり、出先でやる時作り直したりがダルかったりしたので、入出力類だけ自分用にまとめます。 CとC#は追加したいですが、とりあえずいったん飽きたのでこれまで。 gist.github.com

【Golang】runnerw.exe: CreateProcess failed with error 216 (no message available)への対処【Goland】

結論 packageの名前をmainに改名して下さい。 状況 Golandでrunnerw.exe: CreateProcess failed with error 216 (no message available)と出て下記のコードが実行できませんでした。 package IOTemplate_Go import "fmt" func main() { var str string fmt.S…