multiprocessingモジュールのterminate()による、プロセスの強制終了について

投稿者: Anonymous Pythonについて。 只今、『入門 Python3』を読みながら、 JupyterLabを使ってPythonを学んでいます。 OSはwindows10です。 『10.3.3 terminate()によるプロセスの強制終了』より。 以下のプログラムは、 1から100万まで数えるものです。 ただし、1ステップごとに1秒眠ります。 そして、5秒経つとterminate()により強制終了するというものです。 import multiprocessing import time import os def whoami(name) : print(“I’m %s, in process %s” % (name, os.getpid()) def loopy(name) : whoami(name) start = 1 stop = 1000000 for num in range(start, stop) : print(“tNumber %s of %s. Honk!” % (num, stop)) time.sleep(1)…(Continue Reading)

TypeError: ‘NoneType’ object has no attribute ‘__getitem__’ について

投稿者: Anonymous https://qiita.com/rrryutaro/items/10142d3c3397406e5e2b このサイトを参考にしてコードを打ったのですが、エラーが出てしまいました。どなたかわかる方がいたら教えてください。 Traceback (most recent call last): File “hoge.py”, line 10, in <module> img1_2 = img1[162:162+14, 467:467+32] TypeError: ‘NoneType’ object has no attribute ‘__getitem__’ 今度は別のエラーが出てしまいました。 /Users/xxxxx/Library/Python/2.7/lib/python/site-packages/numpy/core/fromnumeric.py:3118: RuntimeWarning: Mean of empty slice. out=out, **kwargs) /Users/xxxxx/Library/Python/2.7/lib/python/site-packages/numpy/core/_methods.py:85: RuntimeWarning: invalid value encountered in double_scalars ret = ret.dtype.type(ret / rcount) nan nan 解決 参考にした記事のひとつ前の記事に書いてありますが、そこで使っているPythonは 3.6.0 です。 (2017年12月) PythonとOpenCVをこれからやってみる…(Continue Reading)

pyqt5でwmv動画を再生させる時に、再生速度を変化させたい

投稿者: Anonymous pyqt5でwmvの動画ファイルを再生する際、再生速度を変化させたいです。次は試しに書いたコードです。 from PyQt5.QtCore import QDir, Qt, QUrl from PyQt5.QtMultimedia import QMediaContent, QMediaPlayer from PyQt5.QtMultimediaWidgets import QVideoWidget from PyQt5.QtWidgets import (QApplication, QFileDialog, QHBoxLayout, QLabel, QPushButton, QSizePolicy, QSlider, QStyle, QVBoxLayout, QWidget, QComboBox) class VideoPlayer(QWidget): def __init__(self, parent=None): super(VideoPlayer, self).__init__(parent) self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) videoWidget = QVideoWidget() openButton = QPushButton(“Open…”) openButton.clicked.connect(self.openFile) self.playButton = QPushButton() self.playButton.setEnabled(False) self.playButton.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay))…(Continue Reading)

正規表現の作り方

投稿者: Anonymous 以下の条件の正規表現を作成したいです。 1はじめと終わりはひらがな 2文字列中には空白1つまたは「ぁ」から「ん」。 3空白は0〜1つ続いていい 4文字列中に空白は任意の数現れてもよい 例 やまだたろう=>OK やまだ たろう=>OK やま だ たろう=>OK や ま だ た ろ う=>OK 山田たろう=>NG //漢字 山田 たろう=>NG //漢字、空白 ヤマダ たろう=>NG //カタカナ Yamada Tarou=>NG //英語 やまだ たろう=>NG //スペースではじまる やまだ たろう=>NG //スペース2つ 以上を踏まえて下記の正規表現を作成しましたが、空白が2連続以上でもマッチしてしまいます。どこを直せばいいのかご教授いただけないでしょうか。 作成した正規表現 ^[ぁ-ん][ぁ-ん]*|s?[ぁ-ん]+$ 解決 まずグループ化されない | は ^[ぁ-ん][ぁ-ん]* | s?[ぁ-ん]+$ と全体を分解しますからほとんど意図しないものになっています。「1. はじめと終わりはひらがな」なので ^[ぁ-ん] ( [ぁ-ん]* | s? )…(Continue Reading)

UIViewのサブクラス時にrequire init()が必要な場合の理由

投稿者: Anonymous XCodeでUIViewのサブクラスを作る際にrequire init()が必要な場合と必要ない場合はどのようなときでしょうか? import UIKit class MyUIView:UIView { required init(coder aDecoder: NSCoder!) { super.init(coder: aDecoder) } } 同じUIViewのサブクラスでもrequired init()がない場合もあります。 必要な場合と必要で無い場合を教えていただけないでしょうか? 解決 簡単な答えとしては、「サブクラスで convenience でない init を実装する場合は必要。実装しない場合は必要ではない」です。 正確には https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html を完全に理解する必要があるのですが、 Unlike subclasses in Objective-C, Swift subclasses do not inherit their superclass initializers by default. Swift では、スーパークラスのイニシャライザを継承しないときがあります。というかデフォルトでは継承しません。 ですが、上記ドキュメントのAutomatic Initializer Inheritanceの項 ルール1 サブクラスでDesignatedイニシャライザを定義しない場合はスーパークラスのすべてのDesignatedイニシャライザを継承します。 とあります。 UIView には 2…(Continue Reading)

Dockerで建てたMySQLサーバから取得した文字をブラウザで表示すると文字化けする。

投稿者: Anonymous Dockerとdocker-composeを使ってMySQLサーバを立てているのですが、データベースから取得したデータがブラウザで表示すると文字化けしてしまいます。 MySQLのcharsetの設定は以下のとおりです。 +————————–+—————————-+ | Variable_name | Value | +————————–+—————————-+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +————————–+—————————-+ character_set_databaseがutf8になっているのでこれで良いと考えています。また、コンテナ内でCLIでデータベースのデータを表示するとちゃんと日本語で表示されます。 ちなみに文字コードの設定はdocker-composeの起動オプションを mysqld…(Continue Reading)

ScriptEngineが読み込むスクリプトの中でJavaの標準APIクラスしか初期化できない

投稿者: Anonymous ScriptEngineクラスを用いて.jsファイルを実行し、 その.jsファイルの中で、自作のJavaクラスを初期化して使いたいと思っています。 ここで記述するJavaScriptファイルでは importPackage(java.lang); のような記述をすればそのパッケージ内のクラスを初期化できるようになりますが、 これはJavaの標準APIクラスだけのようです。 仮に自分で jp というパッケージを作って、 上記の書式でインポートしようとしてもエラーが発生します (ScriptEngine#eval(String)でその行を読みこむとScriptExceptionが発生する) 何か解決策・代替案等あれば教えてください。 以下がそのソースです。 Main.java package jp; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; public class Main { public static void main(String… args) { //スクリプトエンジンを生成し、スクリプトを読み込む ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine =…(Continue Reading)

C# 画像URLダウンロードでエラー

投稿者: Anonymous private async void download() { string[] lines = textBox2.Text.Split(new string[] { “n” }, StringSplitOptions.None); try { await DownloadImage(lines, @”C:UsersMiaDesktoptesttest”); } catch(Exception error){ Console.WriteLine(“e” + error.Message); } } static async Task DownloadImage(HttpClient httpClient, string uri, string path) { using (var res = await httpClient.GetAsync(uri, HttpCompletionOption.ResponseHeadersRead)) using (var fileStream = File.Create(path)) using (var httpStream =…(Continue Reading)

VirtualBoxのゲストがタイムアウトする(Error In supR3HardNtChildWaitFor)

投稿者: Anonymous VirtualBox関連の質問もされているようなので、こちらに失礼します。 環境:Windows 7 Professional 64bit バージョン:5.0.10r104061 ゲストOS:CentOS 7 VirtualBoxでゲストOS起動時、Creating process for virtual machine “ゲスト” (GUI/Qt) … (1/2)が表示されている最中に下記エラーが出ます。 タイトルバー:Error In supR3HardNtChildWaitFor 内容:Timed out after 600001 ms waiting for child request #1(CloseEvents). (rc=258) where: supR3HardNtChildWaitFor what: 5 Unknown Status 258(0x102) (258) – Unknown Status(0x102) そのエラーをOK(以前はAbortだったかと思います)した後に、 仮想マシン”ゲスト”のセッションを開けませんでした。 The virtual machine ‘ゲスト’ has terminated unexpectedly during startup…(Continue Reading)

“Obsoleting Packages”の意味は?

投稿者: user10259 yum check-updateでパッケージの更新をチェックしていたのですが下記が表示されました。 Obsoleting Packages(訳名称:パッケージを不要にしています) 上記の意味合いについて教えてほしいです。 ・インストールされているパッケージがどこにも使用されていない ・インストールされているパッケージがアップデート(インストール)リストにない ・このパッケージを使用するべきではない警告 また、この表示にあるパッケージはアップデートがあり、 アップデートが可能ということなのでしょうか? 直訳すると「時代遅れなパッケージ」ということですが、 翻訳されている名称を見て余計に混乱しています。 もし不要、もしくは使うべきでないのであれば削除するべきでしょうか? 既に運用しているサーバーなので出来るだけアップデート以外したくないのですが、 そのまま放置、またはアップデートしても問題ないのでしょうか? 以上、よろしくお願いいたします。 解決 (1) 廃止されるパッケージのことで他のパッケージが代わりになります。 例えば foo パッケージが bar に変更された場合、foo の更新パッケージは bar になり foo は廃止されるパッケージになります。 (2) この他に、依存パッケージが変更になった場合も Obsoltes Package に表示されます。 たとえば、foo パッケージが依存している hoge が 新バージョンでは不要になった場合、foo の Obsoletes に hoge が表示されます。 どちらの場合も yum upgrade を実行すると廃止されるパッケージは削除されます。 回答者: Anonymous

C言語のポインタ変数を含む構造体初期化について

投稿者: Anonymous 掲題の質問です。まだ仕様を完全に理解したわけではないので違う場合はお手数ですが指摘願います。 構造体を初期化するときの仕様として、 struct S v={0};はメンバ全部初期化されることが保証されてます。 また、NULLは0以外でもよくて100でもいい。 ただし他の関数や変数とぶつかってはならない。 ただし、数値型に変換するときは0でなければならない。 そのとき、初期化した構造体に含まれるポインタ変数の値とNULLを比較したときにどのようなコンパイラでコンパイルしたとしても、一致しますか? また、他のメンバ変数はその場合、ゼロクリアされていることが保証されますか? struct S { int val; void *ptr; int val2; } int main(int argc,char *argv[]){ struct S v={0}; printf(“%dn%dn”,v.val,v.val2); if( v.ptr == NULL) { // NULLのときの処理 } } よろしくお願いします。 解決 c 言語規格書 JIS X 3010:2003 6.7.8 初期化 によると Yes この章、長い上に項目分割番号が振っていないので解説しづらいのですが 静的記憶域期間をもつオブジェクトを明示的に初期化しない場合は a) ポインタ型の場合、空ポインタに初期化する b)…(Continue Reading)

バッチファイルで%~dp0の末尾のディレクトリセパレータを取り除く方法

投稿者: Anonymous バッチファイル内で%~dp0とすると実行中のバッチファイルのディレクトリパスを取得できますが、末尾にが付いてきてしまい、これが不便なことがあります。 下記のように末尾のセパレータなしで実行中のバッチファイルのパスを取得できないでしょうか。 X C:homelocal O C:homelocal 解決 SET DIR=%~dp0 ECHO %DIR:~0,-1% 一旦、環境変数に格納するとその値を編集することができます。 %DIR:~0,-1%で%DIR%の末尾の位置文字を削った文字列を得ることができます。 回答者: Anonymous

jQuery / JavaScriptが無効の環境でも表示を保証するには

投稿者: Anonymous 実際に動かしたい内容としてはjQuery / JavaScriptで、ロード画面を表示させたいとほぼ同じで、以下のことを行いたいのですが、 HTML読み込み完了後まで要素を非表示 完了後にアニメーションとともに要素を表示する 要素にclassでdisplay: none;を付けた状態にしておき、読み込み完了後にjQueryのtoggleClassで外して表示するという方法で目的を達成することができます。 ですが、この場合の問題点としてJavaScriptが無効の時に読み込みが完了しても要素が表示されないという点が上げられます。 なるべくCSSでのアニメーションに依存(しなくてもOK)しながらJavaScriptが使用できない環境でも表示を保証するにはどうしたら良いのでしょうか。 追記: <noscript>を使って以下の様なコードで表示は保証されますが、この場合記述量が2倍近くに膨れ上がり、またSEO的にも悪いのでこのような方法を避けたいです。 <div id=”wrapper” class=”is-hidden”> <h1>TEST</h1> <p>messege</p> </div> <noscript> <div id=”wrapper”> <h1>TEST</h1> <p>messege</p> </div> </noscript> 実際に動かしたいアニメーションの例: _x000D_ _x000D_ $(window).load(function() {_x000D_ $(“#wrapper”).toggleClass(“is-hidden animated fadeInDown”);_x000D_ }); _x000D_ .is-hidden {_x000D_ display: none;_x000D_ }_x000D_ _x000D_ /* Animate.css */_x000D_ .animated {_x000D_ -webkit-animation-duration: 1s;_x000D_ animation-duration: 1s;_x000D_ -webkit-animation-fill-mode: both;_x000D_ animation-fill-mode: both;_x000D_…(Continue Reading)

CakePHP4? Cookbookの「Articles の検証ルールの更新」で “Declaration of ~ must be compatible with ~”エラー

投稿者: Anonymous いまCakePHP4? CookbookのCMSチュートリアルを試しています。 CakeはPHPバージョン7.3.xのサーバーでホストしています。 CakePHP4 Cookbook 「Articles の検証ルールの更新」の箇所で指示通り use CakeValidationValidator; の読み込みと、 public function validationDefault(Validator $validator) { $validator ->allowEmptyString(‘title’, false) ->minLength(‘title’, 10) ->maxLength(‘title’, 255) ->allowEmptyString(‘body’, false) ->minLength(‘body’, 10); return $validator; } のメソッド追加をして <?php namespace AppModelTable; use CakeORMTable; //Textクラス use CakeUtilityText; use CakeValidationValidator; class ArticlesTable extends Table { public function initialize(array $config) : void { $this->addBehavior(‘Timestamp’); }…(Continue Reading)

try〜catchのcatch内でエラーの内容に応じて処理を分けたい場合

投稿者: Anonymous タイトルの通りなのですが、 独自で作成したメソッドではなく元からあるメソッド(ex. contentsOfFile)を使った場合にエラーの内容で条件を分岐できる方法を探しています。 以下が今のコードなのですが、この状態ではどんなエラーが発生した場合にもファイルを保持していない場合の処理に流れてしまいます。 var temp = “” var documentDir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).last documentDir = documentDir?.stringByAppendingPathComponent(“data”) documentDir = documentDir?.stringByAppendingPathComponent(“table”) if let uwDocumentDir = documentDir { do { temp = try String(contentsOfFile: uwDocumentDir.stringByAppendingPathComponent(“hoge.txt”), encoding: NSUTF8StringEncoding) } catch let error as NSError { print(“【エラーが発生しました : (error)】”) } if temp.isEmpty { // ファイルを保持していない場合の処理 } enumでどこかに記述してあるものなのでしょうか?…(Continue Reading)

docker-compose up で tty: trueを付けているのに、commandを実行するとコンテナが終わってしまう

投稿者: Anonymous いつもお世話になっております。 dockerを使ってローカル環境の作成をしております。 下記のような docker-compose.yml を作成しており、command オプションにて起動時にシェルを実行したいと思っております。 docker-compose.yml version: ‘3’ services: php: build: ./Dockerfiles/php container_name: “laravel_php” volumes: – ./src:/var/www/html working_dir: /var/www/html command: [“php”, “entrypoint.sh”] tty: true stdin_open: true ただ、この状態で実行をすると、下記のようにコンテナが終了してしまいます。 $ docker-compose up Recreating laravel_php … done Attaching to laravel_php laravel_php | 2019/01/20 07:41:14 entrypoint.sh [INFO] Connection confriming… laravel_php exited with code 0 $ docker…(Continue Reading)

Rack app error: ActionController::UnknownHttpMethodをrescueする方法

投稿者: Anonymous Rack app error: ActionController::UnknownHttpMethodをrescueするにはどうすればいいのでしょうか? 指定されたHTTP method以外でアクセスするとこのエラーが出ます。その際に各種のバージョンなどがクライアント側に出力されるのでこれをrescueして、単純なエラーメッセージだけに変更したいと考えています。 midlewareから出されているエラーのようで app/controllers/application_controller.rb に rescue_from ActionController::UnknownHttpMethod, with: :unknown_method としても反応しません。 どうすればいいのでしょうか? エラーログ 2016-01-06 22:22:28 +0800: Rack app error: #<ActionController::UnknownHttpMethod: AAA, accepted HTTP methods are OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL,…(Continue Reading)

誤差を含む浮動小数点数を比較することについて

投稿者: Anonymous double one() { volatile double result = 0.0; for (int i=0; i<10; ++i) { result += 0.1; } return result; } int main(void) { double a = one(); assert(a==1.0); return 0; } これが通らない(可能性がある)というのは有名な話ですが、 int main(void) { double a = one(); double b = a; double c = one(); assert(a==a); // 1.同じ変数同士の比較 assert(a==b); //…(Continue Reading)

Java8で「AES/CBC/PKCS5Padding」は使用可能でしょうか

投稿者: Anonymous Java8(Oracle)で使用可能な暗号化アルゴリズムについて Set<String> algorithms = Security.getAlgorithms(“Cipher”); で一覧が取得可能であると思っているのですが、 AES/CBC/PKCS5Padding が一覧にありません。 ですが、 Cipher cipher = Cipher.getInstance(“AES/CBC/PKCS5Padding”); と指定しても暗号化/復号化できているようです。 実は一覧に表示されないだけで、AES/CBC/PKCS5Paddingを使用しても問題はないのでしょうか。 もしかしたらデフォルトのAESが使用されECBで動作しているのでは、と少し不安です。 見づらくて恐縮ですが、以下にテストで使用したコードを添付します。 //鍵長は128ビット。これより長い鍵を使用する場合、ポリシーファイルの書き換えが必要 String key = “Pfz9B2PZqKttkwta”; //暗号化ルーチンに異なる初期値を与えるためだけのもの:16バイト固定 String iv = “hhk0zZToc6MGt76h”; // private String ALGORITHM = “AES/CBC/NOPADDING”; private String ALGORITHM = “AES/CBC/PKCS5Padding”; private String CIPER = “AES”; private enum MODE { ENCRYPT, DECRYPT } public TestAes() {}…(Continue Reading)

C#から自作のC++DLLのクラスを呼び出す方法

投稿者: Anonymous UnityC#にて重たい処理をDLLにやってもらおうと思い、 ViusalStudioを用いてC++のDLLをこちらを参考に作成しました。 メソッドを呼び出すことはできたので、 今度はクラス経由で呼び出してみようと思い C++側のクラスの定義をMSDNのここを参考にクラスを作成したのですが C#側からどのように呼び出せばいいのかがわかりません。 C#側 using UnityEngine; using System.Collections; // Must Need DLL Import using System.Runtime.InteropServices; public class CallDlls : MonoBehaviour { // From c++ Dll (unmanaged) [DllImport(“MathFuncsDll”)] public static extern float TestMultiply(float a, float b); // From c++ Dll (unmanaged) [DllImport(“MathFuncsDll”)] public static extern float TestDivide(float a, float b); public…(Continue Reading)

Python: TerminalでTabのインデントができない

投稿者: Anonymous Teminalでpythonのインタプリターを立ち上げてTabでインデントをしようとすると、 Tabが補完されずに、以下のようになります。 bashの設定かと思うのですが、 bash_profileの設定は、 export PYENV_ROOT=”${HOME}/.pyenv” export PATH=${PYENV_ROOT}/bin:$PATH eval “$(pyenv init -)” としています。 Tabでインデント補完できるように戻したいのですが、 どのように設定すればいいでしょうか。 ご教授、宜しくお願いいたします。 解決 それはbashの問題ではなく、Python3のインタラクティブシェルの機能です。Python2のシェルにtabを押してみたら、ちゃんとインデントしました。 でも、インデントする時、tabの代わりに、スペースを使うべきです。(PEP8 Tabs or spacesにご参考) そして、インタラクティブシェルに複雑のコードの書くのは、いろいろ不便ですので、IPythonというツールを勧めます。 回答者: Anonymous

JBoss EAP 6 GA のドメインモードでモニタリングをリモートから行いたいがクライアントで接続エラーとなる

投稿者: Anonymous 現象 WindowsクライアントからJBoss EAPで稼働しているJVMをJConsoleから監視したいが、service:jmx:remoting-jmx://サーバーIP:4447へ接続できませんでした となる。 サーバー上でポートを確認 netstat -ano | grep 4447 し、ポートが開いていることを確認している。firewallは開発環境であるため無効にしている。 手順 RedHat Customer Portal – ドメインモードで JConsole から JBoss に接続する の手順に従い、JBossの設定を変更した。 JBossはリモートのサーバー上(linux 64bit)で動作しており、クライアントはWindows 10 64bit。 クライアントのJDK(1.8)に含まれるjconsole.exeを実行し、 ログインは service:jmx:remoting-jmx://サーバーIP:4447 を指定し、ユーザーID/パスワードを指定した。 解決 JConsoleがJMXへ接続する方法がベンダ固有のものとなるため、JConsoleに対してライブラリを指定しなくてはなりません。 batファイル等でJBossのライブラリを指定することで接続可能になる。 set JBOSS_HOME=jbossのインストールディレクトリ set JAVA_HOME=JREへのパス set CLASSPATH=%JAVA_HOME%libjconsole.jar set CLASSPATH=%CLASSPATH%;%JAVA_HOME%libtools.jar set CLASSPATH=%CLASSPATH%;%JBOSS_HOME%binclientjboss-cli-client.jar %JAVA_HOME%binjconsole -J-Djava.class.path=%CLASSPATH% 参考資料: Remote JMX access to WildFly using JConsole 回答者:…(Continue Reading)