Pythonista(2) SQLite3
Pythonista固有のコードではないですが、pythonistaで作成したコードなのでpythonistaタグをつけています。
Pythonista(1) ボタン押下でテキスト更新
Gistにアップしてみた。
CentOS7 redmine, gitbucket, jenkins
CentOS6ではredmineのインストールがうまくいかなかったため、CentOS7にて以下をインストール。
- redmine3.2
- gitbucket*1
- jenkins
以下、参考にしたサイト。
Redmine 3.2をCentOS 7.1にインストールする手順 | Redmine.JP Blog
CentOS 7でGitBucketを動かしてJenkinsで自動デプロイ – BLACKND
GitBucketを導入してみた - katsu’s diary
注意点
gitbucketはjava8でないと正常に動作しない模様。
ログにエラーが出ていなかったため特に気にしていなかったが、java7では画面が表示されない。
*1:git本体のインストールについては割愛
C# GUIとワーカスレッド
戻り値書いてなかったり、関数の呼び出し順が逆になってる所などあるので後で直します。
修正版シーケンス図。
知識不足のため、UML的に不正確な箇所があると思います。
(並列処理の書き方、DoWork内の処理をLOOPに記載している、など)
※ 2016/05/22 追記
WorkerThreadパターンは、”戻り値を必要としない場合”のパターン。
戻り値が必要な場合はFutureパターンを参照。
C# ConcurrentCollections
ConcurrentCollectionsでスレッドセーフなデータ操作ができる。
ただし、RaceCondition(メソッド呼び出し間に、別スレッド・プロセスの操作により値が書き換わる現象)に注意する。
言語が違っても考え方は同じと思うので、メモしておく。
ConcurrentDictionary
一般的な用途ならこれで十分。
配列として使う場合はスレッドセーフと引き換えに性能が犠牲になる。
- TryGetValue
- TryAdd
- TryUpdate
- TryRemove
- GetOrAdd
- AddOrUpdate
Parallel.ForEach
ループを分割して処理を行う。
ブロック内の処理負荷が大きいほど効果がかる。
こういうものもあるんだなということで。
Maven pom.xml (1) 依存関係解決とビルド
依存関係
既存プロジェクトからMavenプロジェクトへの変換はぐぐれば出てくるので割愛。
依存関係解決とビルドの設定のみ。
依存ライブラリを含めて1つのjarにしたい場合は、maven-assembly-pluginを使用する。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jp.ne.jatena.matasaburou</groupId> <artifactId>DaoTraining</artifactId> <version>0.0.1-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <testSourceDirectory>test</testSourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.3</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>jp.ne.hatena.matasaburou.main.Main</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>2.0.42-beta</version> </dependency> <dependency> <groupId>dbunit</groupId> <artifactId>dbunit</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>commons-dbutils</groupId> <artifactId>commons-dbutils</artifactId> <version>1.6</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-all</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>1.3.5</version> </dependency> </dependencies> </project>