PCとiPhoneの共同作業

iPhoneのみでブログを作成する場合、パスワードの入力に手間どってしまい、完結しない場合が多いです。

このブログ原稿はGmail上で音声認識により入力しています。iPhoneのみでブログを作成する場合、パスワードの入力に手間どってしまい、完結しない場合が多いです。そういうことなので写真はiPhoneで行い、また文章入力もiPhoneで行うことによって、PC側の作業の省力化を図ることにしました。iPhoneのみで完結するのは困難なのでこの方法しかありません。それにワードプレスの編集画面の右ペインで各項目をヒィルイットアップするのは難しいので仕方のないことです。この辺で音声入力は終わります。

iPhoneで撮った写真
iPhoneで撮った写真

連絡先に複数の電話番号がある人に「Hey Siri」を使ってかける場合、Hey Siri XXXXに電話をかけてというと、少し間をおいて、どの電話にしますか?と聞いてきて、それをタップするとその電話を呼び出してくれる。Siriはなかなか賢いのである。

↑人気ブログランキングに参加しています。ポチっと1票を!

寝床から失礼!

寝床から失礼いたします。

Hey Siri

Hey Siri で電話もかけてみました。ちゃんとかかりました。

下の画像は後からPCにて編集後挿入しました。

やっと35,000にカウントがなりました。1日4,500という日もあったんですが。
やっと35,000にカウントがなりました。1日4,500という日もあったんですが。
↑人気ブログランキングに参加しています。ポチっと1票を!

全てiPhoneで処理いたしました。

iPhone内でGmailの送受信を行う

iPhone内でGmailの送受信を行う
① iPhoneの待ち受け画面でGmailのアイコンをタップ。
②画面の+マークをタップでメールの新規作成。
③宛先にsとhを入力自分自身とスマホのメールにメールを送信。
④件名と本文を音声入力する。
⑤添付または添付する写真の画像を撮り。
⑥画面上のほうのヤジリマークをタップメール本体が送信される。
⑦Gmailとスマホにメールが送られる。
⑧iPhone内の写真やスナップショットは従来通りメモデーターの中で行う。
上記操作によりスマホ上でGmail操作が完結する。
※ → iPhoneに登録されている写真や文章は添付できません。添付できるのはPC上のデータのみです。

今までGmailのハンドリングはPCのみで行ってきた。それがiPhoneでもできるようになり、ブログが簡単にアップできるようになった。凄い進歩である。ただし添付資料はiPhone内でやっているにもかかわらず、PC側の資料だけしかかなわない。iPhone内のものは今まで通りの操作が必要となる。

↑人気ブログランキングに参加しています。ポチっと1票を!

音声認識編集記号(Siri)

音声認識編集記号(Siri)をまとめた。
参考にしてください。
固有名詞以外はほとんどこの情報で事足ります。
惜しむらくはユーザー辞書などが音声認識(Siri)に非対応なことです。

音声認識編集記号
空白 → タブキー
改行 → かいぎょう
→ → やじるし
。 → まる
、 → てん
① → まるいち
○ → しろまる
● → くろまる
? → クエスチョンマーク
! → びっくりマーク
※ → こめじるし
@ → アットマーク
: → コロン
; → セミコロン
* → アステリスク
※ 固有名詞にユーザ辞書は使えない
学習機能なし

↑人気ブログランキングに参加しています。ポチっと1票を!

iPhoneで作成したブログ記事

iPhone関連のインデックス

iPhoneで作成したブログ記事
① iPhoneで作成したブログ記事は途中でテキストを削除したり訂正したりする時、カーソルで間違えてしまった時など、iPhoneを振って取り消しすれば良い。
②原稿をGmailに送って、その後ブログにアップする。その際コピペを行う。
③実際に訂正記事を途中で間違えて見る。

iPhoneアイデアマシーン
iPhoneアイデアマシーン
iPhoneのインデックス
iPhoneのインデックス
↑人気ブログランキングに参加しています。ポチっと1票を!

八方ふさがり

全部協力しているのに、ブラウザーにSafariはだめ、Yahooにしろ、Air Printerは使わせない、Actionのポップアップは阻止する、アイキャッチ画像のような迂回方法もだめ、じゃいったいスマホで何をしろというんだ!俺はもうやめた。まだスマホデビューしてから1週間しかたっていないんだぞ。どうにかしてくれ!

↑人気ブログランキングに参加しています。ポチっと1票を!

初めてのiPhoneからの投稿

iPhoneからの初めての投稿、パスワードの入力がめっちゃ難しかった!

初めてのiPhoneからの投稿です。シンプルにこれだけの文章で終わります。

ここからは以下の手順でこの項を編集したものです。

①原稿はiPhoneの方で書き下ろし
② iPhone側では音声入力し
③原稿はプレーンで
④その他の写真やデータはPCの方で用意する
⑤その他の体裁もPCの方で修正する
⑥場合によっては写真はiPhoneの方で用意する
以上の要領で行う。

以上はiPhoneの音声認識入力によるものです。

↑人気ブログランキングに参加しています。ポチっと1票を!

Category No 表示頁の追加

サイトマップにそのカテゴリーの一覧表を表示させる方法

Category No 表示のページを「メニュー」構造の「トップページ」→「カテゴリーの表示」の副項目として「Category No 表示」を追加しました。20/05/27以降に追加されたCategoryについての留意事項です。「カテゴリーの表示」の内容に沿って「サイトマップにそのカテゴリーの一覧表を表示させる方法」のxxx用にご利用ください。

メニュー「Category No表示」
メニュー「Category No表示」

以下は「システムジェネレーション」のカテゴリー一覧を表示させた例

カテゴリー「システムジェネレーション」の一覧を表示させた例
カテゴリー「システムジェネレーション」の一覧を表示させた例
↑人気ブログランキングに参加しています。ポチっと1票を!

Python Prog.の復習

最初は「N Queens problem」のコードである。

##!/usr/bin/env python3
# Modified this program by S.K on 2020/04/26
"""
N queens problem.

The (well-known) problem is due to Niklaus Wirth.

This solution is inspired by Dijkstra (Structured Programming).  It is
a classic recursive backtracking approach.
"""

N = 8                                   # Default; command line overrides

class Queens:

    def __init__(self, n=N):
        self.n = n
        self.reset()

    def reset(self):
        n = self.n
        self.y = [None] * n             # Where is the queen in column x
        self.row = [0] * n              # Is row[y] safe?
        self.up = [0] * (2*n-1)         # Is upward diagonal[x-y] safe?
        self.down = [0] * (2*n-1)       # Is downward diagonal[x+y] safe?
        self.nfound = 0                 # Instrumentation

    def solve(self, x=0):               # Recursive solver
        for y in range(self.n):
            if self.safe(x, y):
                self.place(x, y)
                if x+1 == self.n:
                    self.display()
                else:
                    self.solve(x+1)
                self.remove(x, y)

    def safe(self, x, y):
        return not self.row[y] and not self.up[x-y] and not self.down[x+y]

    def place(self, x, y):
        self.y[x] = y
        self.row[y] = 1
        self.up[x-y] = 1
        self.down[x+y] = 1

    def remove(self, x, y):
        self.y[x] = None
        self.row[y] = 0
        self.up[x-y] = 0
        self.down[x+y] = 0

    silent = 0                          # If true, count solutions only

    def display(self):
        self.nfound = self.nfound + 1
        if self.silent:
            return
        print('+-' + '--'*self.n + '+')
        for y in range(self.n-1, -1, -1):
            print('|', end=' ')
            for x in range(self.n):
                if self.y[x] == y:
                    print("Q", end=' ')
                else:
                    print(".", end=' ')
            print('|')
        print('+-' + '--'*self.n + '+')

def main():
    import sys
    silent = 0
    n = N
    if sys.argv[1:2] == ['-n']:
        silent = 1
        del sys.argv[1]
    if sys.argv[1:]:
        n = int(sys.argv[1])
    q = Queens(n)
    q.silent = silent
    q.solve()
    print("Found", q.nfound, "solutions.")

if __name__ == "__main__":
    main()


文字が小さく見ずらい時はWindows拡大鏡をお使いください。Windows・キー + 「+」(プラス・キー)(Windows・キーはキーボード左下、左から3~4番目のキー。抜けるにはWindows・キー + 「ESCキー」を押します)
Enlighterのコードは窓の右上アイコンの「<>」を押すと明るい表示になります。

N = 12 の時
N = 12 の時
N = 4 の時
N = 4 の時

だいぶ時間が空いた、もうPythonのプログラミングも忘れてしまった。徐々に思い出していこう。最初は「N Queens problem」のコードである。かの構造化プログラミングで有名なダイクストラの解である。

↑人気ブログランキングに参加しています。ポチっと1票を!

Enlighter version up

Code画面右上のアイコン「<>」をクリックすると背景の色が変わります。

例えば記事でEnlighterのcodeがあるが黒表示されている。これを今まで通りに明るい表示にするには、右側の上隅のアイコン「<>」をクリックすればよい。

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo32.py session managed &amp; username get
from flask import Flask, redirect, request, render_template, url_for, session
 
app = Flask(__name__)
 
@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo07.html')
 
@app.route('/program', methods=['GET', 'POST'])
def program():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo03.html')
 
@app.route('/program1', methods=['GET', 'POST'])
def program1():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo04.html')
 
@app.route('/program2', methods=['GET', 'POST'])
def program2():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo05.html')
 
@app.route('/param/&lt;parameter>')
def show_user_profile(parameter):
    if 'username' in session:
        html = render_template('demo07.html',name = str(parameter))        
        return html
    return 'You are not logged in. from param processing'
 
@app.route('/reset', methods=['GET', 'POST'])
def reset():
    session['username'] = 'monkey'
    return render_template('check31.html')
 
@app.route('/')
def func():
    if 'username' in session:
        html = render_template('demo07.html',name = str(session['username']))        
        return html
    return 'You are not logged in'
 
@app.route('/check', methods=['GET', 'POST'])
def check():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('func'))
    return render_template('check31.html')
 
@app.route('/',methods=['POST'])
def index():
 
    if (request.form['attr'] == 'need'):
 
        success = False
        name = request.form["username"]
        passwd = request.form["pass"]
        att1 = request.form['attr']
        my_message = "keyword処理は?"
    else:
        con1 = request.arg.get('_ControlID')
        pg1 = int(request.arg.get('_PageID'))
        act1 = request.arg.get('_ActionID')
        flg1 = request.arg.get('getFlg')
        html = render_template('demo07.html', con = con1, pg = str(pg1), act = act1, flg = flg1)        
        return html
 
    user_data = [{"id":"カリフラワー", "pass":"hanakyabetsu"},{"id":"西行法師", "pass":"masako"},{"id":"monkey", "pass":"kayochan"},{"id":"program1", "pass":"pass1"}]
 
    for i in range(0, 10):
        if user_data[i]["id"] == name:
            if user_data[i]["pass"] == passwd:
                success = True
                session['username'] = name
                return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)
            else:
                continue
        else:
            continue
    success = False
    return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)
 
@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('func'))
 
app.secret_key = 'B0Qp89i/2xY F~XHH!jnVVLWX/,%QR'
 
if __name__ == '__main__':
    app.run(debug=True)

文字が小さく見ずらい時はWindows拡大鏡をお使いください。Windows・キー + 「+」(プラス・キー)(Windows・キーはキーボード左下、左から3~4番目のキー。抜けるにはWindows・キー + 「ESCキー」を押します)
Enlighterのコードは窓の右上アイコンの「<>」を押すと明るい表示になります。

↑人気ブログランキングに参加しています。ポチっと1票を!