読者です 読者をやめる 読者になる 読者になる

ndbモデル作成

cmsで履歴を残したかったので、コンテンツのデータモデルとテキストのデータモデルを分離した。データの書き換えは新しいテキストデータをコンテンツデータに追加する感じ。

 

テキストデータには編集者の履歴を残せばいいのかな。

査読や構成作業用に編集者や執筆者のデータも登録した方がいいのかな。

 

データ型としてはユーザーとextraオプションを登録できるようにして、査読や執筆と言ったフローはオプション使って設定をあとからでもアプリ側で変更できるようにしよう。

 

 

CMS開発に必要なこと

GoでもPythonでも、作る物がCMSならアーキテクチャは変わらんだろ。

 

すでに見切り発車で開発進めてるけど、個人ブログ用のCMS開発で必要な機能を考える。

 

・最初の管理者登録

・管理者画面、要ログイン

・記事入力画面、要ログイン

・記事トップ

・記事個別

 

とりあえずこんなもん?

ログイン機能のところは前作ったことあるので何とかなる。

スマホ投稿や別システムから自動投稿しようと考えると、認証組み込んだAPIが必要だな。どうしよ。

はまり中

開発環境の構築をなくすため作ったコンテナ。

guiはホストで動かしたいので、dev_appserverにホストからアクセスしたい。が、上手く行かない。

 

うむゅう、、、

 

4月3日追記

VirtualBox使ってるの忘れて、ホストOSからゲストOSで実行しているコンテナにアクセスしようとしていた(笑)

常時1画面はLinux&ターミナル全画面だったから忘れてたよ

devenv-docker更新

dotfileの永続化問題が困ったことに。 .gitconfigとかが自動で永続化したいわけだが、ゲストの$HOMEを-vコマンドでマウントしちゃうと githubからcloneしてきたdotfilesとかが消えてしまう。

-v $HOME:$HOME -e HOME=$HOMEとやると、sshの$HOME認識できない問題で引っかかる。

というわけでこんな感じに。dotfilesはホストのものを使うと割り切ることにしました。

FROM ubuntu:16.04
MAINTAINER inon3135

ENV USER_NAME devenv
ENV CONTAINER 1

# user add
RUN useradd -s /bin/zsh $USER_NAME
RUN mkdir /docker_home \
    && chown -R $USER_NAME /docker_home
ENV HOME /docker_home
RUN sed -i -e "s|/home/$USER_NAME|$HOME|g" /etc/passwd

# install applications
RUN apt-get update \
    && apt-get install -y \
       vim \
       vim-gnome \
       git \
       zsh \
       ssh \
       curl \
       python \
       wget \
       unzip \
       language-pack-ja-base \
       language-pack-ja \
    && rm -rf /var/lib/apt/lists/*

# install gcloud-sdk
ENV CLOUDSDK_PYTHON_SITEPACKAGES 1
RUN wget https://dl.google.com/dl/cloudsdk/channels/rapid/google-cloud-sdk.zip \
    && unzip google-cloud-sdk.zip \
    && rm google-cloud-sdk.zip

RUN google-cloud-sdk/install.sh \
    --usage-reporting=true \
    --path-update=true \
    --bash-completion=true \
    --rc-path=/docker_home/.zshrc \
    --additional-components \
    app-engine-python \
    app \
    kubectl \
    alpha \
    beta \
    gcd-emulator \
    pubsub-emulator \
    cloud-datastore-emulator \
    app-engine-go \
    bigtable

RUN chown $USER_NAME /docker_home/.zshrc

# Disable updater check for the whole installation.
# Users won't be bugged with notifications to update to the latest version of gcloud.
RUN google-cloud-sdk/bin/gcloud config set --installation component_manager/disable_update_check true

# path to gcloud
ENV PATH /google-cloud-sdk/bin:$PATH

USER $USER_NAME

CMD /bin/zsh

devenv-docker更新

vimプラグインを導入するにあたり、vim+luaが必要。

導入方法が面倒だったので、vim-gnomeを入れて対応することにした。

あと、gcloud-sdkを入れてみた。

導入方法はGoogleチュートリアルに従わず、GitHubに公開されているgcloud-dockerのDockerfileを参考にした。

debファイル使うGoogleチュートリアル方法はうまくインストールできんかった。

FROM ubuntu:16.04
MAINTAINER inon3135

ENV USER_NAME devenv
ENV DOCKER 1

# user add
RUN useradd -s /bin/zsh $USER_NAME
RUN mkdir /docker_home \
    && chown -R $USER_NAME /docker_home
ENV HOME /docker_home
RUN sed -i -e "s|/home/$USER_NAME|$HOME|g" /etc/passwd

# install applications
RUN apt-get update \
    && apt-get install -y \
       vim \
       vim-gnome \
       git \
       zsh \
       ssh \
       curl \
       python \
       wget \
       unzip \
       language-pack-ja-base \
       language-pack-ja \
    && rm -rf /var/lib/apt/lists/*

# install gcloud-sdk
ENV CLOUDSDK_PYTHON_SITEPACKAGES 1
RUN wget https://dl.google.com/dl/cloudsdk/channels/rapid/google-cloud-sdk.zip \
    && unzip google-cloud-sdk.zip \
    && rm google-cloud-sdk.zip
RUN google-cloud-sdk/install.sh \
    --usage-reporting=true \
    --path-update=true \
    --bash-completion=true \
    --rc-path=/docker_home/.zshrc \
    --additional-components \
    app-engine-python \
    kubectl \
    alpha \
    beta \
    gcd-emulator \
    pubsub-emulator \
    cloud-datastore-emulator \
    app-engine-go \
    bigtable

RUN chown $USER_NAME /docker_home/.zshrc

# Disable updater check for the whole installation.
# Users won't be bugged with notifications to update to the latest version of gcloud.
RUN google-cloud-sdk/bin/gcloud config set --installation component_manager/disable_update_check true

# path to gcloud
ENV PATH /google-cloud-sdk/bin:$PATH

USER $USER_NAME

# download dotfiles from github
RUN git clone https://github.com/inon3135/dotfiles.git $HOME/dotfiles \
    && cat $HOME/dotfiles/_vimrc >> $HOME/.vimrc \
    && cat $HOME/dotfiles/_zshrc >> $HOME/.zshrc

CMD /bin/zsh

Watsonか

InterConnect、Watsonばっかりだった。

クラウド戦略がWatson中心なんだろうけど、Watson summitだけでよくね?と思った

Googleの謎テクすごい

アメリカからアクセスしてるのにサクサク操作できるChrome remote desktop

 

どんな謎テク使ってるのよ。便利通り過ぎて怖い