MkItYs

MkItYs > 

images

アプリの制作・サイトの統合

images

ウェブサイトの作り方/動かし方を、ドキュメントとデータベースを中心にみていきますーーまた、知識をつなぐ現代の意味ネットワークについても考えます。[※1]


※1
とくに既存のパッケージでは対応できないような、独自の簡潔なコンテンツ管理やウェブサービスを、オープンソースのルールとツールで実現する手法を考えていきます。

さまざまなデータベースの形式


しくみ
images
データ形式:ツリー構造:XML, JSON, YAML
images
データ形式:関係モデル:RDB
images
データ形式:関係モデル以外:NoSQL
images
データ操作:ツリー構造の検索 〜 関数型プログラミング言語:XPath, XSLT
images
データ操作:関係モデルの検索と更新:SQL
つくる
images
XML文書を作る/XSLTインタプリタを使う:xsltproc
images
データベースサーバ(関係モデル)を設定する:PostgreSQL, MySQL/MariaDB
images
データベースサーバ(関係モデル以外)を設定する:Redis, MongoDB

さまざまなプログラミング言語


しくみ
images
項書き換えとS式:Wolfram, Lisp (Scheme)
images
関数型プログラミング言語とイミュータブルな設計:Haskell
images
論理型プログラミング言語と制約プログラム:Prolog (SWI-Prolog)
images
手続型プログラミング言語と2系統のオブジェクト指向:Smalltalk (Squeak) , Objective-C, C++, Ruby
images
手続型プログラミング言語でビジュアルプログラミング:Scratch
つくる
images
システム管理を楽にする:sh, PowerShell, Perl, AWK
images
アプリケーションを作る:Java, C++
images
アプリケーションを作る(OSネイティブ):C#, Kotlin, Java, Swift, Objective-C
images
アプリケーションを作る(バックエンド系):Go, Rust

文書の管理


しくみ
images
中間文書を作る(なぜ独自のタグを作るのか 〜 名前をつけて中身は柔軟にコントロール)
images
手間を最小にするコンテンツ管理(シングルソース・マルチユース)
images
単独のサイトから各種メディア連携へ(アーンドメディア、オウンドメディア)
images
文書のリンクから知識のリンクへ(ハイパーリンク、セマンティックウェブ)

文書の処理


しくみ
images
文書処理とパイプライン
images
フィルタとデバイス
つくる
images
シェルのパイプライン:sh, PowerShell
images
その他のパイプライン:Haskell, Ruby, JavaScript

静的なコンテンツ生成:中間文書を作る


しくみ
つくる
images
ひとつのツリーにまとめる(サイト/ブックの全テキストを1枚のファイルに):x:site, x:book
images
XSLとスイッチ変数(サイトの全スタイルを1枚のファイルに)
images
ページに分ける:x:page
images
アーティクルの分割と共有:x:note
images
ヘッダ/フッタの共有:x:head, x:foot
images
メニューの自動生成:メニュー、サイトマップ、パンくずリスト:x:menu
images
文書の細かい要素を、独自に定義する(段落、台詞、強調、表組、一覧、……)
images
内容がすこしだけ違う版のサイト群を生成する
images
多言語対応:x:lang

静的なコンテンツ生成:多メディア対応


つくる
images
メールの定型文を生成する:TEXT
images
スタイルシートを生成する(数値計算のあるテキスト):CSS
images
各種フレームワークのテンプレートを生成する:...
images
マークダウン文書を生成する:...
images
MSオフィス文書の一部を更新する:ワード/エクセル/パワーポイント:ODF
images
ページ単位の文書を生成する:XSL-FO, PDF
images
電子書籍を生成する:EPUB
images
図形や動画を生成する:SVG
images
機械学習(教師あり学習)のデータを生成する

静的なコンテンツ生成:知識を共有する


しくみ
images
文書情報と一般情報
images
データ形式:リソース記述(主語・述語・目的語):RDF
images
データ操作:リソース記述の検索:SPARQL
images
リソース記述と構造化データ:RDF, JSON-LD
images
記述論理と現代の意味ネットワーク=セマンティックウェブ:OWL
images
語彙の共有:Dublin Core, Schema.org
つくる
images
一般情報の項目を抽出する:x:view
images
リソース記述の検索ライブラリを使う

動的なコンテンツ生成:バックエンドとフロントエンド


しくみ
images
動的コンテンツのための8つの基本フィルタ/デバイス(インタラクティブなウェブ)
images
バックエンドのプログラミング言語:Ruby, Python
images
フロントエンドのプログラミング言語:JavaScript (TypeScript)
images
バックエンドとフロントエンドの連携:CGI, Ajax
つくる
images
バックエンドのウェブフレームワーク:Ruby (Rails) , Python (Flask, Django)
images
バックエンドとフロントエンドの統一:JavaScript (Node.js (Express, React))
images
インライン編集(見たまま編集/WYSIWYG )画面を作る:TinyMCE
images
各種SNSとの連携:Twitter, Facebook, Instagram

動的なコンテンツ生成:ウェブサービスのパーツを作る


しくみ
images
処理と表示を分ける(MVC、ビジネスロジック/プレゼンテーションロジック)
つくる
images
ユーザ認証
images
フォーム入力画面を作る
images
メールフォームを作る(メールとの連携)
images
ブログシステムを作る
images
掲示板を作る
images
スケジュール管理システムを作る
images
SNSを作る

コンテンツ管理の効率を上げる


しくみ
images
適切な権限付与
images
デザインポリシー適用の自動化 〜 画面デザインからフォルダ構成まで
images
CMSのCMS(管理システム全体のメタ情報の管理)
つくる
images
ワンクリックで生成する:AppleScript, VBScript
images
中間文書を複数のファイルに分ける(権限別/用途別):XSLT
images
変換ライブラリを抽象度に応じて階層化する:XSLT
images
ファイルのバージョンを管理する(ローカルのみ〜リポジトリの共有):Git
images
ウェブサイトの統合(各種フレームワーク、各種CMSの統合運用)