Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

Flutter楽しいれす

前職の兼ね合いで、一緒になって作りたいサービスを5月から合間見て作っております。それにはスマホのネイティブアプリが必要だったので、Flutterで作り始めているのですが、これはすごいっすね。ありがとうFlutterを作ってくれたネ申エンジニア。儲かったら…

jqueryでappendした要素に対するイベントが必要なら、onを使おう

当たり前だけど、appendで後からつけた要素にはイベントは付与されない。onloadで指定してそのままだからね。が、jqueryのon関数を使うことで、動的にイベントをバインドしてくれる。あざーす。 だめなやつ $('.img_cancel_btn').click(function() { $(this)…

要件定義はアートなのでは

要件定義が死ぬとシステム開発無理、なので要件定義重要。それはそうなんだけど、上手くやるには人類には難しすぎた。要件定義はアートなのではなかろうか。再現性に乏しく、経験値や個々人のアンテナの感度によって、成果がブレる。それに、クライアントに…

kintoneに入門した学習メモ

kintoneはようやっとる。 基本のき RDB感覚でいえば、1テーブル=1アプリ RDBと違うのは、子テーブルをN件持つことが可能なので、親子関係を含めて1つのアプリになる 注文を親に持つ注文明細並びに発注明細などを持てる。 入力値に対する関数が少ない SUM, YE…

内製を支援するビジネスに再挑戦

会社を作った当初はそれを目指していたけど、しっくり来るツールがないのと色んな出会いがあってその方向性はトーンダウンしたが、内製を支援する方向に舵を切ろうと思う。PoCが増えてきたのもある。内製出来る規模のシステムを育てていくのが楽しかったし。…

SQLAlchemyのLazyLoadとEagerLoad

SQLAlchemyには、カラムを指定できるwith_entitiesという関数がある。こいつを指定してクエリを組み立てるときは、joinによって指定されたテーブルの中身を、予めもってきてくれるようだ。AlchemyのDebug=Trueで確認した。 db.session.query(Item).join(Cate…

レッツゴーFlutter

展示会運営のアプリをAndroid・iOSで各々ネイティブで作って運営しているが、やっぱりワンソースでいい感じにやりたい...2つ同じもの作るのは単純に辛い。メンテナンス・コストが単純に倍になるのがだるい。1から勉強したってのもあるけど、フルコミットでリ…

雑貨製造業向けの販売管理システムをリリースしました

Windowsフォーム→WPFに刷新して、空いた時間でコツコツ作っていた販売管理システムを、8月にリリースしました。他社利用も始まっており、後には戻れない〜。 技術的な話 フロントはWPF、バックエンドはPythonで、HTTPSでJSONのやり取りを行っています。MVVM…

CASE-WHENでWhere句を動的に組み立てる

Sql

kuniku.hatenadiary.jp日付で挟む時に、解約日があれば開始日〜解約日、なければ開始日〜終了日で挟みたいという事を実現するのに、ビューを作る必要があった。CASE-WHEN、幅が広い。 WHERE startdate >= curdate() AND curdate() <= ( CASE WHEN cancelDate…

Flask with Vue.js

やっと話が見てきた。qiita.comJavascript弱者だったため、Vue.js や Vue-cli 並びにJavascriptの開発環境とか、色んなことがつながるまで少し時間がかかった。 Vue.js のコンポーネント化にはCLIが必要 拡張子がvueのファイルにHTML/CSS/Javascriptをまとめ…

決算期で集計する場合は、決算月だけマイナスすればいい

Sql

3月決算の会社の場合、4月〜翌月3月までが1年という単位になる。これをCASE句でまとめるのはツライ。同じ年度であることさえわかればGroupByできる。4月1日〜翌3月31日を1年としたいなら、現在の日付から3ヶ月マイナスすればやっていける。2018年1月〜3月か…

PWAを覚えるぞ

販売管理システムのデスクトップアプリは、ほぼ出来上がってきた。日常業務をこなすには問題なく、あとは管理業務としての分析・帳票出力・権限管理などが控えているが、4月から試験導入予定。次の課題がスマホアプリ。主要の販売管理システムはクラサバなの…

WordPressの記事カテゴリを一括置換するSQL

プラグインとか入れるの面倒じゃないですか。WordPressには「wp_terms」(wp_はご自身のWordPressのプレフィックスに読み替えて下さい)というテーブルがあります。ここに記事のカテゴリ等が全て格納されています。記事のカテゴリと記事の紐付けは「wp_term_re…

販売管理システムのリリース間近

2017年10月頃からお話をもらっていた販売管理システム、MVPレベルでリリースできそうです。1次フェーズってやつですね。ファーストユーザである先方には圧倒的感謝。自分が雑貨メーカーの中で業務を回していたこともあり、良くも悪くも細かい点に気がついて…

DataGridのSelectedItemsを任意のListにキャストする

WPF

DataGridのSelectedItemsは、「System.Windows.Controls.SelectedItemCollection 」というクラスに値が保持されます。バインドされるオブジェクトが何が来るかわからないので、型はobject。これを任意の型のListにキャストする場合はこう書く。 this.DataGri…

ITコンサルティングってやる意味あるのかな

微妙にそんな事を感じてしまった今日この頃。意味があるというか、意義を見出すのが本当に難しいなぁと。企業がITに期待することなんて「売上UP」か「生産性向上」のどちらかでしかない。で、大変残念ながら、導入するだけで売上UPするITソリューションなん…

SQLAlchemyの結合条件の制御

モデル定義で外部キー定義する場合は、こんな感じでJOINできる。Flask-SQLAlchemyの場合です。 Order.query.join(OrderDetail, Customer, Destination, Item) こんな感じのSQLが生成される。 FROM orders INNER JOIN order_detail ON order.id = order_detai…

Python3でZIP圧縮する場合の文字化け対策

結論 頼む!UTF8がわかるアーカイバソフト使ってくれ!!qiita.comピンズドなエントリ。やはり人類はエクスプローラーによるZIP圧縮や解凍に困っていた。Windows7でUTF8がわからない場合に辛い。パッチがMSから公開されているが社内のセキュリティポリシーが…

頭でわかるけどなかなか腑に落ちないサブネットマスク

ネットワーク構築の勉強として、AWSで/24でVPC作って、その/24を複数のサブネットに分割する、みたいなのをやればいいのかな?30台前後の疑似ネットワーク環境を構築できるような、今どきの演習環境って無いかな〜

dockerでWordPressのコンテナを作るときに、全てのファイルをマウントする方法

要は、/var/www/htmlフォルダそのものをvolumesでマウントする方法です。 volumes: - "$PWD:/var/www/html"これでいけました。$PWDは、docker-composeしたディレクトリを指すようです。

Pyodbcで共有フォルダのMDBにアクセス

という検証をやったのでメモ。 pyodbcをpipで入れるだけ dsnのパスに全角文字があるとつながらないので、ネットワークドライブを割り当ててASCII文字だけに pyodbcはc++のライブラリが必要らしく、それを別途入れる必要があった。 【python】ライブラリイン…

Dockerのnginx-proxyでSSL化対応

何番煎じかわかりませんが。あっさり出来たのでメモ。 nginx-proxy 側の docker-compose.yaml version: '3' services: rg-proxy: image: jwilder/nginx-proxy:latest container_name: rg-proxy privileged: true ports: - "80:80" - "443:443" volumes: - ./…

IT企画をちゃんとやりたい勉強会

っていうのをやろうとしているんだけど・・・プロジェクトの話を載せていくとNDA的にデンジャラスだし、講義っぽくなると「オレの方法論はこれだぜベイビーロック・ミー・ベイビー」みたいな感じになって寒くなる。要件定義系はどうしてもメソドロジーの勉強…

IntegerFieldで「0」が入力エラーになる場合

validatorにDataRequiredを使っているせいです。InputRequiredに変更しましょう。

Dockerコンテナでリバースプロキシ

github.com nginx-proxyを使った構成 nginx-proxy webapp1 cakephp webapp2 python nginxはリバースプロキシの1つだけにして、後はサービスのコンテナを起動してリバースプロキシ側で色々頑張ろうと思ったのですが、nginx-proxyのDockerイメージも各々のWeb…

売上を顧客の締め日で集計するSQLを簡単に書く方法

Sql

detail.chiebukuro.yahoo.co.jp天才的なソリューションだった。驚いた。日付から締め日を引き算すれば、何月締めであるかを判定できるとは。シカクいアタマをマルくする必要性を痛感した。締め日集計のめんどいところは、締め日がN件あること。5日、10日、15…

2017年度の振り返り

自分一人が食っていく分には困らないけど、事業を作っていくのは本当に大変だなと改めて実感。サービスを販売して軌道に乗せるためには、年商1000万は無いとだめ。年間100万で売るなら10本、年間1万円にするなら100本売らないと販管費や広告宣伝費等を含める…

Androidでバーコードリーダーを作る

Andoridでは、だいたい2年ぐらい前からGoogle公式でバーコードをカメラで解析するAPIが搭載されています。Barcode Detection with the Mobile Vision APIこのAPIがクセがあって「カメラに写っているバーコード全てを認識できる」というものになっています。…

Prismに慣れてきた。これがMS標準だったらなぁ・・・

WPFアプリ構築の敷居もグッと下がったと思う。このライブラリがMicrosoft標準でないというのが、WPFの悲劇なのでは。Prismを使ってWindowsのデスクトップアプリを作っているのですが、だいぶ慣れてきた。かずきさんのレポジトリを見て写経すればまずOK。MVVM…

デスクトップアプリは、一周回ってWPFでいいじゃんと思った話

WPF

aroundthedistance.hatenadiary.jpこれは、2016年になってから前職の内製したWindowsフォームの密結合過ぎるデスクトップアプリを、WPFで刷新している時に書いた記事です。画面がレスポンシブじゃないのを除けば別にWPFやる必要なくねって書いていました。で…