Life is Really Short, Have Your Life!!

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

unittest.TestCaseでAttributeError

import unittest していて、何故かTestCaseが見つからないという状況が。何の事はない。ファイル名がunittest.py だったからだ・・・ また、同じディレクトリ内にunittest.pyがあった場合、そちらが優先されて読み込まれてしまうので注意が必要。 あわせて読…

WTFormsでCheckBoxをグルーピングして表示する

こちらにCustom Widgetを利用して、チェックボックスのリストを作るコードがあった。Checkbox WTForms Example (in Flask) · GitHubListWidgetのコードを見ると、ulかolでマークアップしてくれる。一瞬メンドイなって思ったけど、CSSで調整できる余地を残し…

JCOMのモデムは電源投入後に接続したMACアドレスを覚えているらしい

PCとLANケーブルで直接繋いでいる状態で、モデムのEthernet側と無線LANルータのWAN側をつないでみると、WAN側のIPが全く取得されない。PCに戻したらIP振ってくれる。・・・あんまり考えたくないけど、最後に接続したMACアドレスを記憶していて、自社のネット…

よく分かるFROM句の仕組み

Sql

例えば、こういう顧客テーブルを全件取得するSQLがあります。 SELECT * FROM customers 上記のSQLはこうやっても一緒です。 SELECT * FROM (SELECT * FROM customers) テーブルCustomersって要は全件取得した結果集合をFROMに設定してるんだよねっていうこと…

結局Evernoteに帰ってきた

メディアのネタ帳で情報集め→そこからの記事への整理を目的とした場合、Pocketではタグとアーカイブの有無でしかフィルター出来なくて不便すぎた。記事を本文だけ抽出しオフラインで読めて、その内容を見ながらスマホで記事を作れてノート全体を検索できるみ…

IT戦略(企画)立案から要件定義までに必要なことがわかる本

僕の問題意識 is これ。4年半も前に思ってたこと。「Excelでとりあえず業務を回してきたんですけど崩壊寸前なんでシステム導入したいんですが、構想立案を起点にしてベンダーに何をどう伝えればお互いうまくまわるのか」というテーマの書籍が必要だ。コレを…

最強ノマド環境は羽田空港で決まりだ

現在の事業内容では固定の事務所を必要としないので、帰宅がだるくない距離で作業場所を色々探していました。その結果、喫茶店ならルノアール系列、純粋に場所を指定するなら羽田空港という結論が出ました。 ルノアール AS No.1 客層にミドル〜シニアエイジ…

独立して変わった、いくつかのこと

昨年6月に法人作ったので、もうすぐ8ヶ月が経過しようとしています。独立に興味がある人は一定数いると思うので、独立すると何がどう変わるかについて思いつくまま書きます。 定時がない 常駐していたら話は別ですけど、僕はほとんどの仕事を持ち帰りでやら…

エンジニアの実装力をコンサルティングに活かすということ

会社を設立して、あっという間に半年が過ぎました。自分が食べる分にはお陰様で困ることはなく、色んな試行錯誤が出来ています。その中で最大の試行錯誤は、当方が今後やっていきたいと考えていた「非IT系中小企業を対象に、IT技術を業務や事業運営に活かす…

Segueが2回呼ばれてしまったらSegueをVCから貼り直す

StoryboardでUITableViewからSegueを伸ばしていると、VCのライフサイクルとdidSelectAtRowのタイミングで2回呼ばれてしまうようです。こいつを治すには、Segueの貼り方を変えるだけ。VCから対象のViewControllerに向かってSegueを貼ります。あとはdidSelectA…

自分で敷いたレールを歩みたいよねっていう話

この記述、すごくわかる。僕もそう。だから独立した。同じような考えの人っているもんだ。 「自分たちのサービスで勝負したい」という想いがどうしても強く、既に誰かが成功させたビジネスに乗っかって、更に成功を拡大するためにプログラマーとして働くとい…

おっさんの説教という最凶のバズ

レールに乗った人生は嫌だの石田さんの炎上っぷりをみて、改めて感じたこと。おっさんが説教したくなる内容ってはてブを中心に火がついてバズる。すごく。イケハヤさんも燃え上がったのは若くてソコソコ頭が回るのに全く明後日の方向を向いたコンテンツを量…

ラーメンが苦手

どうしても食べ飽きてしまう。サッポロ一番塩ラーメンだけは好き。温かいうどんや、リンガーハットのちゃんぽんとかは好きなのに。ラーメンだけが苦手。恐らく脂が原因だと思う。ズドーンと脂が前に来るのが苦手。二郎系はもう色々無理。スープも味付けが濃…

筋書きを書くこと

どうもこれが一番好きみたいだ。ストーリーを書くといってもいいか。プログラミングが好きなのも、プログラミングで1つの筋書きを書くから。文章の読み書きが好きなのも、筋書きを考えるのが好きだから。やきうが好きなのは、そこに筋書きがないから。これ…

仕様書策定の良いツールはないものか

やっぱりOfficeソフトを使っている会社さんが多く、画面設計書なんかはPowerPointで書かれていたりします。当然のことなんですけど、「この画面項目はDBのどのテーブルのどのカラムに該当するか」がわからないとプログラムを書くことが出来ません。そういう…

古いiPhone/iPad に対応する時はビットコードに気をつけよう

小ネタです。Deployment Targetを8.0にしているにもかかわらず、iPhoneだと5s以上でないとApp Storeでインストール出来ないとお客さんから連絡がありました。調べてみると、ビットコードが有効になっているとそのような現象が起きるとのこと。64bitに不対応…

ヒットの延長線上がホームランと思った話

ひとり社長の経営の話です。ある程度は前職でわかっていたことなのですが、自分以外誰もいない状況で仕事をとってくる立場になると、改めて感じることがいろいろあります。自分なりにある程度手応えがあるお仕事の引き合いがあったとして、自分にとってベス…

職業ルポ系の本が好きなんですよ

僕はコミックエッセイが好きなんですけど、特に好きなのは職業の舞台裏を書いてあるやつ。大阪のデパ地下とか、大衆演劇の舞台裏とか、自分が一生やる機会のないお仕事の舞台裏を知るのが好き。で、これはコミックエッセイじゃないんですけど、特に面白かっ…

小さな会社におけるNo.2の存在

最近この重要性をすごく感じます。小さいと言っているのは、社員で20人以下の所かな。笛吹けども踊らず、っていうんですけね。No.2が不在の組織は本当にそんな感じ。社長は自社のことを一番良く知っていて、危機感と課題を抱えていて、常に会社を良くしたい…

新しくメディアをやりたいなと思ってる話

情報システム部門のためのメディアを作りたいなぁ・・・と思っています。まだ、思っているだけです。10年前からITPr●で語られている内容には全く変化がないし、エンジニアに比べて成果物に秘匿性があるので透明性が無いから、何をやっているのか何がやりがい…

携帯ショップの店員さんは難しい仕事だと思った件

携帯のMNPをしたくて予約番号をゲットしようと思った時の話。 名義が違うせいもあって、すげーめんどかった。 委任状をネットで落として日付を記入しなかったら無効と言われた 委任する人間が全部埋めてこないと受け付けられないというルールらしい 委任状を…

もうすぐ本を出します

Pythonを題材とした、プログラミングの入門書です。8月刊行予定。今月いっぱいで全ての作業を終わらせる見込みです。僕が右も左も分からない頃に「こんな本が読みたかったな」という思いを込めて、丁寧に書きました。かわいいイラストもたくさんあります。先…

自分を大切にするということの意味

やっとわかった気がする。自分を大切にしない人間は周囲を不幸にするし、何をやっても上手く行かないと思いがちで自虐心からどん詰まることが多い。じゃ、自分を大切にするってどーゆーことなんだろうなぁって考えてみたら、「自分の人生に起きる様々なこと…

SIerの弱体化で誰がビジネスアプリケーションを作るのか問題

ずっと同じことを考えている気がするけど、微妙に違うしれないので書くだけ書く。人月で工数積算してマージンを抜くビジネスが、そもそもマージン抜けるほどの工数で値段付けするのが通用しなくなってきたよねというのがここ数年の変化だとしましょうか。人…

輸入雑貨販売は大氷河時代に突入

雑貨小売の「プラスハート」が民事再生法申請、負債38億円 国内倒産 - 不景気.com 健康コーポ、パスポートを子会社化 株式65%取得、雑貨事業を強化 :日本経済新聞前職では雑貨業界にいたので、上記のニュースには驚きました。プラスハートさんもパスポート…

見切り千両、損切り万両

etc

ええ言葉や…車の運転でよくこのことを僕は例える。アクセルを踏むのは誰でも出来る。車の運転で最も難しいのはブレーキング。ブレーキングのタイミング、力の入れ加減などによって車に与える影響は全然違うし、プロの世界ならタイムに大きく差が出る。何かを…

WebAPI連携可能な販売管理ソフトが少なすぎる件

PCAクラウドぐらいしか知らない。cybozudev.zendesk.comAPI連携無料で出来る販売管理システムがあれば、すげーいいと思うんだよね... 世の中の販売管理システムはLAN前提のクラサバアプリしか無いし、Kintoneで頑張るのは無理じゃん。Webアプリだったら無料…

Kintoneを触ってみたら想像上に出来ることが少なかった件

最近、仕事で使いたくてKintoneを触り始めています。想像をはるかに超えたレベルで、できることが少なくて驚いています。これでアプリ作って納品出来るんかな... アプリについて Kintoneではアプリを作ることが出来ます。このアプリと言われているものをぶっ…

業務系アプリでWPFを使うメリットがなかった件

非常によくわかるお話だった。特にここ。kiwosuke.hatenablog.com MVVMの原則に従って一生懸命、コードビハインドからコードを追い出したところでほとんどメリットが感じられません。 業務系のアプリはデスクトップのテンキーをベースに操作ができることを求…

WPFのXPSDocumentの横向き印字

Programmer's Report: WPF で横長(Landscape)印刷をするを参考にしつつ。こんなコードで横向き出来ました。 var printQueue = new LocalPrintServer().GetPrintQueue( "YOUR PRINTER NAME"); PrintTicket ticket = printQueue.DefaultPrintTicket; ticket.Pa…

C#でプリンタの接続ステータスを拾う

C#

こんな感じで拾えますので、どぞ。System.ManagementのDLLに参照を追加してImportしておいて下さい。 public static bool IsPrinterOffLine(string printerName = "") { ManagementScope scope = new ManagementScope("\\root\\cimv2"); scope.Connect(); //…

Windowsアプリの自動テストはFriendlyが良さげ

WPFでデスクトップアプリを作りまして、画面操作のテストが非常にめんどくさい。Seleniumに該当するものが無いかを簡単に調べてみた。大きく分けてこの3つがあるようだ。 UIAutomation Winium Friendly UIAutomationというのはMSが標準で用意している画面操…

営業事務(マーケ担当)はSQLを覚えるべきだし、2時間で覚えられる。

Sql

qiita.comめっちゃええ話。これはすごく意味がある。細かいツッコミをすれば、上記はSQLを簡単に投げられるようになった話でありSQLを駆使できるようになったわけではないのだけど、そのうち覚えるやろ。弊社では商品企画を担当する社員がおりまして、Excel…

プログラミング未経験者がSQLの習得に挑戦するでござる

実妹と甥っ子が、SQLの習得に挑戦するでござる。 select itemcode, name, lot, price from items where itemcode like '%MA-080%' order by itemcode asc 元々はこんなSQLを書いているのを実妹が見ていて「これなら私でも出来そうだから教えて」と話が来た所…

WordPressのwp_cronの実行スケジュール雑過ぎワロタ

WordPressにwp_cronとかいう関数があるんで、おおデーモンになってくれて空気読んでくれるのかなとおもいきや、そんな訳がなかった。 処理がスケジューリングされていても、サイトにアクセスがなければ実行はされませんし、アクセスのあった時間が基準となる…

UNION句を久しぶりに使ったのでメモ

Sql

テストデータを整備するのに、YというテーブルのIDを外部キーとして持っているA〜Dのテーブルのレコードを集めて1つの表にする必要がありました。こういう時はUNIONの出番です。 select zzz.id, zzz.name from ( selct y.id, y.name, from y_table as y joi…

SQLのFROM句はテーブルである必要はございません!

Sql

どうもそのように思っている方が多い気がしたので。FROM句に指定できるのはテーブルそのものではなく、SELECT文を発行した結果でも指定できます。派生テーブルという表現をすることが多いみたい。PostgreSQLのマニュアルでもそんなような事が書いてあります…

Pythonでdictを比較してassertしたい

単体テストのコードを書いていて、そういう局面にぶち当たりました。結論から言うとこれでOKです。 assert all( (k,v) in source_dict.items() for (k,v) in dest_dict.items() ) こちらを参考にしました。stackoverflow.com

SQLAlchemyでDB固有の関数を実行する

難しいことはありませんでした。以下はMySQLのtruncateという切り捨ての関数を使う例です。 rs = Item.query.\ filter(Item.maker_id == param['maker_id']).\ filter(func.truncate(Item.gedai / Item.price, 1) < 0.6).all() SQLAlchemyのfuncオブジェクト…

Linqで全てのオブジェクトの値を変える

C#

stackoverflow.com collection.ToList().ForEach(c => c.PropertyToSet = value); Linq is Cool.

iPad mini4 を活用すべく検討していること

Macbook Pro Retinaが正直重たいので、出先ではiPad miniのSIMフリーモデルに切り替えようとしています。僕の利用用途の90%は満たしてくれるので。 メールとネット 各種データ(Googleドライブ) Excel/Powerpoint Evernote Terminal(SSH) Markdown editor 足…

お友達からのお仕事を逃げるように断った話

数年に1回思い出したかのように連絡がある学友から、Web制作をどう進めるか悩んでる的な話があった。こちらで簡単な資料を作って内部で検討する分にはええやろと思って持って行ったが、その学友の話している内容がさっぱりわからん。自分にはどう進めていい…

顧問エンジニア育成入門、作るしか無いかもしれん

この種の議論は僕が10年前に通った道だ。10年間何も変わっていない。 今のIT技術者への期待論を見ていると、まるで建築士に、「何でも良いからカッコいい家を作ってよ」とそっくりかえって言い放つ住人の姿のようだ。自分がどんな暮らしをしたいのかも言えな…

VLOOKUPって検索値が含まれている列は「左端」じゃないとダメなんだ...

30分ハマった。知らなかった。

MySQLでサブクエリが遅い時に使える、派生テーブルでのJOIN

MySQLのサブクエリは(何故か知らんけど)相関クエリ扱いになるので、外側のクエリの件数に対してサブクエリで取得した数のループが走ります。こんなコードだろな、きっと。 for v in outer: for y in inner: #joinできるkeyがあればbreak しかしながら、特にU…

SQLAlchemyでクロス集計

こんな感じでできます。 import sqlalchemy from case, func rs = session.query(User,case[ func.sum(case([(User.blood_type == 'A',1)],else_=0)).label("A"), func.sum(case([(User.blood_type == 'B',1)],else_=0)).label("B"), func.sum(case([(User.b…

ContainerViewでのViewController切り替え

よくありますよね。SegmentedControlでスイッチを切り替えるタイミングで、ContainerViewのViewControllerを切り替えたいみたいな。あるある。先駆者の方々を探してみた所、下記のエントリが最も簡単に実行できた。ソースコピペして動きます。spin.atomicobj…

UICollectionViewの背景が真っ黒になる

デフォルトの背景色が真っ黒らしい... UIColor.clearColor()を呼べば解決です。なんなのほんとw

EurekaでカスタムのViewControllerをPUSHしたい

Eurekaには「presentationMode」というプロパティがあって、これを実装しているRowに限りPushしたい対象のVCをカスタマイズできる。論よりコード。 Push CustomViewControler on Eureka Rowこれが一番簡単。

mysql5.7で「is not in GROUP BY clause and contains nonaggregated column 」

SELECT list is not in GROUP BY clause and contains nonaggregated column '' which is not functionally dependent on columns in GROUP BY clause上記のようなエラーが出た。なんだろうと思ってたら、何の事はない。GroupByで集約してSELECTで指定されて…