Scopeに気をつけて!

TL;DR

packageのscopeを指定し忘れていると、 はsuccessするのに、GitHubのPackagesには公開されない。

Details

"publishConfig": {
"registry": "https://npm.pkg.github.com/"
}

と書くと、npm registryとしてGitHub Packagesを利用できる。なおログインの方法などいろいろ巷には転がっているが、公式のものを見るのが一番わかりやすくて良い。

package.jsonに書いておくと、そのproject固有にできるので良い。
なお をせずとも、publishするタイミングでログインできるので必要ない。

2FAを使っ …


Shot on GX7MK2 by たふみ

たふみです。
今日7月5日は…なんと! 私の誕生日です。わーい。

インターネット上では今の所、自分からは年を書かないことにしているので、残念ながら何歳かは言えないんですが、だいぶ来ました。いつもありがとうございます。

あ、欲しいものリストはこちらです!

https://www.amazon.jp/hz/wishlist/ls/1NVXMMW5X0P3T?ref_=wl_share

さてさて。

今日はせっかくなので、私がこれからの未来だと思っているもの、についてお話させていただきます。

ソフトウェア開発の世界に足を踏み入れて、約10年が経ちました。最近では、いわゆる“ソフトウェアの正しさ”に興味範囲を移していて、形式手法やCSP理論や静的デッドロック検出など幅広く勉強させていただいてます。

私は、起業が似合うタイプではありません。
あまりお話してきませんでしたが、過去に2度、そんなようなことに挑戦して、非常に辛いことがたくさんあったり、プロダクト自体のアイデアにあまりクリエイティブになれないため、身を持って感じました。今もはっきりいってやりたくありません。
それよりは、私の信頼する人や会社の下で、その人達が目指すものに共感し、一緒に作り上げていくほうが向いているようです。

そういう中で、挑戦したいものが2つあります。

1. No Code

私は今、ソフトウェアを書いてお金をもらえていることが奇跡だと思っています。専門職だから〜とはよく聞きますが、正直、なんで自分がコード書いてお金もらえてるんだかよくわかってません。もらいすぎてる感覚さえあります。

そして世の中には、ソフトウェアエンジニアではないけど、頭がすごく良くて、正直自分が10年やってきたことを1年くらいで感覚でつかめてしまうんじゃないか、という人がたくさんいます。たくさん出会ってきました。

また、現在プログラミングを勉強する上で一番大きな障壁は、「環境構築」だと私は思っています。これほど大事なところで、これほどまで経験が物をいうところは他にないんじゃないかってくらいです。

とはいえ、そういう天才的な人たちの発想や行動力が、そんなところで押しつぶされて良いはずがありません。もっと、ソフトウェア開発は民主化[1]されていいと思うのです。

[1]ソフトウェア開発の民主化: 民主化と言っていますがコミュニティの話ではなく、ソフトウェアのユーザーへの開放度をあげることにより、よりユーザーが踏み込んだレイヤーでサービスを使えることで自動化その他諸々好きなアイデアを自由に簡単に試せるようなことを指しています。より難しい層はソフトウェアの開発側で担保し、簡単な部分の自由度をなるべくあげることにより、また一定のスキーマを用いてフローを作成し実行できれば、それは民主化への第一歩だと思っています。

そういう本質的でない難易度の高い部分というのは、高級言語やサービスにより抽象化され、誰もがプログラマーを目指せると思えるような世界に次第になってきました。それをもう1段階推し進めることで、特徴的なものを削ぎ落とし、平滑化されたプラットフォームの上で思想を自由に形にできたら、それは強いのではないでしょうか。そしてそのあるべき姿が、私はNo Codeだと思っています。

きっとこれは多くの人が考え、だめだと挫折していったのでしょう。私も、書いていて正直未来が見えません。未来の話をしているつもりなのに。結局No Codeを突き詰めていくと、プログラミングになる気がしてやみません。

今、私はNo Codeをプログラミング言語の一段上の高級レイヤーだと思い、同時にプラットフォームであると認識することで、どうにかならないものかと日々考えています。どうしても、それが紙と鉛筆のような自然な道具になる気がしていて、そういう未来を楽しみにしています。

2. 小さな閉じたグループ同士が疎結合したコミュニケーションプラットフォーム

私はSNSに関して思うところがたくさんあります。同時に、ありがたいことにSNSにはたくさんの心から信頼している仲間が何人もいて、時代に感謝せずにはいられません。

しかし、行き過ぎたグローバル化が国民経済の崩壊など様々な問題を引き起こしたように、つながりすぎることに人は疲れ始めている気がします。有名だと言われた1部の人にその他大勢があつまり、追いかけて、消費して、忘れる。私はそういうことに疲れてしまいました。

できることなら、もっと小さなスコープで考えたいです。大きなスコープで考えなければいけない複雑な問題が、わたしたちの周りにはあまりに多すぎます。でもつながることが悪いとは思っていません。よりたくさんの人がつながったから、良いことも数え切れないくらいありました。それを忘れてはいけません。

だから、閉じたグループが島のように点在し、ある時ふと、となりの島のお祭りの声が聞こえて、ああ楽しそうだな、と感じるような。そのくらいのSNSの生活がしたいです。

SNSの難しいところは、誰か有名人が動くことで多くの人がそれについていき、流行ることや、誰かが紹介することで、みたいなことが多いと思います。
でも、この形式のプラットフォームは、あえて有名人を作らず、自分が楽しいと思う範囲での濃いめのつながりがあり、ときどき引っ越しして、他のグループと薄い関係を保つようなイメージです。

うまく行かないと思います。今までで一番近いと思ったのはGoogle+で、普段は閉じた範囲=サークル限定公開での情報共有をしているが、ある時共通のフォローしている人のコメントに何かを書き込むことで、どんな人なのか触れられて、そこから仲良くなるような。

閉じている時点で基本無料のSNSプラットフォームの経済モデルとしては破綻しています。収益化は無理でしょう。これまた未来がみえません。でも私はこれが未来なんじゃないかと思っています。

私は、個人開発でサービスを開発・運営することは、よっぽどなことがない限りしないと思います。(もちろん個人開発は進めていきますよ!)

上で上げたのは、あくまでも私の夢です。こんな未来が来たらすごいんだろうな、きっともっと加速するんだろうな。でもいまでも十分加速してますし、違う形でもっと加速するかもしれません。
私は短期的に見た未来に落胆しますが、長期的な視点では楽観的です。楽しみで仕方ないです。それは、人間1人としてどうしようもないと落胆しているけれど、人類全体で考えたら未来がキラキラしていると信じてやまないのと同じかもしれません。

というわけで、何歳かの誕生日を迎えたよという記事でした。きっと何年か後、見返して甘かったなぁと思っているんでしょう。ねぇ。

これからも皆さんよろしくおねがいします。

たふみ


hugoに疲れてしまったので

gen logo

TL;DR

genの特徴

  • 他のmarkdownがimportできる (front matterのimport)
  • 見通しがいい
  • simpleに、markdownファイル -> htmlファイル
  • 以外にデフォルトの機能がない

hugoという静的htmlのジェネレーターがあります。これはかなり高機能な一方、使いこなすのがとても難しいと私は感じています。

挙動にimplicitな部分が多いとも感じており、例えば、デフォルトでuglyでないurlを推奨しているせいか、/path/to/hogehoge 的なかっこいいページを生成したい人にはいいんですが、私はただ単にmarkdownをそのままのstructureを保ったままhtmlを生成し …


TL;DR

おサイフケータイ アプリで「ICカード残高自動読み取り設定」をオフにしていた

支払いができなくなった経緯

自分はよくPixelを財布の上に置く。財布には物理カードのSuicaや楽天のクレカが入っているので、毎回勝手におサイフケータイが立ち …


どうも https://krypt.co/kr | sh をしたときに、shにaptのrepositoryがaddされないみたい。

kryptonのapt repositoryは

http://kryptc …

ひさびさにハマりました。

TL;DR

moduleのtsファイルと同じ場所にjsファイルを置いてしまっていた (テストでtscでコンパイルしたときのゴミファイル)

Background

a.ts

export class A {
str: str …

Riot.js Advent Cal 2019 の21日目の記事です。

TL;DR

export default {
onBeforeMount() {
let fr = document.createDocumentFragment()
Array.from(this.root.children).map(v => fr.appendChild(v))
this.state.fr = fr
}
}

Background

Riot.jsを数年前から巨大monolithic PHPとHTML密結合serviceの部分的な置き換え & 新機能投入に使用しています。Backendからjson | GraphQLでdataを取ってきてfrontでどうにかするという概念がほぼ存在していません。

仕様書などが …


ぼく自身、大学に入るまでは大学が自分に必要だとはあまり思ってませんでした。

もちろん、学問のSanctuaryである大学は不必要だと思ったことはなかったです。ただ、理論よりもプロダクトを作っていたい昔の自分は …


世の中知らないことだらけ


Photo by João Silas on Unsplash

このシリーズは英語で書いていこうと思っていたのですが、 に関する記事がもっと日本語でもほしいなと思う事情があり、日公開後→英訳とします。

なお前回の記事はこちらです。

さて、前回はexpandupに言及していますが、いろいろと自分を囲む環境が変わり、expandupのupdateのかわりに、hugoとriotの運用についてお話します。

hugoとは、

こちらのことで、静的サイトジェネレーターになります。

riotとは、

こちらのUI libになります。詳しいことは入門に関して書いている記事がたくさんあるのでそちらを御覧ください。

私が今回メインで試したのは、hugoのtemplateを作りサイトを作る際に、riot.jsを使う、ということです。
hugoのtemplateは、under …

DE LIKER

デザインのことやプログラミング・コンピュータサイエンスのこと、日々のことを書きます。

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store