/// BANGBOO BLOG ///
■21/2/10 7:30PM
Python
おッPythonやるのか?

ファイル拡張子oppython.py デフォUTF-8、全部オブジェクト(list,dict,set等のミュータブルなら参照になる点に注意、必要ならcopy())#コメント、ドキュメントストリング(三連引用符):"""そのまま表示""" print mymod.__doc__で見れる変数型不要:p = 500 * num、でもキャストは必要、定数はない文字繰り返し、キャスト:"文字列" * 4 + str(p) + "Hi\nお元気ですか?\nSee u"raw文字列でescしない:print(r"インストール先は c:\\code\python\bin です")
 正規表現のrも同意 re_result = re.match('hel', r'hellow python, 123, end.' )
  if re_result: #None以外という意味で、Noneはいわゆるnull、Pythonにnullはない文字数:len("東京都")→3
文字列[開始:終了]→→ str = "Flower" print(str[1:4]) → low文字列 % (値1, 値2, ...)→→ num= "10進数では %d 、16進数では %x " % (num, num)
"xxxx{index:書式指定子}xxxx".format(値)→→ "名は{:<8s}で年は{:>3d}で".format(name, age)f"xxxx{値:書式指定子}xxxx"→→ f"名は{name:<8s}で年は{age:>3d}で" 0/空の文字列''/値なしはfalse、Noneは? x = None x is None→→true?//→除算切り捨てし整数、**→べき乗
関数宣言はdef kansu(): で中で宣言する変数はローカル変数
 関数外で宣言された変数はグローバル変数でどの関数の中でも扱えるようになる
 なお関数内でもglobal henでグローバル変数を宣言できる Pythonでのグローバル(global)変数の宣言方法 | UX MILK
返り値複数はcsvでタプルになる、リストが楽か? return a,b → (a, b) あるいは return [a, b] → [a, b]
def func(a, b): return a, bresult = func() result[0]がa、result[1]がbtry/exceptを関数内で設定することも、逆に関数呼び出し時にも使用ができる、else, finally, raiseも使う、エラーが出ても止めたくない場合は try-except Exceptions as e、逆にexceptを入れなければ止まるので安全try: get_all_transfer(project_id)excerpt Exception as e: print(e)置換は左辺が要る?要る a = a.replace('x','')
とほほのPython入門 - リスト・タプル・辞書 - とほほのWWW入門 (tohoho-web.com)
Pythonの辞書とリストとクラス 複数情報の受け渡し|みはみ|note
リストa=[1,2,3]はmap(), filter(), reduce()等が使える
 a=a.append()とかa=a.extend()は値がないんで駄目、単純にappend(b)やextend(b)で左辺不要
 取得:a[0]、for v in a:
 リストの合体:list_a += list_b
セット型set={1,2,3}は重複や順序や添字の無いリスト、set(list)でキャストし重複を無くせる、ミュータブルは格納できない
 取得 for v in a:
tuple→タプルは定数リスト、更新無しならリストより速い a = 1,2,3 a = (1, 2, 3)
 取得:a[0]、for num in a:dict→辞書は連想配列みたいな{a:1,b:2}はitems(), keys(), valus(), iteritems(), get()を使える
 Python | 辞書に含まれるすべてのキーと値を取得する (javadrive.jp)
 取得:dict_a['key1']、for k in dict_a.keys(): for v in dict_a.values(): for k, v in dict_a.items():
 dictの合体:dict_a.update(dict_b)
クラス→例えば●●クラスを宣言しsampleインスタンスを生成し、getter/setterで変数に入れて置く
 取得:sample.key
BigQuery→別名を付ければ名前で取得できるが、インデックスでも取得できる(これ何?)
 取得:for row in query_job: →row[0], row["t"]
lambdaは無名関数?
str_w = input('何か入力してください-->') #入力させた値を取れるが数字もstr__iter__()はnext()を持つオブジェクトを返し、next()は次の要素を返し、最後に達するとStopIteration例外を返す?yield はイテレータを返すジェネレータを定義?@デコレータは関数を実行する前後に特殊な処理を実行したい場合?withで終了処理を指定できる、ファイル読込とその後の処理とか
assertや__debug__はテストで機体通りかを確認する?
passは中身の無い関数やクラスを作成しkara.p=1で粋なり属性追加等ができる
execは引数の文字列をPythonとして実行 exec "print 'Hello'"
delはオブジェクトを削除 del x, y, z
継承やオーバーライド class MyClass2(MyClass):
多重継承class MyClassC(MyClassA, MyClassB): で纏めて使えるようになる
class MyClass:    """A simple example class"""  # 三重クォートによるコメント    def __init__(self):  # コンストラクタ        self.name = ""    def __del__(self): #インスタンスが消滅する際に呼出でコンストラクタ        print "DEL!"    def __str__(self): #文字列化        return "My name is " + self.name    def getName(self):  # getName()メソッド        return self.name    def setName(self, name):  # setName()メソッド        self.name = name
class MyClass2(MyClass):    def world(self):        print "World"class MyClass3(MyClass):    def hello(self):  # 親クラスのhello()メソッドをオーバーライド        print "HELLO"a = MyClass()  # クラスのインスタンスを生成a.setName("Tanaka")  # setName()メソッドをコールprint a.getName()    # getName()メソッドをコールprint a  #=> My name is Tanaka 文字列化b = MyClass2()  #継承b.hello()    #=> Hellob.world()    #=> Worldc = MyClass3()  #オーバーライドc.hello()    #=> HELLO
super()を使ってオーバーライドする super()は基底クラスのメソッドを継承した上で処理を拡張 super().__init__(x、y)が使えるif __name__ == "__main__": モジュール時の勝手実行を抑える  import helloの時hello.py 内部での __name__ は "hello"   python hello.pyのような実行時hello.py の内部の __name__ は "__main__"
from math import pi, radians→mathモジュールから特定のオブジェクト(関数/変数/クラス)をimpo(math.piみたいに書かず省略できる)import urllib.error→urllibパッケージからerrorモジュールをimpo、パッケージはフォルダimport numpy as np→別名でしか使えなくなるnp.array()とかで モジュール=ファイル名.pyでファイルをimpoしている
from {another_file} import {ClassName} another_file.pyがファイル名 class ClassNameがクラス名
from {パッケージ:ディレクトリ} import {モジュール:ファイル}
 ちゅー書き方もできるらしいが、どっち?impo順:標準ライブラリ>サードパーティライブラリ>ローカルライブラリ(自作のライブラリ)
関数や変数:小文字スネークケース(sample_func)クラス名、例外、型変数:キャピタルパスカルケース(SampleClass)定数名:大文字アンダースコア区切り(SAMPLE_CONST)モジュール名:小文字(samplemodule, sample_module)パッケージ(フォルダ)名:小文字。アンダースコア非推奨(samplepackage)

インデントは半角スペース4つ1行半角で79文字以内トップレベルの関数やクラスは2行開けるクラス内部では1行ずつ開けてメソッド定義
ドックストリングでクラスや関数についてコメントする(慣習的にダブルクォート)
 コード中は処理についてのコメントをなくし関数化とdocstringで参照するように
 「コメント(#)とdocstring(""")の違いは?」コメントとdocstringについて
 [Python]可読性を上げるための、docstringの書き方を学ぶ(NumPyスタイル) - Qiita
デバッグの方法案
print(type(v)) でどんなメソッドを持っているか等を探る
print(v) をコマンド前後や流れで沢山仕込みでどこでエラーが出ているか探す
print("creds:")print(creds)print("type(creds:")print(type(creds))print("vars(creds:")print(vars(creds))print("creds.keys():")print(creds.keys())print("dir(creds):")print(dir(creds))print("creds._dict_:")print(creds.__dict__)

is not subscriptableのエラー 添字不可エラーでリストでないのにリストとして入れようとしている
※参照になりコピーされない、必要ならコピー(値を入れた時点で参照が外れるので実際問題少ない?)a = []b = ab.append(1)print(a) #[1]https://qiita.com/ponnhide/items/cda0f3f7ac88262eb31ehttps://nishiohirokazu.hatenadiary.org/entry/20120125/1327461670

環境変数を扱う
 import os print(os.environ["HOME"]) ホームディレクトリ、LANGでja_JP.UTF-8とか os.environ["PHASE"] = "staging" 環境変数に代入できるのは文字列だけ del os.environ["PHASE"] 削除コマンドラインの引数を扱う python3 sys_arg_test.py a 100
  dst_prj = sys.argv[1] (aが入っている)  sys.argv (['sys_arg_test.py','a','100']
Pythonのリストと文字列を相互に変換する方法まとめ | HEADBOOST
→リストをStrに変換してSQLにする場合For文が良い(Pythonの書式とSQL書式のコンビなので丁寧に対処するため)i = 0
v = "["
for s in list_v:    i += 1    if i > 1:        v += ","
    v += "'" + s + "'"
v += "]"SQL = "insert into aaa (aaa) value ({v})"

※テキスト選択 Shift↑or↓ で行全体 home(+fn)で行頭、end(+fn)で行末移動

【基礎一覧】Pythonの基本文法を全て解説してみた!【初心者】 (suwaru.tokyo)
Python基本文法まとめ - Qiita
とほほのPython入門 - とほほのWWW入門 (tohoho-web.com)Python入門 ~Pythonのインストール方法やPythonを使ったプログラミングの方法について解説します~ | Let'sプログラミング (javadrive.jp)
Welcome to Python.org

HTMLの中に少し埋め込めず、基本的にプログラムの中にHTMLを埋め込む:CGI(Perl然)
 さくらインターネットでPython CGI (mwsoft.jp)
WSGI Python で WSGI (Web Server Gateway Interface) に従ったシンプルな Web サーバで Hello World - Qiita
Python用Webサイト用途フレームワーク:Flask(軽量)、Django
 WSGI について — Webアプリケーションフレームワークの作り方 in Python (c-bata.link)
 GCPでどう使うかは不明だがホスティングは↓
 ウェブ ホスティング | Google Cloud 静的ウェブサイトのホスティング  |  Cloud Storage  |  Google Cloud

str.split() 区切り文字で分割しリスト等に入れる Pythonで文字列を分割(区切り文字、改行、正規表現、文字数) | note.nkmk.me
print('Sam' in 'I am Sam') # True 任意の文字列を含むか判定: in演算子 Pythonで文字列を検索(〜を含むか判定、位置取得、カウント) | note.nkmk.me
==============
ここで動かせるgoogle colaboratory→ Colaboratory へようこそ - Colaboratory (google.com)
コラボラトリはマークダウン Qiita マークダウン記法 一覧表・チートシート - Qiita
半角スペース2個で改行#の数で見出し*で箇条書き数字と.で番号を振る、- でリスト* or - or _ を3つ以上で水平線[ ]でチェックボックス、[x]でチェック| td | td | td |でテーブル**aaa**で太字、*aaa*で斜体~~aaa~~で打消し線[タイトル](URL)でリンク```でコードの挿入、`でインライン挿入> or >> で引用
 [^1]で注釈\バックスラッシュでマークダウンのエスケープ
==============
宗教論争(事実は同じでも他人の認知は違うので意味なし
if self.flag_ok == 1 and self.mode == '1'
↓一見で分からんなら変数名を工夫してこうやんな
if self.file_verify_completed and self.mode == GRANT_PERMISSION:

マジックナンバーを使わない(数字の方が曖昧性が無い場合も)STATUS_ERROR = -1STATUS_SUCCESS = 0self.status_error = STATUS_SUCCESS
with構文で処理の前後でコンテキストマネジャ__enter__、__exit__が使われる __enter__メソッドで事前処理 __exit__メソッドで事後処理with ファイル操作や通信などの開始時の前処理と終了時の後処理など必須となる処理を自動で実行try/finallyみたいなもの、最初と最後に何かしてくれるclass a(object): def_enter_(self): print 'sss' return 'sss111' def_exit__(self, type, value, traceback): print 'ok' return Falsewith a() as s: print sssssss111okPythonのwith文の正体 (zenn.dev)
初期値をエラー値にし、業務判定エラーでステータスを設定したらreturnで抜けるdef exFunction(self): self.status_error = STATUS_ERROR try: if XX = AAA: self.status_error = STATUS_XX_ERROR retrun self.status_error = STATUS_SUCCESS retrun except: ~エラー処理、ステータスは変更しない
エラーメッセのハードコーディングを避ける方法(ハードが場所と内容が分かり易いかも)MSG_ERROR_OLD_EMAIL = "Error: 旧メール%sです\n"e_message_list.append(MSG_ERROR_OLD_EMAIL % (old_email))self.error_message = '\n'.join(e_message_list)

ケチって分厚い本1冊にしたが全然進まぬ、薄い奴星e、?チッPython、誰がJSONじゃ~い、チェーンソー魔わすっぞ
続編、、モジュールとかmportとか、
/// BANGBOO BLOG /// - Python Python
(More)
Comment (0)

■21/1/27 3:00AM
Framework
群雄割拠か弱肉強食か政治解決か遣りたい放題の中、当事者なら自然に身につくだろうが時代に参加していない貴殿には到底分からない、シルバーブレットはなく結局は愚直しかない、どう愚直になるか/どう立ち回るかを発見するのがフレームワークだ、もしトレンドを感じればそれに乗ればよい、他にシーズがあればプロダクトアウト、ニーズがあればマーケットインだ

■フレームワーク
3C(Customer/Competitor/Company:自社)
SWOT(Strength-Weakness x Opportunity-Threat)
PEST分析(Politics/Economy/Society/Technology)
3M(人物金、Men/Material/Money)3M(ムリ:負荷が人に掛かる/ムダ:資源が余り浪費しコスト高/ムラ:負荷と浪費が交互)
7S(<3sはハード>Structure/Strategy/System、<4sはソフト>Shared value:価値観/Skill/Staff/Style:文化)
VRIO(Value/Rarity/Inimitability:模範困難性/Organization)
MVV(Mission:使命why/Vision:将来像what/Value:価値観how)
マーケ4P4C(4p:product/price/place/promotion, 4c:customer cost/customer cost/convenience/communication)
QCD(Quarity品質/Costコスト/Delivery納期)
ポーターの5forces(Competitive Rivalry:競争企業間の敵対関係/Supplier Power:売り手の交渉力/Buyer Power:買い手=顧客の交渉力/Threat of Substitution:代替品の脅威/Threat of New Entry:新規参入業者の脅威)コトラーのSTP(segmentation:顧客やニーズや特性等で細分化/targeting:セグメ選択/positioning:勝てる位置取り)
競争戦略ポジショニング (コストや差別化や集中戦略等で業界ポジを練る)
PPM:product portfolio mgt(市場成長率xシェア->問題児:花形に育てる/花形:継続投資/金のなる木:投資無し/負け犬:撤退検討)
製品ライフサイクル:PLC(導入期:認知度と需要up/成長期:製品多角化販路拡大/成熟期:差別化とコストダウン/衰退期:選択と集中効率化)
イノベータ理論(Innovators/Early Adopters/Early Majority/Late Majority/Laggards:16%キャズム:段階で戦略を変えていく)
RFM(recency/frequency/monetary->優良顧客を見つけよりマーケ)
ポーターのバリューチェーン(企画/開発/購買/製造/物流/販売/サービス/人事の各々での価値->VRIOで分析)
アンゾフの成長マトリクス(既存市場浸透:既存市場x既存商品/新市場開拓:新規市場x既存商品/新商品開発:既存市場x新規商品/多角化:新規市場x新規商品)
TOWS(クロスSWOT分析:SWOTをSWOTする->SWOTで現状分析、さらにSWOTで戦略化)
SCAMPER(アイデアの展開->substitute代用/combine結合/adapt応用/modify修正-magnify拡大/put to other uses転用/elininate削除-minify削減/reverse逆転-rearrange再編集)
ECRS:イクルス(改善策->排除/統合/交換/簡素)

ギャップ分析(As Is/To Be<-間にaction)
特性要因図:フィッシュボーンチャート(要因を網羅的に調べる、他にも親和図法やマインドマップ)
意思決定マトリックス(縦軸に候補、評価基準を横軸、評価基準に重みをつけて点を出し、合計の総合点で判断)
CS/CE分析(Customer satisfaction/Customer expectation->各機能のcsをceに合わせる、ce高cs低の改善)
リスク評価マップ(インパクトx不確実性、インパクト大に対処し小は静観、不確実性が高いと注意が必要<-pest/5f)
AIDMA...etc...
ユダヤの商法:78対22の法則で上手くいく、契約主義で約束を守るケイパビリティ戦略:ビジネスプロセスを能力化、スピード/整合性/明瞭性/俊敏性/革新性が上がる、CEOがツールや組織を検討ポジショニング戦略:競合との位置付け、STP分析をしどうポジションを取り差別化するかタイムベース競争戦略:時間こそが希少資源、スピードが一番顧客満足が高い、数稼ぐアダプティブ型戦略:多くの新しいアプローチを試し最も有望なものを拡大展開、PDCA、やらな分からん時代
ランチェスターの法則:
奇襲/武器/集中、逆にシェアトップで武器も兵数あると模倣し広域戦 自分を知る、競合を知る、シェア1位を知る 地域限定、顧客志向営業、販路、陽動奇襲の企画、強みに集中
■逆転の競争戦略競合の弱みを攻撃するのがセオリーだったが、イノベーションのジレンマでひっくり返す(客の意見を聞きすぎると安い慣れた商品を求められるが自ら革新を進め避けるべき、サンクコストや業界しがらみを乗り越えるべき)
業界破壊者(枠を壊す)/侵入者(他業種からの参入)/挑戦者(競合が攻撃)がトップシェア企業を脅かす1)企業資産の負債化=リーダーが持つ競争優位の源泉を攻めリーダーが蓄積してきた優位な経営資源を価値のないものにし負債にしてしまう戦略:モスは店内で調理しマックより優位に、あるいは逆にセントラルキッチン2)市場資産の負債化=リーダー企業に有利に働いていた競争のルールを変更し、顧客が持つ資産(ソフトウェア、交換部品など)を使えなくする戦略:VISAよりQRのPaypay3)論理の自縛化=安易に追随するとリーダー企業が発信してきたメッセージと矛盾することになり、企業イメージを低下させてしまう戦略:手作り丁寧より100均4)事業の共喰化=リーダー企業が強みとしてきた製品・サービスと共喰い関係にあるような製品・サービスを市場に出すことで、リーダー企業内に追随するか否かの不協和音を引き起こす戦略:カーシェア
ランチェスター戦略、マイケルポーター競争優位の戦略
ーーーーーーーーーーーーーーーーーーーーーーーーーー
■現代思想
ニーチェ:ルサンチマン、奴隷道徳<>快と力の高揚感が生を肯定、ニヒリズム
マルクス:神格化、砂漠の水を都市で売ろう、紙一枚が命より大事…社会的関係の錯覚
フロイト:無意識<>理性、理性は単なるハリボテであり無意識が主人で自律神経も管理 エス(快楽主義)>自我:Ego(調整役)>超自我:Super ego(親/社会/会社の価値観の同一化)
  親や社会等から裏切られると同一化できずトラウマ、葛藤を無意識化に隠したい
ユング:Collective unconscious(人類は人種に限らず同じ記憶を持っている)

ーーーーーーーーーーーーーーーーーーーーーーーーーー
■リーダーシップで面白いほど結果が出る本
(仕事の種類)リーダシップ分類:指示/率先/構想/合意/育成/関係構築
  リーダシップ→変化、コントロール→維持(基本どちらもPDCA)
  若手に新しい変化のリーダシップが期待されている
(担当)鷹の眼と蟻の眼(大きな視点の戦略+現場の改善)
(頭脳)1)構想力、2)推進力、3)育成力
  →アイデア発表、ダメ出し、頼りにされる
1)構想力:戦略をゲームとして導入する、仕事の意味を伝える、今を楽しむフロー没入
2)推進力:手段の目的化を防ぐダメ出し、メンバーに寄り添う:会話の時間が足りない、現場のアイデアや成功事例を吸い出し
3)育成力:個々人の心のベクトルを少しプラスに、共通言語の定着(これがないと心の障壁や違和感)
(発想は言葉から、リーダは言葉が大事)

ーーーーーーーーーーーーーーーーーーーーーーーーーー
JCOM回線不安定:インターネット回線の信号レベルはタブレットで通信でモデムに入って測れる宅外でモデムを繋いででも宅外で調査しろ同時接続数等々でスロットリングしているだろうが

Comment (0)

■21/1/21 9:21PM
Who watches
[Click for image]
心拍数は実感でよいが、アポ―に心電図機能が付くらしい、酸素濃度も確認ができる
それらの機能と、GPSとベルトを確認してみたいな、42800円から、無理だ
よく分からんがGPSマップ等も思うような感じで使えそうだ、iPhone要る

=========
2014-04-12に投稿 GPS Watch
[Click for image]


ブタさんマークのBryton Cardio40。格安で入手できた。
Garmin910xtと機能が似ていて薄くて軽い。いいよコレは、ヨシオ。
ベルトはANT+に対応しているのでガーミンのGarmin Heart Rate Monitor[Click for image]が推し機器。

http://www.brytonsport.com/
マニュアル

トレーニングとは穴のあいたバケツに水を溜める作業だ
体がNOと叫んだら、私はYESと答える
走った距離は裏切らない。いついかなる時も決して裏切ることのない唯一無二の友、それが筋肉
千回と千1回とでは天と地の隔たり、最後の1発はその前の千に勝るとも劣らない価値がある
君のこめかみに拳銃を突きつけて「あと2repsやれ」と言ったらどうするね?死に物狂いでやるだろう?追い込むとはそういうことさ
http://www.2monkeys.jp/archives/34051594.html


Comment (0)

Navi: <  14 | 15 | 16 | 17  >
-Home
-Column [129]
-Europe [9]
-Gadget [77]
-Web [133]
-Bike [4]

@/// BANGBOO BLOG ///