本とかニュースとかITとか

SIerのSEだったりIT企画だったりのサラリーマンブログ

Vue.jsでWebアプリを作ろうとしたら外部APIと連携できず結局Nuxt.jsに辿り着いた

Vue.jsで簡単なwebアプリを作ろうと以下の本等で学んでいたのだが、外部APIとの連携をしようと思うとクロスドメイン制約で結局フロントエンドだけでは完結しないことに今更ながら気づいた・・・(APIサーバー側で制限してなければ勿論可能だし、サンプルでよくある通信先はそういうサーバを選んでいる)

当たり前の話なのだろうが、フロントエンドだけで作ろう!みたいな記事で注意されているのを見たことがない。

 

というので、SSRとVue.jsを統合しているフレームワークであるNuxt.jsでやるべきだと悟りました。

 

 

nextpublishing.jp

 

とりあえず以下で勉強中。

nuxt-beginners-guide.elevenback.jp

iwb.jp

qiita.com

Bootstrap-vueのNuxt.jsへの導入

https://www.hypertextcandy.com/nuxt-bootstrap4

https://note.chatbox-inc.com/post/tec/nuxtjs/bootstrap/

 

 

 

 

今の時代ヤクルトレディーって呼び名は大丈夫なものなの?

CM(ヤクルト400)見てふと思ったけど、今の時代にヤクルトレディーのレディーって大丈夫なんだろうか。そして、男性はなれるのだろうか。

昔からそういう呼び名だから違和感なかったけど、今更ながら思ってしまった。

 

www.yakult.co.jp

python向けのemacs設定(elpyの導入)

spacemacsが重くて使えなかったので、elpyというパッケージを試してみた。

環境はmacemacs 26.1。

elpaへのアクセス(初期設定)

ホームにある emacs.d/init.el へ以下を追記(ファイルがない場合は追記)

(when (require 'package)
   (add-to-list
    'package-archives
    '("melpa" . "http://melpa.milkbox.net/packages/") t)
   (package-initialize)
   )

elpyのインストール

emacsを開いて、

M-x package-install elpy

で完了。*1

そしてinit.elに

 (when (and (require 'python nil t) (require 'elpy nil t))
   (elpy-enable))

 

 を追記(emacsがelpy-modeになるようにするため)。

pythonプロジェクトのパッケージ

python側に必要な依存パッケージがあるため、venv等でプロジェクト毎に環境を作っている場合、忘れずに導入する。

$ source bin/activate
$ pip install jedi もしくは rope
$ pip install flake8 importmagic autopep8 yapf 

elpyの設定状況は 

M-x elpy-config

 で確認可能。

 

使い方

上記設定で.pyのファイルを開けばelpyが有効になる。補完機能を入れていれば、補完もきくはず。

・quickrun(バッファの実行)

  C-c C-c

・コードの自動整形(yapfで)

 C-c C-r f

・画面の横分割

 C-x [数字]

・分割画面間の移動

 C-x o

 

*参考ページ

個人的な Python 用の Emacs の設定 | org-技術

Elpyを使ってPython用Emacsの設定を書いた - ドキュメントを見たほうが早い

Emacsでpythonを書く環境 - type t (* void *) 

*1:M-xはesc(メタキー)を押してからxという意味

就職活動でSIer/SEの仕事を勘違いしないようにしてほしい

もう何年も前だが、新卒入社で大手SIerに入社した。当時想像していた仕事とGAPもあったため、SIer業界へ入ることを考えている人への参考になれば。

 

 SIerの定義についてはwikiを調べてもらえればいいと思うが、システムインテグレーターの略称であり、システムをインテグレーションする企業である。

 上流工程から下流工程までシステムのライフサイクルを回し、顧客システムの開発・運用を行う、というような硬い説明は外から見ると何も理解できない。中の人的には格好良く表現したい気持ちはわかるが、ようは「お客様(や業界トレンド)の言うことにあわせて、怒られないように途中途中でお客様と合意をとりながら、丁寧に開発・運用する」ということである。

 

 SIerは技術力がつかない。とよく言われるのは、この「言うことにあわせて」、「合意をとりながら」、「丁寧に」を遂行することに大手SIer・元請けSIerは力を入れているからである。これらにはIT技術もプログラミング能力も必要ない(本来は必要であるが、何であれ顧客と意思疎通ができ、合意形成さえとれればいいのである)。残った開発作業は下請けにお任せする。そのため、大手SIerのような元請けのSEは、実際の開発作業をやるような暇はないのである。開発のプロではなく、システム開発を行う上で、自社を守る合意形成を行うプロなのである。だから文系出身であっても、プログラムに興味がなくともSEになれるし、やっていける。何なら下手に開発に興味がある方が業務の邪魔かもしれない。

 

 では、その下につく「実際に開発・運用を行う」SEはどうか。技術力が身につくのだろうか。答えは現場や会社、ポジションによって違ってしまう。誤解を恐れずに書くと、自由に技術力は身につけられない。決まった要件、決まったプロセス、決まったアーキテクトで誰が開発しても品質を担保できるように開発をするのが、SIerシステム開発である。それに沿った技術は身につくが、それがどのようなものかはプロジェクト次第だ。ここで注意してもらいたいのは、開発するシステムは今時のシステムでない場合がほとんどである、という点である(あくまで私の観測範囲のため、もちろんそうでないパターンもあるとは思う)。私達のスマホに入っているアプリや良く使うWEBサービスではないのだ。昔からある古い経理システムや国や自治体の業務システムである。両者に良い悪いは存在しないが、自分の趣味嗜好と合うかはよく考えた方がいい。古いシステムの古い開発スタイルにも利点や学ぶことはたくさんあるが、それをポジティブに捉えられない場合、転職する羽目になる。

 

 上記は極論ではある。大手SIerであれば、多くの部署があり、幅広い領域がある。WEB系企業のようなことやアジャイル開発や新しいビジネス検討等をやっている部署も恐らくはある。ただし、ごく少数だ。そして、そのような部署に自分が配属されるかは自分でコントロールができない。

 

 自分で社会的意義あるシステムを作りたかったり、自分の興味の技術や分野を身につけたいのであれば、自身が入る会社・PJがマッチしているのか今一度考えた方がいい。新卒であれば、その会社がどの立ち位置で主にどんなシステムのSIerをやっているのかは極めて重要である。IT業界なら何でも良いと思って入ると後で後悔することになるかもしれない。

決電子マネーのレイヤーが複雑なのはどうにかならないのか

普段Apple Pay経由でのiD, Suicaしか使っていないが、QRコード決済の話題も多くなり、いよいよもってキャッシュレスサービスの関係がわからなくなった。

 

ということで、まとめてみた。

f:id:tetsu663:20181215113801j:plain

電子マネーまとめてみた

赤字が支払いの時に伝えるサービス名のつもりで書いている。基本的に電子マネーのレイヤーのものを支払い時に伝えればいい。

やっかいなのは、電子マネーそのもののカードがあったり、逆に決済サービスのウォレットがあったりするので、そこの境界の違いを各サービスごとに意識しないといけないことだ。

 

便利になっているはずなのに、レイヤーが増えて複雑になるっていうのは正しい進化なのだろうか。

 

MacでVue.jsの環境構築(セットアップ)

はじめに

vue-cliを用いたテンプレート作成までをメモ。なかなか便利なcliです。
(最新のバージョン3.0ではGUIで設定できる機能もあるみたい)

管理ソフトの繋がり

homebrew - nodebrew - npm - vue-cli

vue-cliのインストール

npmでvue-cliのインストール(グローバル)

$npm install -g vue-cli

npmで"vue"自体を最初にインストールするように書かれているものもあるが、"vue"自体のインストールは不要。
インストール後に

$vue list

でコマンドが成功すれば無事インストールできているはず(使用できるテンプレートのリストが出る)。

プロジェクトのフォルダに移動して、以下のコマンドで指定したテンプレートのプロジェクトを作成できる。

vue init <template> <project name>

雛形を作成後、

cd <project_name>
# package.jsonのファイルに従いpackageをインストール
npm install
# 起動
npm run dev

でサーバが起動し、vueのwelcomeページがブラウザで開くはず。



Macにnode.jsをインストールする(2018/09/11ごろ)

JavaScriptjQueryくらいしか触ったことがなかったが、最近のJavaScriptフレームワークを触ってみようと思い、node.jsをやってみる気になったので、導入方法をメモする。(少し調べてnode.jsはフレームワークではないと知った・・・)

1.前提

homebrewがインストール済みであること。

2.全体像

どうやらnode.jsをインストールするにあたり、node.jsのバージョン管理をするソフトを入れるのがベターのよう。
ただ、Macでのnode.jsのバージョン管理はnodebrew、nodenv、ndenv、nvm・・・といろいろある(最近は、どれもこれもバージョン管理入って大変ですね・・・)。
とりあえず、nodebrewが一番ポピュラーなようなので、nodebrewにする(恐らく各ツールでメリデメがあるだろうが、初心者が気にすることは恐らくない)。


以下の手順で実施する。

  • homebrewでnodebrewをインストール

  • nodebrewでnode.jsをインストール

3.インストール

homebrewでnodebrewをインストール。

$brew install nodebrew

SETUPコマンドが用意されているので、それをたたく。

$nodebrew setup

SETUPコマンドの後、PATHを追加するように促されるので、該当のPATHを追加する。 (bashじゃない人は各シェルprofileに追加すること)

$echo "export PATH=$HOME/.nodebrew/current/bin:$PATH" >> ~/.bashrc

追加後は、忘れずにprofileの再読み込みをすること(わからない人はターミナルを再起動)。

インストール可能なバージョンを以下で確認できる(確認して何になるわけではないが)。 成功していれば、nodebrewは無事インストールできている。

$nodebrew ls-remote

特段要件がなければ、安定版のインストールを以下で実施。

$nodebrew install-binary stable 

nodebrewにインストールされているバージョンの確認。

$nodebrew list

ここで表示されるcurrentが使用バージョンである。最初はnoneであり、何もしてされていないため

$nodebrew use <version>

でlistで出てきたバージョンを指定する。

$node -v

が成功すれば、OK。無事node.jsがインストールされた。