1 | 2 | 3 | 4 | 5 |最初 次ページ >>
2017-04-30 08:30:00

カイジ「命より重い! 」お金の話

テーマ:

カイジ「命より重い! 」お金の話

 

実は原作を読んだことがないんですけど。

ただ、話題の漫画なのでネット上にその中のネタ情報があふれて目にしていることは何回もあったりします。

この本では簡単に言うとまっとうな金銭感覚の身につけ方を説いていたりもするんですけど、ただそういうのって頭でわかっているけど結構その時々に感情的になったり考えるのを止めてしまって結果的に損をしたり浪費したりというのは誰しもよくあることだっと思ったりします。

この本の中で書かれていることですが、まっとうに働いて倹約したとしても残酷な未来しかない事実もあったりして、結局どこまで行っても将来の不安というのは付きまといますしそれを払拭するために何らかの「勝負」に出ないといけないことは実際あったりします。

 

冒頭でも書かれていますが、お金を増やす方法という本は巷に溢れていますが、お金を守る方法というのをあまり書かれた本はないらしく、そのディフェンス面に重きを置いて解説しているということで、お金を増やすにしても貯めるにしてもまずはディフェンスができないと得た以上に失っては元も子もないと感じたりもします。

原作は基本的に賭けの世界ではあるんですけど、別にギャンブルに手を出すというわけではなく、日常的に使わないといけないお金というものをどう守ってどう使っていくのかというロジックをちゃんと考えるきっかけになるのではないでしょうか。

特に家族や子供がいる身としてはこのことを痛切に感じる日々だったりもします。

 

 

目次

 

序章 ようこそ、クズのみなさま
第1章 給料がすくない・・・・・・・?現実を見ろ!
第2章 金は、自分で守らねばならないのだ!
第3章 知らないやつは、勝負の前に負けている!
第4章 圧倒的勝利を呼ぶ、マネー思考を身につけろ!
終章 お金に振り回されないために、本当に必要な力

 

 

 

いいね!した人  |  コメント(0)  |  リブログ(0)
2017-04-17 08:52:38

システム仕様が複雑化する理由

テーマ:エンジニア魂

 

これはシステム要件における顧客が求めているものと実際を揶揄した図ですが、現実に要件が求めているとおりに実装されることはまれだったりもします。

要件定義書に書かれたシステムイメージは非常にシンプルでも、仕様を詰めていく段階でどんどんと盛り込まれていく機能。

作り上げられたものは当初の要件からとはかけ離れたものになっていた、なんてものはシステム開発においてよくある話で、契約のもめごとや開発遅延の話は置いといて、なんでまたこんなに仕様が複雑化していくのでしょうか。

 

 

現行業務を頑なに変えようとしない

 

一つは現行業務への固執ではないでしょうか。

現行業務における課題を解決すための手段としてシステム開発を行うものの、その業務があるべき姿かどうかについてはあまり議論されないケースがあったりします。

つまり、現行業務に合わせてシステムが作り上げられるので、業務に内在する課題もそのままシステム仕様として実装されることになります。

現行業務を変えたくない理由は、それによる影響が大きく自分たちの変化を嫌い、システム化すれば何とかなるんじゃないかという幻想を抱いているからかもしれませんが、それによって出来上がるものは一部の業務フローが自動化されるといった具合のもので、業務全体として効率化がなされるわけではなかったりします。

業務は長い年月をかけて作り上げられたものにはなるので、システム仕様もその分さまざまな役割を担う必要性が出てきて、これはいらないんじゃないかという要件が顧客の強い要望で実装しなくてはならなかったりします。

 

 

マイクロマネジメントを実現するための機能群

 

せっかくシステムで自動化されるのにかなり細かいハンドリングを要件として組み入れたがるケースがあったりします。

当然それによって担当者の運用業務は膨れ上がることになるのですが、当人は「それはこちらできちんとやるから問題ない」とその要件で押し切ろうとしてきたりします。

これは、例えば通常ではなかなか使わないであろう特殊な権限設定を必要としてきたり、データを直接的に編集できる機能を求めてきたりといったことなんですが、せっかく自動化する仕組みを作ろうとしているのになぜ手動でのオペレーションが必要な要素を盛り込みたがるのだろうか、と思ったりするわけです。

こういうケースの場合、運用が始まってしまったらその業務が思いのほか大変であることがわかって泣きついたりしてきたりもするのですが、そうではないとしてもシステム化によって得られた効果がその仕様のために台無しになっているのではないか、と思うケースも見受けられたりします。

 

 

担当者のこだわり

 

プロジェクトの推進体制上、オーナーであったりPMであったり中心となる人物はいるもので、その人の思い入れの強さで思わぬ機能実装が盛り込まれたり、仕様変更を求められたりすることがあります。

これはその人だけのこだわりであったりして重箱の隅のようなところに時間を割かれたりするわけですが、構築側から見るとそれがその人だけの思い入れなのか、それとも実際に現場メンバーやユーザーが求めているものなのかわからないことがあったりして困ったり。

特に権限が強い人のこだわりとなると、その他の推進メンバーも意見するのをためらって押し切られたり、プロジェクトの後半になったレビュー会で放たれる言葉によって現場が凍り付いて大きくかじ取りを変えさせられるケースもあったりします。

その人の単なる思い付きであれこれ仕様が決まってしまうと、これまで業務フローや課題を整理したうえで組み立てた仕様が崩される形になって、最終的に歪な機能を作る羽目になったりもするわけです。

 

 

流行りものの全部入り

 

一昔前なら、システム仕様を検討するのは構築側にかなりの比重があったわけですが、それはシステムという理解をしている人材が一般的には多くなかったからなんですけど、今やインターネットを通じて日常的に様々なサービスを使ったり見たりしている人がほとんどなわけで、当然システムの仕様について目が肥えた人が多数体制上に存在したりします。

こうなってくると、普段使っているような流行りものを全部取り入れたがる意見が出てきたりして、スモールスタートで息を長くサービスを育てていきましょう、というような方針でも最初っから全部入りでお願いしたい、といった方向になってきたりもします。

フェーズを分けて徐々にやっていこうとしても、それぞれの立場で必要な機能が違ってきたりして、あれもこれも必須機能という要件が出来上がったりするわけです。

まぁ、たとえそれらを全て実装できたとしても使いこなせる人は少なく、結局ごく一部の基本機能しか使われないということはよくあることだったりもします。

 

 

余計なリップサービスが招く墓穴

 

顧客に対してサービスの説明やシステム要件を確認する場では、なかなか「できません」という表現をしたがらない傾向があって、拡張すればできるとかアドオンを入れればできるとか連携すればできるとか言ってごまかしたりするわけです。

それを導入するために基本料金に加えてかなり多額のカスタマイズ費用が発生したりもするわけですが、実際にはできないケースが多かったりして、打ち合わせの場での言った言わないに引きずられてかなり多くの労力をそのために強いられることはよく遭遇する場面であったりします。

また、顧客を喜ばせるためかより多くの機能提案をしてしまうケースもあって、先ほどの全部入りの話のようにあれこれと機能を盛り込ませようとしたりして要件が膨れ上がっていったりもします。

もちろん、これは費用が比例していくことにはなるので予算に合うかという問題はあるにしろ、「あれもできます。これもいかがですか」といえば顧客側からするとお願いしたい気持ちにもなってしまうわけです。

それを受け入れられるだけの構築側の体制が整っているのかという問題は度外視して。

 

 

まとめ

 

個人的には機能や仕様はできるだけシンプルなものであるべきだと考えています。

複雑な機能を求めてもそれを使う機会って年に何回あるの?って思ったり、その複雑な機能を使いこなすための労力って本当に必要なんだろうかと疑問に思ったり、それを作り上げるコストに見合うだけの効果が果たしてあるのだろうかと思うことがあるからです。

最初の図のように作りたいものや解決したい事象というのは実はとてもシンプルなものだというのに、実際に議論を積み重ねていくと要求が膨れ上がったり、捻じ曲げられたりして作り上げたものは誰が望んだものかわからず、そして本当に求めていたものさえ誰も気が付いていないというような事態になるのは互いが疲弊するだけなので避けたいところですね。

 

 

 

 

いいね!した人  |  コメント(0)  |  リブログ(0)
2017-03-27 08:58:03

JS/CSSファイルの圧縮にYUI Compressorを使い倒す

テーマ:Windows
サイト表示の高速化のためにJSやCSSファイルを圧縮するというのはよくある手法で、ただこういうのってWebサービスとして展開しているものが数多くあるものの、JSの中身を外部のサイトに貼り付けることに抵抗があったりする場合、やっぱりローカル環境で圧縮作業ができたほうが良かったりもします。
しかも、自動化できればなおよし。
ということでYUI Compressorを使ってJSやCSSファイルを圧縮する方法のまとめです。
 
 

Linux環境でYUI Compressorを使う

 
まずはLinux環境で使いたい場合。
使い方は単純で、サイトからYUI Compressorのjarファイルをダウンロードし、サーバーにアップ。
あとは、下記のようにコマンドラインから対象ファイルを指定して圧縮できます。
 
$ java -jar yuicompressor-2.4.8.jar jquery.js -o jquery.min.js
$ ls -la jquery*
-rw-rw-r-- 1 foo foo 273199  3月 24 18:01 2017 jquery.js
-rw-rw-r-- 1 foo foo 105386  3月 24 18:01 2017 jquery.min.js
 
圧縮もとのファイル名を指定し、-oオプションで出力ファイルを指定します。
実行後は容量が減っていることがわかります。
デフォルトでは圧縮のほかに難読化もしてくれるのですが、--nomungeオプションをつけると圧縮だけしてくれるみたいです。
 
$ java -jar yuicompressor-2.4.8.jar jquery.js -o jquery.min2.js --nomunge
$ ls -la jquery*
-rw-rw-r-- 1 foo foo 273199  3月 24 18:01 2017 jquery.js
-rw-rw-r-- 1 foo foo 105386  3月 24 18:01 2017 jquery.min.js
-rw-rw-r-- 1 foo foo 144389  3月 24 18:05 2017 jquery.min2.js
 
難読化したほうが圧縮率は高いっぽい。
簡単にはつかるものの毎回javaコマンドを指定するのも面倒ですしJS/CSSファイルにしか適用できないため、下記のようなスクリプトを書いてパスの通ったところに配置しておけばもう少し幸せになれるかもしれません。
 
#!/bin/bash
if [ -f $1 ]
then
  basename=${1##*/}
  ext=${basename##*.}
  if [ $ext = "css" -o $ext = "js" ]; then
    file=${basename%.*}".min."$ext
    java -jar yuicompressor-2.4.8.jar $1 -o $file --charset utf-8
  fi
fi
 
対象ファイルを指定するだけで、「.min.js」などのファイルを作ってくれます。
 
$ yuicompressor jquery.js
 
 

Windows環境でYUI Compressorを使う

 
開発環境がWindowsの場合でもLinux環境と同様にコマンドラインから使えます。
さっきのjarファイルをWindows上の適当な場所に保存し、bashスクリプトのWindowsバッチへの焼き直しではあるのですが、
 
@echo off

echo compress %1%...
set ext=%~x1
set ext_flg=true
if not "%ext%"==".css" if not "%ext%"==".js" set ext_flg=false
if %ext_flg%==true (
  java -jar yuicompressor-2.4.8.jar %1 -o %~p1%~n1.min%ext% --charset utf-8
)
 
みたいなバッチを書けばコマンドラインから実行できます。
後述する自動化のために多少制御は変えてはいますが、Windowsバッチとかあんま作ったこと無いんで細かい制御を組み込むのは勘弁してください。
 
これで楽にファイル圧縮ができるわけですけど自分の場合、開発にEclipseを使っているのでEclipse経由でYUI Compressorが使えれば理想です。
実は、YUI CompressorはEclipseのプラグインとしても提供されているので、簡単に組み込むことができます。
Eclipseのマーケットプレース経由でプラグインを導入することができるのですが、ヘルプメニュー内にElipseマーケットプレースが存在しない場合、まずはそのクライアントをインストールする必要があります。
方法は、ヘルプメニューから「新規ソフトウェアのインストール」を選択し、作業対象(サイト)から使っているElipseのダウンロードサイトを指定、フィルタに「Marketplace client」と入力して探します。
 

あとは、選択してインストール。
インストールが完了したらヘルプメニュー内に「Eclipse マーケットプレース」メニューが表示されていますので、選択して起動します。
あとは、検索ボックスに「YUI Compressor」と入力して探し、インストールを実行。
 
 
インストールが完了したら、圧縮したファイルを右クリックし「外部ツール」から個別に圧縮できます。
 
 
実行すると、圧縮後のファイル名が指定できるので指定すれば圧縮が実行されます。
 
これでも十分使えるわけですけど、さらにファイルをビルドしたら自動的に圧縮されたらさらに幸せです。
自動化の準備として、先ほど作成したWindowsバッチおよびjarファイルを適当なフォルダに保存しておきます(jarファイルはパスが通っていたらどこでもいいんでしょうけど)。
例えば、下記。
 
C:\workspace\yuicompressor
 
次に、Eclipse上のプロジェクトごとに設定が必要なのですが、対象のプロジェクトを右クリックして「プロパティ」を選択します。
この中で、「ビルダー」の項目を選択して、「新規」→「プログラム」を選択します。
名前は、適当なビルダー名を、ロケーションには作成したWindowsバッチのパスを、作業ディレクトリはバッチが保存されているディレクトリを、引数には「変数」ボタンから${resource_loc}を選択します。
 

次に、「リフレッシュ」のタブを開き「完了時にリソースをリフレッシュ」にチェックを入れ、「選択されたりソース」を選択します。
 

次に「ビルドオプション」のタブを開き「「クリーン」の後」「手動ビルド中」「手動ビルド中」にチェックを入れておきます。
これで、設定は完了です。
あとは、ファイルを編集して保存した際に自動的にバッチが実行されます。
実行時にはコンソールに結果が出力されるので対象ファイルなどを確認できます。
 
 
実行後は圧縮ファイルが自動保存されるはずですが、Eclipse上のエクスプローラには直ぐに反映されないのでリフレッシュしてみればよいかもしれません。
これで、JS/CSSファイルを編集した際に圧縮を忘れるということはなくなりそうですね。
 
もちろん、圧縮してくれるWebサービスも数多くありますし、最近ではGruntなんかを使うのも流行っているようですので環境に合わせて取捨選択してみればよいかもしれません。
 
 
 
 
いいね!した人  |  コメント(0)  |  リブログ(0)
1 | 2 | 3 | 4 | 5 |最初 次ページ >>

AD

Ameba人気のブログ

Amebaトピックス

      ランキング

      • 総合
      • 新登場
      • 急上昇
      • トレンド

      ブログをはじめる

      たくさんの芸能人・有名人が
      書いているAmebaブログを
      無料で簡単にはじめることができます。

      公式トップブロガーへ応募

      多くの方にご紹介したいブログを
      執筆する方を「公式トップブロガー」
      として認定しております。

      芸能人・有名人ブログを開設

      Amebaブログでは、芸能人・有名人ブログを
      ご希望される著名人の方/事務所様を
      随時募集しております。