「開発」カテゴリーアーカイブ

Oracle DYNにドメイン名を停止された話

先月2019/6/25に、自作iOSアプリ(側ネイティブアプリなど)およびそのサポートサイトである本サイトに長年利用していたドメイン名がブロックされました。DynDNSの時代から使っていたため、かれこれ15年以上利用していました。

事前警告など全くありません。なんの前触れもなくいきなり止められました。

停止した理由をOracle Dynに問い合わせましたが、しばらく返事がありませんでした。

10日後に、やっと返事がありました。返事は後にも先にもこれだけです。

Hello,

Thank you for contacting the Oracle Dyn Abuse team,

We have received multiple complaints against the hostname in your account, “ukaapple.selfip.com”. As your account has been identified as violating our AUP, it has been terminated. At this time your account will not be reinstated. Your account has also been refunded for current eligible services. For more information about our AUP please visit http://dyn.com/legal/acceptable-use-policy/

Oracle Dyn Abuse Team
abuse@dyn.com

複数件の苦情が入ったらしいです。

しかし、どんな苦情があって、どんな基準に違反したのか全くわからず、対処のしようがありません。

リンク先のAUPの規約を読むとわかるのですが、明確な基準はありません。Oracleの恣意的な判断で自由に決められるもので、あって無いような規約です。

どのような違反があったのか教えてくれと再度問い合わせましたが、それから今日まで返事がありません。もうすぐ1ヶ月経ちます。

Oracleの内部的な実情はわからず推測ですが、おそらく個人相手の商売は金にならないから軽視しているのでしょう。

問い合わせの返事が来るまでの期間や返事の内容を見ていると、サポートの体を成していません。

ドメイン名の回復が見込めなくなったため、新しいドメイン名を取得してアプリなどを改修することになりました。

かなりの改修コストがかかります。この改修コストをかけるなら、1本でも新しいアプリを開発したいところです。

Oracleのやっていることはほとんど犯罪だと思うのですが、どう対処すれば良いですかね?

個人で裁判するのはいろんな面で難しいし、消費者センターに駆け込む訳にも行かないし・・・

個人で出来ることは、なるべくOracleの息がかかったサービスは使わないくらいですかね・・・

.NET CoreでSystem.Drawingを使う Ubuntu編

Ubuntuにおいて、.NET CoreでSystem.Drawing配下のライブラリを扱う方法を記述します。
OpenTKにおいて、テクスチャなどを扱う際に必要です。

UbuntuでSystem.Drawing配下のライブラリ利用時に、以下のようなエラーが発生した場合の対処方法となります。

例外が発生しました: CLR/System.TypeInitializationException
An unhandled exception of type ‘System.TypeInitializationException’ occurred in System.Drawing.Common.dll: ‘The type initializer for ‘Gdip’ threw an exception.’
Inner exceptions found, see $exception in variables window for more details.
Innermost exception System.DllNotFoundException : Unable to load DLL ‘libgdiplus’: The specified module could not be found.


$ sudo apt-get update
$ sudo apt-get install libgdiplus

これだけ!
macに比べるととっても簡単です。

.NET CoreでSystem.Drawingを使う mac編

OS Xにおいて、.NET CoreでSystem.Drawing配下のライブラリを扱う方法を記述します。
OpenTKにおいて、テクスチャなどを扱う際に必要だったので・・・

まずは、X11をインストールします。ここからdmgをダウンロードしてインストールします。

インストール後はシンボリックリンクを貼っておきます。


ln -s /opt/X11/include/X11 /usr/local/include/X11

VSCodeを立ち上げ、Shift(⇧)+Command(⌘)+Pを押して “nuget” と打ちます。リストから「NuGet Package Manager: Add Package」を選択します。※NuGetインストール済みを想定

続いて “System.Drawing.Common” と打ってリターンキーを押下し、「System.Drawing.Common」を選択します。すると、インストール可能なバージョンリストが表示されるので選びます。特に理由がなければいちばん新しいバージョンを選びます。

次に、ターミナルからlibgdiplusをインストールします。事前に色々な依存ライブラリを入れてから、ソースを持ってきてメイク&インストールです。エラーやワーニングが出るかもしれません。柔軟に対応する必要があります。


$ brew install autoconf 
$ brew install pkg-config 
$ brew install readline 
$ brew install automake 
$ brew install gettext 
$ brew install glib 
$ brew install intltool 
$ brew install libtool 
$ brew install cairo
$ brew install jpeg
$ brew install libtiff
$ git clone https://github.com/mono/libgdiplus.git
$ cd libgdiplus
$ CPPFLAGS="-I/usr/local/opt/libpng12/include -I/opt/X11/include" LDFLAGS="-L/usr/local/opt/libpng12/lib -L/usr/X11/lib" ./autogen.sh
$ ./configure
$ make && make install

Linux/Windows/Mac共通で、C#によりOpenGL開発が出来る環境を構築

昨日はUbuntu 18.04 LTSに.NET Core SDKをインストールしました。

本日は、この環境へVisual Studio Code と OpenTK.NETCoreをインストールしていきます。

目的は、Linux/Windows/Mac共通で、C#によりOpenGL開発が出来る環境を構築することです。

Ubuntuで構築していますが、今回構築した環境で書いたC#コードはWindowsやMacでも動くはずです。たぶん。動くはずだ。動くといいなあぁ。動かないかなぁ(希望)

1.https://code.visualstudio.com/downloadからVisual Studio Codeをダウンロードします。Linux(.deb)を選びます。

2.端末から以下を実行してVisual Studio Codeをインストールします。


sudo dpkg -i <ダウンロードしたファイル>.deb
sudo apt-get install -f # Install dependencies

3.端末から以下を実行してVisual Studio Code を立ち上げます。


code .

4.C#のプラグインをインストール

左側に並んでいる5個のアイコンのうち、一番下の「拡張機能」をクリックします。(Ctrl+Shift+Xでも可)
“C#”と打ち、表示された「C# for Visual Studio Code (powered by OmniSharp) Microsoft」をインストールします。

5.nugetをインストール

同じく「拡張機能」で “nuget” と打ちます。表示された「NuGet Package Manager」をインストールします

6.OpenTK.NETCoreをインストール

Ctrl+Shift+Pを押して “nuget” と打ちます。リストから「NuGet Package Manager: Add Package」を選択します。
続いて “OpenTK” と打ってリターンキーを押下します。表示されたリストから「OpenTK.NETCore」を選択します。すると、インストール可能なバージョンリストが表示されるので選びます。特に理由がなければいちばん新しいバージョンを選びます。

7.さあ!C#でOpenGL開発が可能な環境が出来ました!作ったコードはWindowsでもMacでも動くよ!

        *'“・* 。 
        |     `*。 
       ,。∩      *  
      + (´・ω・`) *。+゚ 
      `*。 ヽ、  つ *゚* 
       `・+。*・' ゚⊃ +゚ 
       ☆   ∪~ 。*゚ 
        `・+。*・ ゚ 

たぶんね!次回以降は実際にOpenGLのコードを書いて、そのコードがWindows/Macでも動くか検証していきます。

Ubuntu 18.04 LTS への.NET Core SDKインストール方法

Ubuntu 18.04 LTSが出たばかりで.NET Core SDKのインストール方法が公式に載ってなかったので、メモっときます。


sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF

sudo apt-key adv --keyserver packages.microsoft.com --recv-keys 52E16F86FEE04B979B07E28DB02C46DF417A0893

sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list'

sudo apt-get update

sudo apt-get install dotnet-sdk-2.1.105 

以下、動作確認用です。プロジェクト用のディレクトリを作成して、その中で実行します。”Hello World!”と表示されれば成功です。


dotnet new console

dotnet run

((⊂(`ω´∩) しゅっしゅっ

2018/5/19追記:

公式のインストール手順出ました。

Register Microsoft key and feed


$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
$ sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
$ wget -q https://packages.microsoft.com/config/ubuntu/18.04/prod.list 
$ sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

Install .NET SDK


$ sudo apt-get install apt-transport-https
$ sudo apt-get update
$ sudo apt-get install dotnet-sdk-2.1.200

macでのmp4動画の画面サイズ変更

開発者向け開発メモです。

AppPreviewの5.5インチiPhoneの動画をffmpegで4.7インチの動画から作る方法です。
普通にsオプション使うと画面サイズが思い通りにならず、1079×1920になってしまいます。

以下のようにすると、きちんと1080×1920になります。

ffmpeg -i catama4.7.mp4 -vf scale=1080×1920,setsar=1 catama5.5.mp4

最速でAppStore用の動画を作成する方法

前提

・ffmpegインストール済み
・実機あり(iPhone/iPad)
・macOS Sierra バージョン10.12.6

手順1

iPhone/iPadをmacに接続し、QuickTime Playerを立ち上げ、「ファイル」「新規ムービー収録」を選択。録画ボタンの右のメニューからカメラやマイクをiPhone/iPadに切り替える。

手順2

録画ボタンを押し、作成したアプリを動作させて動画を保存する。
(30秒以内。30秒を超えると、30秒以下になるよう動画を編集する必要あり)

手順3

fpsを30に落とすため、ターミナルで以下を実行する。fpsを落とした動画を、iTunesConnectでアップロードすれば終わり。

ffmpeg -i src.mov -crf 20 -r 30 dest.mov

-iオプションで、手順3で作成した動画を指定します。
-crfオプションで画質を指定します。
-rオプションでfpsを指定します。

5.5インチ向けにサイズ変更する場合

ffmpeg -i src.mov -crf 20 -r 30 -s 1080×1920 dest.mov

4.7インチ向けにサイズ変更する場合

ffmpeg -i src.mov -crf 20 -r 30 -s 750×1334 dest.mov

4インチ向けにサイズ変更する場合

ffmpeg -i src.mov -crf 20 -r 30 -s 640×1136 dest.mov