2017年8月30日水曜日

Oracle numberの精度について

以前の職場で、
ORA-01438: 指定した精度を超えた値が列に指定されています"
のエラーが発生。

内容を確認したところ、どうやらテーブルにあるnumber型項目に格納できる精度を超えたためエラーとなっていた。

number型について復習しておく。

参考サイト

number型は、全体の桁数と小数点以下の桁数を指定することもできます。

テーブル定義でいうとnumber(8,3)みたいな場合、全体桁数が8で、そのうち小数桁数が3桁となる。つまり、整数部は8-3=5桁となる。

しかし、今回の発生した内容はこの整数部5桁の項目に6桁を格納(Insert)してエラーとなっていた。

まあ、本来は入口(アプリ)でチェックしてそのような値を許さないようにしないといけませんね。

2017年8月26日土曜日

Oracleバックアップについて

<まとめ>
無停止でバックアップ取得したい場合にはRMAN。
日次10分程度?!の停止が許容される場合にはスナップショットで十分か。

スナップショットでは、スナップショット取得後の本番DBに更新があった場合
更新前データをスナップショットキャッシュと呼ばれる領域に退避する。

バックアップからリストアするときには、上記キャッシュとスナップショットをもとに
データを復旧する。

Recovery Managerを使ったバックアップ方法 
※記事古い
http://www.atmarkit.co.jp/ait/articles/0604/21/news115.html

リストアとリカバリー
https://www.google.co.jp/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwiCgujY1OnVAhWKzbwKHX7eDWkQjhwIBQ&url=https%3A%2F%2Fwww.slideshare.net%2Fryotawatabe%2F2016715-jpoug-rdbms-backup-architecture&psig=AFQjCNG0bWKHH2Fr3aEJTPeLTuZRp_5Gxw&ust=1503450748900437


<参考>
ストレージの便利な機能『スナップショット』
https://japan.emc.com/microsites/japan/techcommunity/learn/foundation/snapshot1.htm

Amazon Redshift クラスター(仕様)
http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/working-with-clusters.html

[AWS Black Belt Online Seminar] Amazon Redshift Update – 最近追加された新機能と Redshift Spectrum レポート
※RedshiftからS3に直接クエリ発行可能
http://dev.classmethod.jp/cloud/aws/aws-blackbelt-redshift-spectrum/

2017年8月4日金曜日

セルフBIとSIerにおけるスキルアップについて

日経SYSTEMSを久しぶりに読んだので、いくつか書き残しておく。

本日のお題
・セルフサービスBIについて
・SIerエンジニアのスキルアップについて

<セルフサービスBI>
データ準備フェーズにおけるデータアナリストの費用はどうなのか

費用対効果に見合うのか不明だが、スモールスタートし、ある程度の結果を残せるのか等
業務改善的に継続していかないとノウハウの問題とかで一瞬利便性が上がったとしても、業績アップにどこまで貢献できるかは、業務部門と一体になり運用含めて取り組まないといけない。

記事にあった「コンピュータが人に変わって意思決定するのではなく、人がより良い意思決定をできるようにする」
→これが的を得ている気がするし、しっくりくる表現だと思う。あくまで現状の日本企業の話だが。

<SIerエンジニアのスキルアップについて>
基本的には
・勉強会やセミナーで学んだことをアウトプットする
・とにかく手を動かす(サービスを使ってみる)
というか、エンジニアとして基本的なことでした。。。

実際、ユーザ企業におけるIT企業に求めるスピード感は上がっていると思う。

2017年6月1日木曜日

LINE Bot体験してみた

下記のサイトにある手順にそって実際にLINE Bot作ってみました。

誰でも簡単にできる! LINE Botの作り方
https://codezine.jp/article/detail/9810?p=5

とりあえず全般の感想としては、今回はサンプルとして
HEROKUを使いphpでアプリ作成し、dropbox上にDeployして
動かしてみましたが、Javaエンジニアなので次回?!は言語を変えて
何かできればな~と思いました。

それでは、手順にそってコメントを残しておきます。

<インストール>
基本的に手順通り進めればOK。
composerとかphp超初心者なので、はじめてインストしました。

<HEROKUアカウント設定など>
はじめてのサインイン、その後トップ?!ページに
複数言語のロゴが表示され、なんだか少しテンションあがったw
むかーし、はじめてeclipseを起動したときを思い出しました。

<Dropboxとの連携>
実はこんな使い方したのも初めてで新鮮!
そして、Deploy。はやっ!

<LINE bot作成、設定>
ここも手順通り進めれば、あら不思議いつものLINEに友達追加できる状態に

<動作確認>
1時間ちょいでサンプル完成。

アプリ仕様としては、こちらが送ったメッセージをおうむ返ししてくる。
ちなみにスタンプは返してきません。

<今後>
今回は既に完成されたプログラムをDeployして動かしただけなので
時間あるときにロジックを覗いて、さらに時間あればJavaで
応用したいと思います。








2017年5月22日月曜日

JJUG CCC 2017 Springへ行ってきた

JJUGイベントは3回目くらいかと思います。
いつも通り覚書+気づき的なものをアップしておく。

<セッション前に思ったこと>

社内研修みたいなものも担当しているので、
計画見直しのための情報収集ができたら尚良い。
あとは技術ノウハウの享受と今後に活かすため。

<ふつうのJavaコーディング>
資料はあとでアップ

説明できる=良いコード
→現在仕事で保守している.netアプリも??がいっぱいで深く頷ける。

コードは読まれる時間のほうが長い(保守)
メソッド引数増やすくらいならメソッド作成する
→保守引き継ぐと思想が分からなかったり、複数の人で作成されたモジュールだと
 なおさら分からなくなり、趣味の世界に入っていき、引き継いだ側は大変に 汗)

and or箇所はメソッド抽出を検討
→今はユーザ企業情報シス支援の立場での業務なので
 規約やルールを作成・徹底することが難しいが方針はやはり作成すべき。

イミュータブルオブジェクト

openした場所でcloseする。
× メインから渡した先のメソッド内でclose

メソッドリファレンス

ギリギリまで文字列に頼らない
文字列便利なので使いがち(区分など)

enum使い倒す

<エンプラ開発におけるレガシーアプリケーションの巻き取りとモジュール分割の戦い>
IT技術を活用することでビジネス拡大を支援
→モジュール分割により制約を最小化?!

隔週でKPTを実施
http://qiita.com/netetahito/items/8cae1ab27ef010e45270

Atlassianツール活用
https://ja.atlassian.com/try

参考 Selenide~Javaで超簡単・簡潔にUIテストを書く~
http://qiita.com/tatesuke/items/589e30ab9b3dc7037e26

段階的な再構築
→メリット   リスク回避、スモールスタート
 デメリット 既存課題が残る

自分ができる準備とは??


<新しいTERASOLUNA Batch Frameworkとは>
http://www.terasoluna.jp/product/framework/batch_framework.html

https://ja.osdn.net/projects/terasoluna/wiki/download

http://terasolunaorg.github.io/

OSSなので公開されているのは認識していたが
ドキュメント関連も読み切れないほど充実している印象。
普通にプロジェクトでも使えそう。

<Javaエンジニアに知って欲しいRDBアンチパターン>
たしかに納得という内容が多い印象。

Javaコミュニティだが、DB関連で苦労している人も多いのか
満席、立ち見状態だった。自分も。。


2017年4月26日水曜日

APEX User Group - 第1回Meetup@東京へ行ってきた

1.T字形ER手法×Oracle APEX=超高速開発
沖電グローバルシステムズ 鹿川さん、仲地さん、岩村さん

社内情報システムをAPEXで開発
→WBSなど、一元管理が目的。
 4年前から着手
 2014年2月~開発
 →2016年4月本番稼働

Hinemos

APEX
→仕様変更に強い
 →1,2weekで反映を繰り返し
 
社内システム
→1年運用した状態

T字形ER手法
→ビジネスモデルの解析
 事業解析ができるとDB設計完了となる
https://www.its-inc.co.jp/T-formed-ERD.html

http://www.sdi-net.co.jp/

設計工数を削減できるのではないか?!

T字形ER手法と画面実装のパターン化

TMD-Maker

沖縄ではkintone(クラウド)のほうが流行っている。
APEX(オンプレ可)。

実装はPL/SQL

利用ユーザー数:200,300

デザインに関する変更要件について
→アンチパターン
 →標準は簡単、標準外だと難しい
  HTML5のCanvasで対応
  http://www.html5.jp/canvas/ref.html

APEXよりもT字形ER手法に注目した印象

2.APEX5.1.1 ( Oracle Database Cloud Service ) アップグレードよもやま話
株式会社フルエナジー 木原隆文さん/松本昭史さん

HTML DB
→APEXの前身

https://apex.oracle.com/jp

DBAでもAPEXなら開発可能
→eclipseとか不要

エンタープライズ開発には開発要員に対して、啓蒙・教育期間がとても必要な印象。
現行の開発スタイルを維持しつつ、少しずつ新開発スタイルへシフトできると嬉しい。

Excelで行っているQA管理、案件管理は代替に向いている。

アプリケーションの種類によっては、使う言語やAPEXを適用する。

3.大変便利なAPEX、ORDSの実業務での活用例を見て!(日本オラクルさんアピール不足ですよ!)
フジミインコーポレーテッド(社内情報シス) 鈴木 達さん
製造業.社員数800名 情シス4名

パッケージ+OSS

APEX
→SQL+画面操作

基幹システムのマスタ管理、機能を補完する役割として
APEXを導入。

ORDS
→SQLだけでRESTサービス構築可能
http://www.oracle.com/technetwork/jp/developer-tools/rest-data-services/overview/index.html

AngularJS入門者必見!作りながら覚えて10分で理解
http://udemy.benesse.co.jp/development/angularjs.html

AngularJSが軽快そうな印象で楽しそう。
→経営ダッシュボード

ORDS
→RESTだと検索条件の数だけパラメータ必要
 →SQL CASE文で対応

4.Wrap-upと次回告知
日本オラクル 新井さん、中嶋さん

次回 ハンズオン
6/1(木)19:00-21:00
1.APEX概要説明
2.アプリ2個作成
http://qiita.com/nkjm/items/2d12beaf9c1b868476f6





2017年4月18日火曜日

【クラウド×IoT】IoTクラウドプラットフォーム勉強会第2回へ行ってきた

オープニング)

CUPAの紹介
http://www.cloud.or.jp/

参考(前回):【クラウド x IoT】IoTクラウドプラットフォーム勉強会 第1回
https://connpass.com/event/49639/

1)NTT Com のAEP「Things Cloud」!
NTT Com IoT推進室 佐々木 勇祐様

1.IoT導入に向けたコムの課題認識

IoT導入ステップについて

IoTではPoCが効果的
→解決したい課題は?
 →どんなデータか?、、、

実際やろうとすると、難しい。壁にぶつかる。
→デファクトスタンダードがないのが現状
 →規格がさまざま。BLE,Wi-Fi、RDB、、、

IoTあるある
→データは取れても、期待したデータではない
 仕方ない事実。
 →試行錯誤をスピーディーに進める必要がある。
 →そこで「Things Cloud」

■Things Cloud
AEP=アプリ開発を支援するPlatform
SaaSに近いサービス。

4/5ニュースリリース
→http://www.ntt.com/about-us/press-releases/news/article/2017/0405.html

■データモデル
中心となるオブジェクト「デバイス」
→ラズパイ、IoTセンサ

デバイスのデータベース「インベントリ」
「メジャーメント」
→計測値(温度、湿度)
「オペレーション」
→再起動、開錠

「アラーム」
→通信異常、バッテリー低下

「イベント」
→アラーム、イベント

基本的にサービス紹介がメインでした。

2)「いま増えてます。スタートアップ企業で採用するBluemix IoTとWatsonはコレだ。」
IBM BlueHub クラウドエバンジェリスト 佐々木 志門様

IBM bue hub
→スタートアップ企業支援
 →技術支援
 
IBM Bluemix
→AI(Watson)利用できる

オープンイノベーション
→企業間コラボして社会的課題を解決

hatapuro
http://hatapro.co.jp/service/
→日産、ホンダから最高評価

小型ペットボトルより小さいロボット

「初めてのWatson」著)井上研一

Watsonできないこと
→数値の分析

Watson

DSX
→R言語での分析をクラウドサービスで提供している
 Apache Spark
 →ある程度無償なのでおすすめ
https://datascience.ibm.com/


3)Azure で IoT ~デバイスのSDKから、蓄積、可視化までマルッとお任せ!(仮)
大平 かづみ様

クラウドの普及理由
→スケール性(多くのデータ)、並列・高速処理ができる等

■入力
Event Hub、IoT Hub

Event Hub
→単方向(デバイスからのデータを受け取る)
IoT Hub
→Event Hubより後にローンチされた万能
→デバイス管理
→ファイルアップロード

Node-RED(ノードレッド)
→OSS

FaaS
→Azure Functions
http://www.itmedia.co.jp/enterprise/articles/1701/16/news026.html

PaaS(Platform as a Service)との違いは、PaaSがリクエストごとにアプリケーション全体を
起動・終了させる「リクエストリプライ方式」を、
FaaSは必要なサービス毎に起動・終了させる「イベントドリンブン方式」を狙ったものであることです。

そのため、FaaSであらゆるアプリケーションを作れるというわけではなく、
ECサイトやマーケティングサイトのように負荷予測が難しく、
ダイナミックな負荷の変動に対応しなければならないアプリケーションに向いているといえるでしょう。