記事
Toshihiko Minamoto · 2021年10月20日 4m read

PythonとIRISグローバルを使用したブログの作成

インターネットを使うようになってから (1990年代後半)、PythonとIRIS グローバルを使ってブログを書いていますが、常にCMS (コンテンツ管理システム) でブログ、ソーシャルメディア、さらには企業ページに情報を簡単に投稿できるようにしていました。
数年後、自分がマークダウンファイルに収めて使ってきたすべてのコードをgithubに入れました。
ネイティブAPIでデータをIntersystems IRISに入れて永続化するのはとても簡単だったので、このアプリケーションを作成して少しSQLを忘れ、キー・バリュー・データベースモデルを受け入れることにしました!
picture

ブログとは?

これはWEB LOGの略名で、基本的にはユーザーが書いてページに投稿、公開できるプラットフォームです。

マークダウンフォーマットとは?

マークダウンとは、フォーマットしたテキストを作成するマークアップ言語であり、HTMLより簡単で、多くのCMSプラットフォームで人気があります。

例:

# Header 1
## Header 2
### Header 3

結果:

Header 1

Header 2

Header 3


IRISで作成するメリットとは?

IRIS Globalsを使用して各投稿のデータを永続化しながら、各データコンサルタントはキー・バリュー・データベースとして動作するIRISのスピードというメリットを得ます。すでに作業でIris Instanceを使用している場合は、このようなアプリケーションを作成するために別の技術を使用する必要はありません。

そしてPythonとは?

Pythonは最も人気の高いプログラミング言語の一つです。チューリング完全言語であり、開発課題のほとんどを楽にしてくれるオープンソースライブラリがたくさんあります。
私は、PythonとIrisを統合するために、IRISNative APIを使用しました。

データベースモデル キー値

私のエンジンは、これでもかというほどシンプルに動作します。
各投稿を永続化するために、サブスクリプトが「post」、その次のサブスクリプトが投稿IDのグローバル「^blog」を作成します。
このグローバルに投稿コンテンツを入れて、終わりです!
これだけで、テーブル、インデックスなどを作成する必要はありません。

 ^blog("post", "1") = "# post 1 content..."
 ^blog("post", "2") = "# post 2..."
 ^blog("post", "3") = "# post 3 markdown content..." 

HTMLでマークダウンをレンダリングするには?

これで、オープンソースモジュール使用可能なPythonのメリットを無限に得るこquoとができます。私の選択は、たった1行のコマンドで簡単にマークダウンをレンダリングできるDashライブラリでした(^_^)

 import dash_core_components as dcc
 import dash
 import irisnative

 #creating a connection with an IRIS Instance
 conn = irisnative.createConnection("host","port","namespace","username","password") obj_iris = irisnative.createIris(conn)

 #getting the content of one post with id 1
 content = obj_iris.get("blog", "post", "1")

 #creating the dash application
 app = dash.Dash(__name__)

 #rendering a markdown value
 rendered_markdown_in_html = dcc.Markdown(content)

 #showing on the page the rendender markdown
 app.layout = html.Div([rendered_markdown_in_html])

すべての投稿を表示するには?

サブスクリプト「^blog("post",)」繰り返して、上記と同じ方法でレンダリングされたマークダウンをページにプリントできます。
データベースをモデル化し、これよりも速く簡単に動作するフォームを作ったことがありますか?回答はコメント欄に書いてください!

自分でビルドしたくないけど、動作する様子は見たい!

簡単です!ここをクリックして、御覧ください。
http://iris-multimodel-suite.eastus.cloudapp.azure.com/blog-post
(サイトは既に閉鎖されています。ご了承ください)

この記事とアプリケーションをお楽しみいただけましたか?

ここではマルチモデルコンテストでの私のアプリケーションの一部をご説明しています。よろしければ、私のアプリに投票してください。

10
2 0 0 27
Log in or sign up to continue