LoginSignup
2
0

More than 3 years have passed since last update.

Webサービスに再度トライしてみた!

Last updated at Posted at 2018-11-14

今度こそ自動化できそう!

最近リリースしたサービス

CRONが登録できればひとまず完成

XREAの有料プランで申し込むとCRONできるみたい。1

2018.12.16(土) CRONを登録した。

これで手動更新はしなくて良くなりそう。経過は観察する。
注意点としてはCRONはカレントディレクトリからファイルを見ている様であった。
そのため、シェルスクリプトは実行できても下記の問題が発生した。

  • シェルスクリプトの内部のファイルが見つからない
  • フルパスで内部のファイルを指定してもプログラムでパスが書かれたコードがあれば同じ問題にハマる。

そこで、恐らく解決したであろう方法を示す。
要するに自分が手動で叩いていたときと同じ行動をすればよい。
具体的にはシェルスクリプトにCDコマンドでディレクトリを設定する命令文を追加したらいけた。 2

cd path #シェルスクリプトのパスを設定する
touch hoge.txt #pathにhoge.txtを作成する
python3 hoge.py #pathでhoge.pyを実行する 

今回のミソ

ファイルが更新されたとは何か?今回、自分は下記の様に定義づけた。
同一ファイルに対して、ファイルサイズ(メモリサイズ)に差が発生したとき 3

今回の技術的な話題

URLからHTMLファイルを取得

import urllib.request
url = "https://www.google.co.jp/"
with urllib.request.urlopen(url) as response:
    html = response.read()

メモリサイズを取得する

import sys
MemorySize = sys.getsizeof(html)

Python3とPython2が混在するとき

# Python3でプログラムを実行する
$ Python3 hoge.py

# Python2でプログラムを実行する
$ Python hoge.py

日付をYYYY/MM/DDの様な形に加工するには

import datetime
Today = datetime.datetime.today().strftime("%Y%m%d")
YYYYMMDD = Today[0:4] + "/" + Today[4:6] + "/" + Today[6:8]

日付の引き算

import datetime
Today = datetime.datetime.today().strftime("%Y%m%d")
Yesterday = (datetime.datetime.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")

エンコーディングを指定してファイルを開く

import os
f = open("hoge.txt", "r", encoding="utf-8")
fore_text = f.read()
f.close()

その他は過去の記事の話題で何とかなった。

感想

他のサービスと比較すれば地味であること

個人開発の難点はデザインやプログラム、運営まで全て1人でするため
才能の集まりである会社の制作物に比べれば地味にはなりやすいのかもしれない。
だけど、自分から比べない様にしよう。開発できなくなるからだ。
ビジネス的な比較とは別な話であると感じた。

Webサービスを作る上で例外がたくさん出てくる

例外はたくさん出てくると割り切ると、とりあえずは行動できる。

精度はほどほどにすると気が楽

精度を求めると開発しにくくなるので、自分のモチベーション的に厳しければ精度を下げよう。個人開発なら自分で決定できる。気楽にいこう。

データを入力することは面倒である

サービスに使うデータを入力することは面倒だった。
しかし、データがあれば金になるのではないかと思うと必要な行為である。
だから、データ入力の仕事があるのだと感じた。
貢献性の高い仕事だと思えたので、もっと単価は上げるべきではないかと感じた。
売上に応じた追加報酬がほしいところ。


  1. お金に余裕があったら試そうと思う。今はsshで手動でbatchを叩いている。 

  2. 恐らく手動でしていた行動をCRONは知らない。だから、シェルスクリプトに自分の行動を足してみたのだ。理想的には、CRONする前にCDコマンドでシェルスクリプトのディレクトリまで移動するのがいいのだが、今のところ方法は分かっていない。 

  3. 所謂、完全性や正しさは求めていない。自分の目的を満たせればOKとする。 

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0