PG talk | プログラミング学習/雑学サイト 無料でプログラミング言語が学習できます! https://ayax.jp プログラミング学習/雑学サイト 無料でプログラミング言語が学習できます! Sun, 21 Jan 2024 16:12:08 +0000 ja hourly 1 https://wordpress.org/?v=6.1.5 https://ayax.jp/wp-content/uploads/2020/03/cropped-logo-1-1-32x32.png PG talk | プログラミング学習/雑学サイト 無料でプログラミング言語が学習できます! https://ayax.jp 32 32 PyWeb開発日誌10 https://ayax.jp/h_pyweb/pyweb%e9%96%8b%e7%99%ba%e6%97%a5%e8%aa%8c%ef%bc%91%ef%bc%90 https://ayax.jp/h_pyweb/pyweb%e9%96%8b%e7%99%ba%e6%97%a5%e8%aa%8c%ef%bc%91%ef%bc%90#respond Wed, 20 Dec 2023 05:19:42 +0000 https://ayax.jp/?p=14443 次の機能追加の前に足踏み中・・・

 2月にPyWebのアルファバージョンをリリースしてから、大きな機能追加を行ってきました。思いつくままに記載すると次の通りです。

  • PyScriptを採用しGUI,機械学習を可能に
  • ゲーム用チュートリアル作成
  • PyKAMEによりタートルグラフィックを実現
  • 小中学校から学習できるチュートリアル作成
  • 情報Ⅰサンプルプログラム公開
  • 集合学習用バージョン作成
  • スマートフォン対応

 プログラミング学習の範囲ではまだまだ不十分ですが、PyWebはあくまでも初学者向けですから、全て網羅する必要はありません。しかし、それでも盛り込みたいコンテンツが残っています。

 次のターゲットも決定したのですが、足踏み状態です。

資金不足/発展/継続性

 現在、PyWebから得られる収益は限られています。皆様からの寄付、広告料です。本年は、約25,000円です。企業へもアプローチしていますが成果が無い状況です。

 このように発展させていくのは、難しい状況ですが、PyWebの継続については、短期的には大丈夫です。なぜなら、PyWebは低コストで稼働できるように設計しているからです。

 しかし長期的には、難しくなってきます。内部的に利用しているサービスのバージョンアップなどに伴う変更が必要だからです。そして、それ以上に「人」の問題があります。ほぼ個人で開発している状況なので、リスク回避からも複数人で保守できる体制にしなければいけません。

 いずれにせよ「資金」が必要です。

スポンサーリンク

有料化を考えてみる

 PyWebのようなサービスで見かけるのは、一部機能の有料化です。例えば、有料会員だけ、セッション時間を無制限にし作成したファイルが消えないようにすることが考えられます。300円/月ぐらいのサービスでしょうか。

 わずかな金額かもしれませんが、毎月一定額の収益があるので、継続性などを考えると良い方法のように思えます。

でも・・・

嫌なんです・・・

 この方法って、「お金がある人は良いサービスを受ける」ってことなんですよね。まぁ、今の世の中では当たり前のことなんですが、、、

あまりやりたくない

 理想を語っていてもしかたありません。来年の2月にはサービスを開始してから1周年を迎えます。PyWebを継続/発展させるためにも、検討していきます。

 商才がまったくないので、PyWebの収益化で良い方法、アドバイスがありましたら、画面下にコメント欄を用意していますので、書き込みをお願いします。

]]>
https://ayax.jp/h_pyweb/pyweb%e9%96%8b%e7%99%ba%e6%97%a5%e8%aa%8c%ef%bc%91%ef%bc%90/feed 0
ゴロゴロしながらプログラミング顛末 https://ayax.jp/z_blog/981_202312/computer_destruction Mon, 18 Dec 2023 02:45:53 +0000 https://ayax.jp/?p=14303 プログラミングの原点はゴロゴロしながら

 PyWebスマホ版のご紹介で、私のプログラミングの原点についてお話をしました。(ゴロゴロしながらプログラミング)。その顛末が押し入れから出てきたのでお知らせします。

 これは、1984年発売されたSHARPのポケットコンピュータPC1261です。独自のBASIC言語が動作します。記憶では、1983年に購入したことになっていましたが、今、調べると1年ずれていたようです。

 これでは大きさがわからないので、マウスと比較。

 いかに小さいかお分かりいただけると思います。この大きさなのでセカンドバックに放り込み持ち歩いていました。もちろんゴロゴロしながらプログラミングを行っていたわけです。

 写真を見ると液晶が無残にも割れていることがわかります。そう、これがゴロゴロしながらプログラミングの顛末なのです・・・。

布団の中でプログラミング

 真夏のことでした、休日だったせいか昼前になっても布団の中で、ゴロゴロしながらプログラミングしていました。すると睡魔が襲ってきたのです、いわゆる二度寝です。

 次に目覚めたのは、窓からの突風のせいでした。そして、大雨が降ってきたのです。

窓を閉めなくちゃ

 布団からはい出し、窓に向かって、一歩。その時に右足裏に足ごたえがありました。四角って、硬い固形物・・・。PC-1261だったのです。

 これで、液晶が割れてしまったというわけです。それから数十年経過しましたが、一度もプログラムを実行することもなく、何度の引っ越しの荒波を超えて、いまだに、寄り添ってくれています?

まとめ

ゴロゴロしながらプログラミングはソファーかベッドで
「ミニマリスト」っ?おいしいの?
休日だからってお昼前には起きようね

 

]]>
PyWebでデータベース/SQL https://ayax.jp/h_pyweb/c_operation/pyweb_datsabase_sql Fri, 15 Dec 2023 04:35:34 +0000 https://ayax.jp/?p=14352 特殊なPython

 生成系AIが話題の中で、その開発言語であるPythonも注目を浴び続けています。このPythonは他のプログラミング言語とはちょっと違う独特なところがあります。例えば、データベースです。

 プログラミング言語とデータベースは別のアプリです。従って、データベースを利用したい場合は別途インストールする必要があります。

 データベースアプリのインストールは、問題なくスムーズにできればいいのですが、逆に少しでも問題が発生すれば、解決するのは困難を極めることがあります。

 Pythonでもデータベースを利用する場合は、別のデータベースアプリを使うことになります。しかし、データベースアプリを別途インストールすることなく、利用できます。つまりPythonの中にデータベースアプリが用意されているのです。初学者にとって敷居の低い有難い言語といえます。

スポンサーリンク

データベースを使ってみる

 Pythonで用意されているデータベースは「SQLite3」です。名前から想像できる通り、軽量でシンプルなアプリですが、データベース/SQLを学習するうえでは、問題ありません。

下記のコードはPyWebで実行可能です。

準備

利用するには、まずimport命令で呼び出します。

import sqlite3

データベース作成

次にデータベースを作成します。

# データベース接続(存在しなければ作成)
con = sqlite3.connect("tutorial.db")

上記は、「tutorial.db」というデータベースを作成しています。既に存在している場合は、データベースへ接続します。

テーブル定義

データベース内のテーブルを定義します。

# カーソル作成(テーブル操作で必要)
cur = con.cursor()
# テーブル作成
cur.execute("CREATE TABLE IF NOT EXISTS seito(id INTEGER PRIMARY KEY, name TEXT, furigana TEXT)")

このテーブルは「seito」という名称で、次の項目を定義しています。

  • id:番号
  • name:名前
  • furigana:ふりがな

データ挿入

テーブルが定義できましたので、この中にデータを挿入します。

# seitoテーブルの全データ削除 
cur.execute(""" DELETE FROM seito; """)
# seitoテーブルへデータ挿入
cur.execute("""
    INSERT INTO seito VALUES
        (1,'山田太郎','やまだたろう'),
        (2,'中村さやか','なかむらさやか'),
        (3,'佐藤健太郎','さとうけんたろう'),
        (4,'吉田千代子','よしだちよこ'),
        (5,'佐々木和也','ささきかずや')
""")
# データ確定
con.commit()

5件のデータを挿入しています。

データ照会

作成したデータを照会します。

# seitoテーブルの全データを取得
cur.execute("""
    SELECT * FROM seito
""")

print("----------------")
# 取得データを1件ずつ表示
for row in cur:
    print(row[0],row[1],row[2])

select命令でseitoテーブルから全件取得し、forで1件ずつ表示しています。

データ更新

5番目のふりがなを変更します。

# seitoテーブルのID5のふりがなを変更
cur.execute("""
    UPDATE seito set furigana = 'ささきかずなり' where id = 5;
""")
# データ確定
con.commit()

終了

カーソル、データベース接続を終了します。

# カーソルクローズ
cur.close()
# データベース接続クローズ
con.close()
スポンサーリンク

全体ソース

全体のソースコードです。

# テーブル作成
import sqlite3

# データベース接続(存在しなければ作成)
con = sqlite3.connect("tutorial.db")
# カーソル作成
cur = con.cursor()

'''
テーブルseito作成 既に存在していれば作成しない
項目 id:番号,name:名前,furigana:ふりがな
'''
def create():
    cur.execute("CREATE TABLE  IF NOT EXISTS seito(id  INTEGER PRIMARY KEY, name TEXT, furigana TEXT)")

def insert():
    # seitoテーブルの全データ削除
    cur.execute("""
            DELETE FROM seito;
                                        """)
    
    # seitoテーブルへデータ挿入
    cur.execute("""
            INSERT INTO seito VALUES
            (1,'山田太郎','やまだたろう'),
            (2,'中村さやか','なかむらさやか'),
            (3,'佐藤健太郎','さとうけんたろう'),
            (4,'吉田千代子','よしだちよこ'),
            (5,'佐々木和也','ささきかずや')
                                        """)
    # データ確定
    con.commit()


# データ照会
def query():
    # seitoテーブルの全データを取得
    cur.execute("""
            SELECT * FROM seito
                                        """)
    print("----------------")
    # 取得データを1件ずつ表示
    for row in cur:
        print(row[0],row[1],row[2])

# データ更新
def update():
    # seitoテーブルのID5のふりがなを変更
    cur.execute("""
            UPDATE seito set furigana = 'ささきかずなり' where id = 5;
                                        """)
    # データ確定
    con.commit()    

# テーブル作成
create()
# データ作成
insert()
# データ照会呼び出し
query()
# データ更新呼び出し
update()
# データ照会呼び出し
query()


# カーソルクローズ
cur.close()
# データベース接続クローズ
con.close()

PyWebで確認/実行する場合は、下記をクリックしてください。

スポンサーリンク

まとめ

Pythonはインストールなしでデータベース/SQLが利用可能
もちろんPyWebで利用可能です!
PyWebで手軽にデータベース/SQLの学習ができます。
]]>
サイトのデザイン変更 https://ayax.jp/z_blog/981_202312/theme_change Tue, 12 Dec 2023 06:17:54 +0000 https://ayax.jp/?p=14200 WordPressのデザインを変更した理由

 以前からご覧になっていた人にはお分かりでしょうが、こちらのサイトデザインを変更しました。

 以前のサイトは学習用コンテンツとしての操作性を追求していたので、他のブログサイトと比較すると操作性やブログの閲覧性に問題があったのです。

旧サイト

 問題はそれだけでなく、操作性を追求したあまりに、プラグインのカスタマイズなどやりまくったので、WordPressのバージョンアップなどで苦労していました。

 そして、もっとも大きな問題と感じていたのは、スマホでの閲覧です。プログラミング学習サイトなので、スマホでの利用は想定していませんでした。このためスマホからの閲覧は苦痛だったのです。

 ところが、PyWebのスマホ版を開発して行く中で、

スマホでも学習できるぜ!

と気づかされ、こちらのサイトもスマホでの閲覧を快適にする必要を感じたのです。

スポンサーリンク

WordPressは偉大だった

 このサイトはWordPressで作成されているため、デザインの変更は楽にできるはずです。普通は・・・。

しかし、カスタマイズの多さや古いプラグイン(更新されなくなった)の取り扱いなど、考えると1ヵ月程度かかるのでは?と想定していました。 

ところがです・・1週間で、完成しました!!

もともとWordPressではデザイン変更が容易なうえに、このデザイン(テーマ)には既製品のものがあります。今回は無料の既製品「Cocoon」を利用しました。1週間程度で完成したのは、ほぼ、この「Cocoon」のおかげです。

Cocoonはすごい!

「Cocoon」は、WordPressテーマ(デザイン)を無料で利用できます。このテーマにはデザイン(外観)だけでなく、様々な機能が用意されおり、数多くのブログサイトで利用されています。

この「様々な機能」、「数多くのブログサイトで利用=情報が多い」、ことから想定していた期日を大きく削減できました。

もし、PCでサイトを閲覧している人は、使いやすくなったスマホ版もご利用ください。

まとめ

PG talkスマホで見やすくなったよ
WordPressは偉大で、Cocoonはめっちゃ便利
無暗にカスタマイズをするのは止めようね

 

]]>
ゴロゴロしながらプログラミング https://ayax.jp/z_blog/981_202312/mobile_programing Mon, 04 Dec 2023 06:52:32 +0000 https://ayax.jp/?p=14002 原点に戻る?

 はじめてのプログラミングはポケットコンピュータで行った。

-広告-

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

希少 レトロ 動作未確認 SHARP ポケットコンピューター [ POCKET …
価格:8,000円(税込、送料別) (2023/12/4時点)

 当時のPCは高くて、学生の趣味では手が出せない代物だった。そこでポケットコンピュータ、プログラム電卓の出番である。

 小遣いをため、3万以下で購入したポケットコンピュータで毎日のようにプログラミングをしていた。

 プログラミングするからって、机の上や正座して行っていたわけでなく、ベットでゴロゴロしながらの方が多かった気がする。これが私のプログラミングの原点なのだ

懐かしい感じ

 PyWebのスマホ版は、スマートフォンで学習は難しいのでは?と勝手な思い込みから、手抜き・・・機能制限されたものだった。

 これが、何かやり残したことがあるような、ひっかかりになっていた。

 PyWebの大きな機能追加が終了し、このひっかかりを修正すべくスマホ版の機能アップを行っていくうちに、「懐かしさ」を感じた。

 これなら、ゴロゴロしながらプログラミングできそうだ!

 思い立ったその時にプログラミング!PyWebスマホ版なら実現できる。

]]>
手のひらではじめるPython学習 https://ayax.jp/h_pyweb/pyweb_smargphone_versionup Sun, 03 Dec 2023 04:24:40 +0000 https://ayax.jp/?p=13997 PyWebスマホ版がバージョンアップされました。

 

プレスリリース

スポンサーリンク

]]> 環境構築不要で始められるWebアプリケーション学習 https://ayax.jp/h_pyweb/pyweb_webapli Sun, 21 Jan 2024 16:10:07 +0000 https://ayax.jp/?p=14469 PyWebがバージョンアップされました。

プレスリリース-Webアプリ実行

プレスリリース-Webアプリ実行_2

 

スポンサーリンク

]]> PyWeb開発日誌9 https://ayax.jp/z_blog/982_202311/pyweb%e9%96%8b%e7%99%ba%e6%97%a5%e8%aa%8c%ef%bc%99 Thu, 30 Nov 2023 03:43:13 +0000 https://ayax.jp/?p=13989 大幅な機能アップを進行中

 ブログを更新しなくちゃ、と思いながら、またまた「PyWeb」の開発に没頭しています。

 次は、スマホ版機能を大幅に機能アップします!

 PyWebは学習コンテンツです。スマホで学習するのは難しいのでは?と思っていたので、スマホ版の機能は限定していました。これを改善します。

 開発を進めていく中、スマホでも学習できるじゃんー>スマホ版って便利!、と変化してきました。楽しみにしてください。

]]>
PyWebとBing AI https://ayax.jp/h_pyweb/c_operation/bing_ai_chat Sat, 04 Nov 2023 04:50:34 +0000 https://ayax.jp/?p=13966 Bing AI チャットへのリンク

 エラー時にBing AI チャットへのリンク機能を設けました。

 クリックすると

 別タブでBing AI チャットが開き、プログラムのエラー原因と対処方法を教えてくれます。

 一人で学習していると些細なスペルミスや勘違いで、なかなかエラーが解消しないことがあります。そんな時に重宝します。

スポンサーリンク

制限とか

 Bing Aiには、プログラムをURLパラメーターで渡しているので、行数制限があります。プログラム内容によりますが、おおよそ100行程度が限界です。

 こちらの機能は3月頃に実現していたのですが、リリース前に突然動かなくなりました。これはBing AIへのURLパラメータに仕様変更があったのが原因のようです。従って、今後ともURLパラメーターの仕様変更があった場合に、突然動かなくなる可能性があります。

 いずれによせ、AIチャットはプログラミング学習に役立つツールです。是非、積極的に利用してみてください。

スポンサーリンク

]]> PyWeb集合学習Verの機能 https://ayax.jp/h_pyweb/c_operation/pyweb%e9%9b%86%e5%90%88%e5%ad%a6%e7%bf%92-2 Fri, 03 Nov 2023 04:56:46 +0000 https://ayax.jp/?p=13940 プログラミングの集合学習は難しい

 プログラミングの集合学習では講師の力量が問われます。3~4名程度ならマンツーマン(一対一)のノウハウで対応できるかもしれませんが、5名以上となると学習者の状況把握が難しくなります。

 実習時に、学習者の目線(表情)、手動作、後ろから作成状況を眺めるなどし状況把握に努めることになりますが、人数が多ければ多いほど、一人ひとりに対しての目配りが薄れてしまいます。

 また、講師は肉体、精神的に大きな負担になります。私自身、初めて集合学習を行ったその夜に血尿が出てしまったほどでした。

状況把握機能

 PyWeb集合学習Verでは、学習者が直近に実行したプログラムの実行時間、ファイル名、エラー有無を照会できます。

 この一覧から注目しなけれいけないのは、課題に対して一度もプログラムを実行していない学習者です。おそらく理解が進んでなく手付かずの可能性が高いです。

 想定時間内に、一度もプログラムを実行していない学習者の割合が高ければ高いほど、この状況把握機能は意味をなしません。この場合は課題や講義の進め方の問題なので、見直す必要があります。

スポンサーリンク

 次に注目しなければいけないのは、実行したがエラーがある学習者です。エラー原因は様々なことが考えられます。そのために実際に実行したプログラムを照会(プロログラム名をマウスクリック)できます。

 これにより、どの箇所でつまずいているか、学習者に確認することなく把握できます。また、多くの学習者が同様の箇所でつまずいている場合は、課題、講義の進め方等の問題が考えられますので、見直す材料ともなります。

役立ちます!

 「PyWeb集合学習Ver」を利用すると、集合学習時には難し学習者の状況を容易に把握できます。これにより学習者に合わせたサポートが可能です。ぜひ試してみてください。

スポンサーリンク

]]>
PyWebでsleep https://ayax.jp/h_pyweb/c_operation/pyweb_sleep Thu, 02 Nov 2023 03:04:41 +0000 https://ayax.jp/?p=13935 PyWebではsleepが正常動作しません

 PyWebでsleepを行いたい場合は、asyncio.sleepを使います。



参考ソース



スポンサーリンク

以上

]]> こんな時に「PyWeb集合学習Ver」 https://ayax.jp/z_blog/983_202310/pyweb%e9%9b%86%e5%90%88%e5%ad%a6%e7%bf%92 Sat, 21 Oct 2023 06:31:44 +0000 https://ayax.jp/?p=13903 プログラミングは独学が基本!?

 プログラミングはコンピュータと対話(作ったプログラムを実行させる)し経験を積みながら学んでいくものです。先生から知識を学んでもプログラミングができるようにはなりません。いってみれば独学が基本です。

 と、言っても途中で壁に突き当たったりして、八方ふさがりになっちゃうことがあります。そんな時に導いてくれるメンターが必要になります。

 基本は独学で、たまにメンターに頼るというのが最善な学習方法ではないか、と考えています。

スポンサーリンク

メンターはお金がかかる?

 メンターはプログラマーでかつ教えることができる専門家です。従ってメンターに依頼するにはお金がかかります。なんせ専門家を一定時間拘束するのですから、仕方がないことかもしれません。

集合学習ではダメか?

 前述したように「プログラミングの学習は基本は独学で、たまにメンターに頼る」が最善ですが、過度なコストがかかってはいけません。では、集合学習ではどうでしょうか?

 企業研修や学校では、実際に集合型で行っています。そして壁にぶつかると講師に頼るという感じです。「講師:大勢」なので個人、個人で一人ずつメンターを付けることに比べればコストが低減できます。

 しかし、講師が大勢の学習者の状況を把握し適切にサポートするのは難しいものです。学習者によっては引っ込み思案で講師に相談しない場合や逆に自分で考えなければいけないところを講師に頼りすぎてしまったりします。

スポンサーリンク

 講師が個々の状況を的確に把握できなければ、メンターのような学習効果が発揮できないのです。

これで解決!?

 前フリが長くなりましたが、集合学習時に学習者の状況を把握するためのサービスが「PyWeb集合学習Ver」です。

 詳細は別途紹介します。今すぐ機能を知りたい人は、プレスリリースをご覧になってください。

]]>
「PyWeb集合学習Ver」リリース https://ayax.jp/z_blog/983_202310/pyweb%e9%9b%86%e5%90%88%e5%ad%a6%e7%bf%92ver Thu, 19 Oct 2023 03:25:56 +0000 https://ayax.jp/?p=13891 プログラミングの集合学習を手助け

プレスリリース1

プレスリリース2

スポンサーリンク

]]> PyWeb開発日誌8 https://ayax.jp/z_blog/983_202310/pyweb%e9%96%8b%e7%99%ba%e6%97%a5%e8%aa%8c%ef%bc%98 Sat, 30 Sep 2023 08:23:28 +0000 https://ayax.jp/?p=13879 新たなる機能を開発中

 またまた、ブログの更新が疎かになっていました。これもそれも、PyWebの開発に没頭していたからなのです。

 現在はプログラムの作成が落ち着き、テストフェーズに突入しています。なんとか今月中にリリースをしたいと思っています。

 で、肝心な機能の方ですが、PyWebの利用は想定していたより各種団体での利用が多いようです。そこで集合学習用で、とっても便利な機能を追加する予定です。

 「これが完成すれば、世の中のためになるはずだ!」と思い込みを募らせながら、苦行をしています(笑)

スポンサーリンク

]]> 『情報Ⅰ』教員研修用教材のプログラムをサンプルに追加 https://ayax.jp/z_blog/984_202308/%e6%83%85%e5%a0%b1%e2%85%b0_%e3%82%b5%e3%83%b3%e3%83%97%e3%83%ab Sun, 27 Aug 2023 17:26:50 +0000 https://ayax.jp/?p=13850 気がつきました

 PyWebで寄せられる質問の中から、高校生が学習する「情報Ⅰ」に関連するものが多いことが分かりました。

 学習の準備などで苦労されているようです。PyWebで予定しているプログラムがさくっと動作すればよいのですが、若干の変更が必要な場合があります。

サンプル集追加

 そこで、文部科学省が提供する「高等学校情報科『情報Ⅰ』教員研修用教材(本編)」の第3章「コンピュータとプログラミング」に含まれるプログラムをPyWeb上で確認した、サンプル集を追加しました。






 実際の教科書にそった、サンプルプログラムの方がよいのでしょうけど、教科書も複数あるようなので、とりあえず、多くの関係者が目にしているだろう、資料をターゲットにしました。

 是非、参考にしてみてください。PyWebで実現できれば、環境設定などの負担が軽減します。

スポンサーリンク

]]>