勤怠管理システム(フェーズ1)

自社向けの勤怠管理システム(Ph1)がようやく完成しました。
元々、理由は割愛しますが、社内会議で作るのも大変なので、他社の勤怠システムを導入しようという話になったのがきっかけ。
その為、システム導入を検討する事となり調査担当になったのですが、調査する事で判明した「システム導入で深みにはまる」事の懸念点と、会社はまがりなりにもIT系企業、私自身も請負で1000名程度の勤怠管理システムを作った経験もありましたので、サンデープログラマーとして、ある程度ざっくり作成したものを作る事にしました。
そして次の会議で見せた所、作る方向となった次第の分です。

今時のクラウド勤怠管理システムを調べて思った事は、出勤時間、退出時間の基本的な考え方は同じなんですが、その使い方だったり、雇用方法の違いで、一長一短の良し悪しがあったという事です。
シンプルな機能としてタイムカード代わりとして使うもの(出勤・退出時間は原則変更不可)から、複雑な機能まで備えたもの(休憩自動計算、承認機能(遅刻、早退、休暇)、所属別管理機能(いろいろ)、給与システムへ連携機能)まであり、そしてCSV、EXCEL形式、PDF形式で、勤怠表が出力可能でした。(但し全てのシステムがこの3形式で出力できる訳ではなく、対応不可だったり追加費用が発生したりするのです。)
結局、システムの機能を増やす為には、費用・運用費を増やす必要があるという事で、それを仮に導入すれば、その担当者が必要になり、企業は間接費が増える事につながります。
企業として、勤怠管理をシステムとして導入するかは目的と費用対効果を見極めて決定する必要があると思いました。

この事から作成する方向へ舵を切った訳ですが、作成した今では以下のような良い点を挙げる事ができます。
①自作の為、カスタマイズが自由・自在。
②今時の技術を知る良い機会となった。
③新入社員向けとして教育素材に使う事が可能。

自社向け勤怠システム(Ph1)の目標は、「自社勤怠の登録作業の負担を減らす」という事を前提に作成いたしました。
システムは、携帯端末(Android , iPhone等)でどこでも登録ができます。
出勤時間と退出時間を入力すれば、後は月末に勤怠表を作成すれば、現状の仕組みで給与システムと連携できます。
客先の勤怠表を許可して持ち出す必要や、別にメモして持ち帰る必要がなくなり、私自身も登録作業の負担軽減ができて良くなったと感じています。
今後は使用後の所感を聞いてブラッシュアップしていきます。

3回目のコロナワクチン接種しました。

3回目コロナワクチンを打ってきました。

ワクチンは3回ともモデルナです。まだまだコロナが収束しないからもう少し後に接種した方が良いという話もネットでみましたが、2回目から7か月たってたので、万一の安心を考えて早めに打ちました。


中央ふ頭クルーズセンター

自転車で約20分の距離です。接種希望の人が多いのかなと思ってましたが、以外にも少なくて、少し拍子抜けしました。

そういえば、3回目ファイザーを打つ予定の弟は予約がいっぱいで3月末しか取れなかったと言ってたけど、私は簡単に予約が取れたので以外だったのです。

みんなモデルナじゃなくファイザーを打ちたいのかなぁ。

帰り、ベイサイドプレイス博多にちょっと寄ってみました。

やっぱりコロナの影響で店舗が無くなってたりして少し寂しく感じました。

 

JR九州の高速船「QUEEN BEETLE(クイーンビートル)」国内航路「博多~門司港」を航行するという事をニュースで見たので、停泊していたので写真に収めました。

サイトを引っ越しました。

使用していたレンタルサーバーの更新時期が、残り3か月を切った事、そして、ウエブページを色々と作成したいなと最近思うようになっているので、更新して続けるよりも別のレンタルサーバーにしようと思い新しく引っ越しました。

新しいレンタルサーバーは前のレンタルサーバーと比較して機能がアップしている事を実感しました。

毎月の支払いの差は300円程度の違いなので、引っ越ししてて良かったと思います。

ドメインが2つあるので、新しいサーバーでマルチドメインです。
(これも経験、やってみないとイメージがわからないものですねー)

これまで会社が利用しているレンタルサーバーは、NTTコミュニケーションズとお名前.comなので、まだまだレンタルサーバーについてあれが良いとか悪いとか言えないのですが、今使っているレンタルサーバーは、電話サポートが無いプランでも、個人で使用するのであれば、スペックは充分、そして使いやすいと思います。

私は今年2月から、休みの日に、自社向けの勤怠システムを作成しています。開発言語は、PHP。でも作りは昔ながらの作りなので、フレームワークは一切使ってないから、MVCでも無いですね。

そして最近になって、Laravelフレームワークの存在を知りました。情けないです。(^^;)。
これ、RailsのPHP版だと思います。マイグレーションとかできるし思想が同じだと思いました。

あー、、そうなのね、、、、そうであれば、これを使うべきだったなんて思った次第なのですが、、自社向けのシステムも、早めにお披露目したいので、次回使おうと決めました。

今使っているレンタルサーバーは、Laravelも使えそう!です。
本当、良いところはxampp環境で作ったものが、そのままアップしても動いてしまうところです。(これが他のレンタルサーバーだと、動かなかったりするんですよね。これも過去の経験です。)

PassWordMaker Ver.1.1.3.0

余計な部分を削りました

今回は余計と思われる部分を削り落としました。
その理由は、せっかく公開するソフトなのに、VirusTotalとかのサイトで問題が見つかると面倒だからです。(それが誤検出であってもね)

【変更箇所】

①バージョン表示画面
 画像と本サイトのリンクを削除しました。

②ファイルのタイトルを編集可能にしました。

③文字読みについてのIME制御を選択可能としました。
うん。でもまぁ、ちょっと、ビミョーです((+_+))

④文字種単位で、文字読みにまとめてカッコを付けられるようにしました。

今回のバージョンアップは、まぁ微々たる変更となっておりますが、今後も少しずつ改造していきますので、使っていただけたらうれしいです。
(このバージョンはベクターにて公開しています。)

悪意を持ってソフトは作りません!

PasswordMake Ver.1.1.2.0で発覚した問題

私はこれまで、公開時にウイルスチェックを行って公開しておりました。
但し、全てチェックしているという事ではなく、私が使っているESET Insernet Security でのチェックです。これは、1つチェックすれば良いと、これまで考えていたからなのですが、最近、フリーソフトのファイル検索処理で愛用していたEveryThingがTrendMicroでマルウェアとして検出されるようになってしまいました。
この事をきっかけに、私の作成したソフトがスパイウェアとか検出されたら嫌やなので、さっそくVirusTotalで、チェックしてみたところなんと、、マルウェアと検出されるではないですか。
ショックです。

SecureAge APEXというセキュリティソフトがMalicous(悪意のあるという意味)で検出してしまいました。
これ!もう。何が原因なのか、まったく見当つかなくて、画像をリソースとして埋め込んでいたところが怪しいと判断されたのかとか、サイトリンクが原因なのかとあれこれ消してみてEXEを作り、VirusTotalで再三チェックを繰り返して試してみましたが、まったく改善されませんでした。その間にVisual Studio 2019の更新が2回あり、今日の更新で、ソースの修正をしなくて再ビルドしたもので、VirusTotalでチェックしても
SecureAge APEX が、Maliciousとならずに、Undetected、0/69となってくれました。
うれしいですが、結果としては誤検出という事なんだろうなと思いましたが、このサイトを鵜呑みにする人もいるだろうし、なんかちょっと気持ちがくたびれてしまいました。

そういうこともあって、Ver.1.1.3.0 を作成いたしました。

PassWordMaker Ver.1.1.2.0

パスワード生成ツール

GW中は、家族で外出する事もできず自宅で過ごしました。

Youtubeでは、GW限定の配信があったりして、自宅で楽しむ事もできましたが、飽きもしてきたので、前回作成したパスワード生成ツールのバージョンアップする事にしました。

今回、作成したバージョンは、最終的に、1.1.2.0 となりました。

GW中に、パターンを編集する画面を作成しようと思い立ち始めたわけですが、製作し始めてから色々と案が思い浮かびました。
結果、それなりにバージョンアップできたように思います。

更新内容

  1. 文字種設定ファイル(XMLファイル)を前回の公開バージョンでは編集して使ってもらう事にしていましたが、編集画面を新たに作成しました。
  1. 文字種設定ファイルの切り替え機能を実装しました。

    ↓設定ファイルは、現時点で5パターン作成しています。
  1. 制限文字数制御機能を見直しました。
    制限文字数制御とは文字種に対して使用数を制限する機能です。
    これを使用する事で文字種の割合を決定する事ができます。
    例1)
    12文字のパスワードで、英小文字、英大文字、数字をそれぞれ4文字抽出したパスワードを作成する場合
    パターン文字制限数
    英小文字4
    英大文字4
    数字4

    例2)
    12文字のパスワードで、数字のみ4文字以内で抽出したパスワードを作成する場合

    パターン文字制限数
    英小文字制限無
    英大文字制限無
    数字4
    【注意】パターンで文字数制限無にした場合、数字を必ず4文字使用したパスワードが生成されるのではなく、4文字以内で使用されたパスワードが生成されます。
  1. パスワード生成の「実行」ボタンで結果をクリアして表示していましたが、このバージョンでは、「クリア」ボタンが押されるまで生成結果を削除しないようになりました。

ダウンロード

 

今回のバージョンから、

Vectorで、パスワード生成(PassWordMaker)として公開します。

手作りのガーゼマスク

マスクどこも売ってません

2月以降マスクが購入できない状況が続いていましたが、4月になっても手に入れる事は難しい状況が続いています。

自宅の使い捨てマスクの在庫が50枚を切ってしまってから、機会があればマスク探しにドラッグストアへ行ってました。
休みになれば近くのドラッグストアに朝から並んだりしましたが、その日は結局、マスクの入荷がなかったりして無駄に時間をかけていました。

今思えばドラッグストアのマスク入荷の貼り紙が悪いのです。
店舗には、「本日のマスクの入荷はありません。」という貼り紙があっても多くの人が並んでいれば、期待して並びますよね。(-_-;)

土、日曜日と連日並んでわかった事ですが、貼り紙が「本日の…」という毎回使えるフレーズの為、貼り紙が信用できないのだと思います。
開店と同時に入ってみれば本日の入荷はないとの事で、貼り紙通り、買うことはできませんでした。

こんな事もありました。
9時開店で、8時前に行くと大勢の人が並んでいました。8時過ぎたあたりで店員が出てきて、今日の入荷はないとの説明があり、みんな解散した後30分くらい経過してお店のそばを通るとまた同じように人が並んでいました。

これって、人の労力を無駄にしています。
原因はマスク入荷のお知らせがあいまいだからだと思います。
○○月○○日のマスクの入荷はありません。」とはっきりと記述するべきです。
ドラッグストアの店の方は、マスクを求める方の気持ちを考えて欲しいと思います。

医療ガーゼ

会社の昼休みを利用して、近くのドラッグストアにマスクが無いか行ってみると、マスクの在庫は無しでしたが、医療ガーゼが売っていました。

かみさんに連絡したら、「手作りするよ!」と言ってくれたので1個購入しました。
その後、医療ガーゼは売り切れました。タイミングよく巡り会えて良かったです。(*^_^*)

ガーゼマスクを作ってくれました

購入した医療ガーゼから、かみさんがマスクを作ってくれました。作り方はPinterestを参考にしたとの事で、ここでは省きます。
使用済みのマスクから紐とノーズワイヤの部分を再利用です。

かみさんの試算では、10mで8枚は作れそうという事でした。
手間がかかるので一人であれば最低2枚程度あれば良いかなと思います。

現在は、洗って使用する事ができるので、
マスクの心配はなくなりました。

ドラッグストアにマスクを求めて並ぶ事がなくなりました。
 これが一番良かったと思います。

かみさんに感謝!

開発業務の過去10年を振り返って

2020年4月の私は、
相変わらずシステム開発の仕事をしています。

過去10年振り返って思う事は、期待していたRailsの開発業務を結局一度も巡りあう事がなく過ぎてしまった事がまず最初に思います。
2010年以降、バージョンアップによって、netbeansのデバッグ環境が使えなくなった辺りから、railsの学習意欲が冷めてしまいました。
また、javaの開発業務も過去巡りあう事がありませんでした。私の場合はキャリア不足が原因だと考えています。

そもそもの話になりますが、開発の目的が本来、業務を円滑にする為の手段として行われるのならば、以下の機能が実装できれば使う側は、満足していただけると思います。
①簡単操作で早く答えを出してくれる。
②臨機応変に対応ができ望むものを出してくれる。
③信頼(安心)できるシステムである。

業務ノウハウを持つ方が、システムを熟知した上でシステム設計をしていく事ができれば、期待するシステムができると思います。設計書をベースにハードを選定して言語は何にするかを決定して、開発言語はそのノウハウのある方が、設計書を正しく理解した上で製造すればすべてに答えたシステムが作れるかもしれません。

しかし、これは理想論であって、現実は業務ノウハウを持つ方が、システム設計まではできなかったりします。費用を抑えるため、現システムをベースにバージョンアップする方向で検討する事もあります。
また、規模が大きくなれば、一人ではまとめる事が難しくなります。全ての希望を叶える為には、どこかで妥協していただく必要もありその折衝も簡単ではありません。システムや業務の事を理解できるかできないかは人次第ですが、
設計も製造も人を増やす事で、これまで以上のコストが増えてしまいます。
そのため、最終的に予算と納期を超えないようにする妥協案が出てくるのではと思います。

今後、システム開発の会社でなくても、会社として、業務知識とシステムの知識を共に教育して人材を育てる事を考えていかなければ、社内システムのリプレースが発生した時、希望通りのシステムは作れないと思います。

これからの開発業務を、フリーランスとして働く場合、設計と製造がともにできるようにならないといけないと感じています。
設計と製造について、仕事として比べると、製造の方が募集があると考えています。これは設計をするためにはその会社の業務を知っていないとできないので設計の募集は少なくなるのです。

客先が変わるとその業務を学ぶ事は時間がかかりますが、その過程で信頼されて設計も任せられるようになる事が大切です。技術も必要ですが信頼関係を築く事、人とのつながりを大切する事がとても重要だと考えています。

この考えをもって、精進していきたいと思います。

PassWordMaker Ver.0.1.0.0

パスワード生成ツール

最近、コロナウイルスが流行っているので、休みに外を出歩くことは控えています。今週末は、外に出歩くこともできず、、家でゲームをするのも、飽きてきたので、ちょっとプログラムでも作ろうかと思い立ちました。

で、題材にしたのが「パスワード作成ツール」。

今私が、管理しているサイトのパスワードの設定条件が、「英小文字」「英大文字」「数字」「記号」というパターンで最低1つ使用しないといけないということになっています。

今まで、つかっていたパスワード生成ツールでは、記号に対応していなくて、パスワードを生成後、記号を追加して使ってましたけど、ユーザが多かったりするとまぁ面倒でした。

それで、休みの土日(3/28,3/29)を利用してなんとか完成しました。

機能

  1. 「英小文字」「英大文字」「数字」「記号」を選択できるようにしました。
  2. 字数は、8文字、10文字、12文字、14文字 にしました。
  3. 100件パスワードを生成するようにしました。
  4. パスワードの文字を誤解しないように、読みかたを出力するようにしました

実現しなかった機能

  1. 「英小文字」「英大文字」「数字」「記号」というパターンで最低1つ使用するようにすること。
    (これは100件生成してそこから適当に選択する事で代用したいと思います)

拡張性

設定情報は、xmlファイルに記述していますので、項目をまるっとコピーして追加して、必要な設定を記述すれば、指定の文字だけで、パスワード生成が可能なように作成しています。(但し、プログラムの想定を踏まえて、記述しないとプログラムが動かなくなりますので注意してください。)

今後、時間がとれたら、少し解説文を記載したいです。

ダウンロード

2020/5/6
新しいバージョンを作成しましたので、公開は中止しました。

  • 上記ダウンロードサイトをクリックすると、firestorageのサイトが開きますので、お手数ですがそのサイトからダウンロードをお願いします。(本サイトにファイルを公開しているとダウンロード時に下記のようなメッセージが表示されるので、回避目的のため別のサイトを利用しています。)「このファイルは一般的にダウンロードされているファイルではなく、危害を及ぼす可能性があります。」
    →この内容の詳細は、Google Chrome でダウンロードがブロックされるを参照してください。
  • ウイルスチェック実行ファイルは、ESET Internet Security で、ウイルスチェックをしています。
  • ダウンロード対象ファイルPasswordMaker-0100.zip になります。
  • ファイルのハッシュ情報は以下の通りです。

名前: PasswordMaker-0100.zip
サイズ: 18268 バイト (17 KiB)
SHA256: E99ECE97BBF1CE62C0CDF43F2CAE728ADAD3A214B85BD35C2F084C6898674F5E

ファイルの同一性を確認する際はご利用ください。