fc2ブログ
 
  ★新作アプリへのリンク→   SQLコマンドリファレンス
プロフィール

ひく16

Author:ひく16
1.SQLとDBの勉強
2.自然観察
3.プログラミング
4.ぼやき

最近のトラックバック
ブログ内検索
ブロとも申請フォーム
QRコード
QRコード

12月11日(水)

岩殿山 20191209


天気予報
今回も外れる。
どの天気予報でも午前中は晴れ。
安心して出発したものの・・・明らかに曇り。
全然晴れじゃあない!


通行禁止
大月駅に着くと、岩殿山への2コースが通行止めであることが判明。
台風の影響らしい。
今回予定していたコースも通行止め。
結局、通行可能なマイナーな(北)畑倉登山口から登り、
岩殿山山頂からは西側の(西)浅利登山口へ下るコースにする。
うーん、なにもかも計画通りにいかない。
まったくもー。


岩殿山の地図
大月駅前にある観光案内所で
「ヤマノススメ岩殿山聖地巡礼マップVer.001」を頂いた。
これはもしかすると、本来はアニメ化された「ヤマノススメ」のファン聖地巡礼用のもののようだ。
しかし岩殿山歩き用のマップとして優秀で、今回重宝したおススメもの。

駅前そば屋で食事をして出発。
途中の自販機で飲み物を買う。
くぇさんは「超生命体飲料ライフガード」なるド派手はデザインのペットボトルを購入。
私はペットボトル「甲斐の桑茶」を購入。
桑茶、気に入った。
当然地味な味わいだが、ウーロン茶ともお茶とも違う独特の味わいだが、
飲みにくさはなくスッキリとして瑞々しくナチュラルな感じ。
これはまた買いたい。
2リットルのペットボトルないかな。


畑倉登山口
岩殿山の正面玄関的な(南)丸山公園入口は通行止めなので、ぐるりと反対側の(北)畑倉登山口まで歩く。
登山口すぐの所に「大月桃太郎伝説めぐり」の1つとなる「鬼の岩屋」なるスポットがある。
なるほど、いかにもそんな風に呼ばれそうな洞窟だ。
ここから距離はさほどではないが、急登になる。
一気に汗が出る。
今回は、例によってコースをなめていたため、厚手の寝巻用のジャージ(下)をはいてきたのだが、
通気性がまったくなく、内側には合成ファーがばっちりついている。
したがって、ズボン部分がものすごく暑い。


岩殿山山頂
けっこうキツく感じつつも予定通り山頂の本丸跡に着く。
ここは烽火台(のろしだい)とも呼ばれている。
かつては山城があった場所で、城自体はないものの当時をしのばせる地形になっている。
岩殿山からの展望、本来は富士山の眺めを満喫したかったのだが、まったくの曇りで見えない。
残念。


鎖場 x 2
ここから(西)浅利登山口へ向かう。
いたって静か。
見頃はすぎた感があるものの紅葉もそこそこ。
歩いていて初冬の冬というか晩秋を楽しめる。
途中、鎖場が2か所ある。
2つ目となる兜岩は現在通行禁止で迂回ルートを使わざる得ない。
しかし小型ながら鎖場ムードが楽しめる。

稚児落とし
コースも終盤。
最後の見せ場の稚児落とし。
なんとも昔らしい今ならNGな名前だ。
名前はともかく、巨大な屏風岩からの急斜面は迫力あり。
展望も広く、広々した眺望を楽しめる。
晴天の紅葉の見ごろの頃にまた是非来よう。


下山~大月駅
ほどなく下山。
くえさんが行ってた通り
桃太郎伝説と山城、
鎖場や屏風岩あり、更に静かな紅葉歩きも楽しめて、
予想以上に楽しめた。

そういえば平日だったこともあり、山では誰にも会わなかった。
これは珍しい。
がんばれ岩殿山。


下山後、
まずくぇさんが例によって気になった駅前の月cafeという喫茶店に入る。
八王子まで戻って有名なかつ屋鈴本へ行く。
たしかヒレカツで2300円ほど。
まあ、おいしいんだが、ちょっとさっぱりしすぎかな。
お目当ての人気メニューのカツカレーは昼間だけの限定メニューだったし。
また行ってみよう。
食事後、結局、龍泉寺温泉まで行く。
ちょっと面倒だったが、久しぶりの温泉もなかなかいい。

おつかれさまでした。









スポンサーサイト



 
07月25日(木)

SQLのお勉強~SQLite3(4) 拡張関数を使ってみる

SQLのお勉強~SQLite3(4) 拡張関数で算術機能を大幅アップ

SQLite3 (4)
S拡張関数で算術機能を大幅アップ


【拡張関数とは】
SQLiteは、四則計算など基本的な計算はできますが、三角関数や平方根などはできません。
ですが、拡張関数を組込みことで、様々な算術を扱えるようになります。


【注意点】
・拡張関数を組み込むには、MinGWのインストールなど手間が掛かります(下記参照)。
・公式サイトから、以下の趣旨の注意が書かれています。
 「これらのファイル標準のSQLiteパッケージではなく、ファイル内容は未検証です。自己責任で使用してください。」
 The files below are contributed by users and are not part of the standard SQLite package.
 The content of these files has not been verified. Use at your own risk.
  参考元


【手順】
以下、Windows10HOMEで検証しています。


https://www.sqlite.org/download.html
より
sqlite-amalgamation-3290000.zip
をダウンロードし、解凍します。


https://www.sqlite.org/contrib
より
extension-functions.c
をダウンロードします。


http://sourceforge.jp/projects/mingw/
より
mingw-get-setup.exe
をダウンロードします。

MinGW(Minimalist GNU for Windows)とは、GCC などの開発環境をWindowsで利用できるようにしてくれるアプリです。

次に
 1) ダブルクリックでインストールマネージャーをインストールします。

 2) MinGWInstallation Manager が立ち上がりますので、
今回は、
左ペイン「Basic Setup」をクリックし,
  ming32-base-bin
  と
  mingw32-gcc-g++-bin
  をクリックし、メニューが表示されたら、Mark for Installation を選択します。
  sqlite3_17_01.png


3) メインメニューInstallationから、Apply Changes を選択します。
sqlite3_18_01.png


4) インストールが完了したら、×ボタンで終了します。

5) Pathを設定します。
sqlite3_15_02.png

↓Pathの設定の詳細は下記のリンクを参照してください。
④Pathの設定


Pathを設定後、新たにコマンドプロンプトを立ち上げ、
>gcc -v と打って、リターンすると、
エラーではなく、下図のように出力されます。

sqlite3_20_01.png



 1) ②でダウンロードした extension-functions.c をコピーします。

 2) ①で解凍したフォルダ「sqlite-amalgamation-3290000」の中に移動し、
   コピーしたextension-functions.cを貼り付けます。


 コマンドプロンプトを起動し、④のフォルダ内に移動し、コンパイルを実行します。
コマンドは以下になります。
> gcc -shared -o libsqlitefunctions.dll extension-functions.c -lm



  libsqlitefunctions.dllのあるフォルダでsqlite3を実行します。
  まず
  select load_extension("./libsqlitefunctions");
  を実行します。
  これで拡張関数が使えます。

sqlite3_21_01.png
最初のselect squareは失敗し、
select load_extension後の select square は正常に動作します。


例)
$ sqlite3
sqlite> select load_extension("./libsqlitefunctions");
sqlite> select sqrt(25);
5.0


拡張関数は以下になります。
acos, asin, atan, atn2, atan2, acosh, asinh, atanh, difference, degrees, radians, cos, sin, tan, cot, cosh, sinh, tanh, coth, exp, log, log10, power, sign, sqrt, square, ceil, floor, pi. String: replicate, charindex, leftstr, rightstr, ltrim, rtrim, trim, replace, reverse, proper, padl, padr, padc, strfilter. Aggregate: stdev, variance, mode, median, lower_quartile, upper_quartile.


(参考)
↓アンドロイドアプリ「SQLコマンドリファレンス」です。
SQLコマンドリファレンス

 
07月23日(火)

SWIFTトラブル対応 001 ワーニングが消えない001

SWIFTを始めました。
難しくて、めげそうです。

メモを兼ねて、トラブル対応を書いていきます。
===========================
トラブル内容

ワーニング
prototype table cells must have reuse identifiers
が消えない
===========================

ググると、
TableViewCellなどの
Attributes inspector の
identifier を設定すればいい、
と出ています。

こんなかんじでしょうか。
xcode001.png


でも、まだワーニングは消えません。
再度調べ直して、いろいろ試した結果、

メインメニューから
Product / Clean
を実行すると、やっとワーニングが消えました。
解決。

それでも消えない場合は、
Table View の Prototype Cells に0を設定すると、
ワーニングが消えることがあるらしいです。
それでもワーニングが消えない場合もあるそうです。

-------------------
ワーニング
prototype table cells must have reuse identifiers
が消えない場合、

1) Table View Cell の Identifer を設定する
2) 1)でもワーニングが出続けるなら、
  メインメニュー
  Product / Clean を実行

3) それでも出るなら、Table View の Prototype Cells に0を設定。
 それから、メインメニュー/ Product / Clean

以上
 
07月21日(日)

SQLのお勉強~SQLite3(3) SQL結果が、すごく見やすくなる

SQLのお勉強~SQLite3(3) 一手間でSQL結果が、すごく見やすくなる

SQLite3 (3)
SQL結果を見やすくする


①コマンドプロンプトのSQL結果

SQLite3は、よくコマンドプロンプトを使って、SQLを実行します。
ですが、SQLの実行結果が、かなり見づらいです。

そこで簡単に改善できる方法です。

コマンドプロンプトを立ち上げ、
SQLite3 データーベース名
で、DBにアクセスしたら、
すぐに
> .mode column  で、リターン
> .header on    で、リターン
と連続して打ってください。

これだけで、以下のように表示がかなり改善されます。
(デフォルト表示が見づらすぎるとも言えます)

↓クリックした方が見やすいです(すいません)
sqlite3_14.png

コマンドプロンプト派の方にはお勧めです。


②DB Browser for SQLiteの活用
頻繁にSQLite3を使い方は、DB Browser for SQLite を活用するのもいいかと思います。
↓ダウンロード
DB Browser for SQLite ダウンロード

ダウンロードしましたら、インストールします。
ここは特に問題なくインストールできると思います。
インストールすると、下のようなアイコンができます。

sqlite3_15.png

ダブルクリックして、立ち上げます。

sqlite3_16.png

上段のタブで左から二番目の「Open Database」を押しますと、
ファイル選択用のダイアログを表示されます。
ここでSQLite3のデータファイルを指定します。


SQLite3のデータが読み込まれますと、
下段のダブの左から一番目のDatabase Structure で各テーブルの定義が一覧されます。

sqlite3_17.png



下段のダブの左から二番目のBrowse Dataを選択し、
次にプルダウンメニュー 「Table」 から、参照したいテーブルを選択します。

sqlite3_18.png


DB Browser for SQLiteには、便利な機能が多くあるとのことなので、
リクエストがあれば、調査して取り上げます。


ではまた。
失礼します。


(参考)
↓アンドロイドアプリ「SQLコマンドリファレンス」です。
SQLコマンドリファレンス


 
07月18日(木)

SQLのお勉強~SQLite3(2) SQLiteの型はすごく変

SQLite3 (2)
SQLite3の型はすごく変


①テーブルのカラムに型を指定しなくてよい

OracleやMySQLなど他のDBと違って、
SQLite3は、テーブルのカラムに型指定しなくても大丈夫です。
さらに同じカラムに色々な型で格納できます。

↓カラムに型を指定しなくてもエラーになりません。
  BLOB型(NONE型)となります。
   BLOB型だと、同じカラムに色々な型を格納できます。

sqlite3_12.png

INSERT文などで、実際にDBに格納される際、
SQLite3側が、NULL、INTEGER、REAL、TEXT、BLOBいずれかの型に判別して、格納します。



②カラムに型を指定することもできます ※2

 ですが、数値型のカラムに文字列を格納しようとしても型エラーにはなりません。
 文字列型に自動変換されます ※1。

sqlite3_13.png

個人的には型エラーにしてくれた方が、分かりやすいのですが、SQLite3はそういうものなのです。

こうした仕様を知っておかないと、
「なんで型エラーにならないの?」
と混乱してしまいます。

私は混乱しました。


==========

※1
INTEGERやREALなど数値系の型のカラムに文字列を格納しようとすると、TEXT型で格納されます。
↓詳細は、SQLite3公式HPで解説があります。
SQLite3本家

※2
・CREATE文で指定した型に「INT」という文字列が含まれていると、INTEGER型になります。
・同様に「CHAR」、「CLOB」または「TEXT」という文字列が含まれていると、TEXT型になります。
・「REAL」、「FLOA」または「DOUB」という文字列が含まれていると、REAL型になります。
・型を指定しない場合、または「BLOB」という文字列が含まれている場合、BLOB型(NONE型)になります。
・上記のいずれにも該当しない場合、NUMERIC型になります。





(参考)
↓アンドロイドアプリ「SQLコマンドリファレンス」です。
SQLコマンドリファレンス