findコマンドでパスを検索する(ディレクトリも含めて検索する)
ド初心者かよ、という話。(普段からシェル慣れしている人なら、当たり前に知っていそうな話)
あまりそのようなシチュエーションもないかもしれませんが、弊研究室は、卒論発表のスライド資料を全員共通のGitリポジトリで管理しています。
ディレクトリ構成は(user name)/卒論/(ユーザー名).pptx
みたいな感じになっています。(実際とは少し違うけどだいたいこういう感じ)
これをうまいことスライドだけ集めて発表用PCにコピーしたいという話。
-name
オプションはファイル名に合致するものしか検索できないので、どうしたものかと思っていたら-path
というオプションがあるみたいです。(-wholename
でも同じ)
というわけで、
$ find -path "*/卒論/*.pptx" -exec cp {} ./slides +
みたいにすることで、うまくいきました。めでたしめでたし。というわけで、これから卒論発表してきます😀
ちなみに、findのexecでハマったところ↓
22歳になりました。気が狂いそうな話。
22歳になりました。
もう誕生日も終わりそうですが、本日2月2日で22歳になりました。めちゃ2が並ぶ。
今年はというと、就職というビッグイベントが待っているので、激動の1年になりそうです。頑張ります。
人生の目標としては、自立することでしょうか。なんだかんだ、親に頼りながらここまできたので、就職をきっかけに、経済的にも心理的にも自立して生きていけるようになりたいです。
具体的なアクションとしては、一人暮らしがあるのかなと現状では考えています。資金貯めたりして、2019年内くらいで引っ越ししたいな、という目標です。
気が狂いそうな話
そして、気が狂いそうな話。
悲しいことに、10年弱使ってきたTwitterアカウントがロックされました。
ことの発端は、2月1日。何気なくTwitterのプロフィールにある誕生日を登録したところ、突然↑の画面に。
実は、今まで使っていたアカウント、2009年に登録したものなので、当時12歳。これがマズかったようで、Twitterのガイドラインに違反してロックと相成りました。
フォームから、解除の申請は出してみたものの、希望は薄そうです。
僕くらい、Twitter漬けの日々を送っていると、Twitterアカウントのロックは致命傷のようなもの。
何も表示されないタイムラインを見るために、5分おきくらいにTwitterのアプリを開いてしまう始末。凍結されたことを報告するためにTwitterアプリを開くアホさ。
愚痴や、情報源や、昔のサークルの人々との連絡も全てTwitterでやっていたので、アカウントが死んだことで、孤独老人のようなお気持ちになってしまいました。知らんけど。
アカウントは最悪どうでもいいので、フォロー、フォロワーだけ復元させてほしい…。Twitterさん…。
今更ながらtypescript-fsaが地味に便利だなという話
3日ぶりのブログ更新です。
「ゆるふわ技術日誌」なのに、技術のことでもない日記をつらつらと書くのも、精神的に来るものがあるので、これからは更新頻度を落としても技術的なことを書くブログにしていきたい所存。
久々にReactやりたいな(というかやらないと、書き方忘れそうだな)と思ったので、小さなアプリを作り始めました。
React + TypeScriptのプロジェクトを作るのも、いつのまにか
$ create-react-app hoge --typescript
でできるようになってるし、すごい。
Reduxのアクションやreducderは、普通のJSで書くのであれば、そのままてきとうに書けばいいのだが、TypeScriptとなると、型を当ててあげないとダメですね。(ダメってことはないけど、それならJS使う)
その時に便利なのがtypescript-fsa。
Reduxの型定義ファイルにも、Actionの型とか定義されてるけど、どうもいまいちなので、その辺をよしなにしてくれる。
import { Action } from "redux"; import actionCreatorFactory, { isType } from 'typescript-fsa'; const actionCreator = actionCreatorFactory('common'); export const signedIn = actionCreator<{ uid: string }>('SIGNED_IN'); interface StateType { uid: string | null; } const defaultState: StateType = { uid: null }; export default (state: StateType = defaultState, action: Action) => { if (isType(action, signedIn)) { return { ...state, uid: action.payload.uid }; } return state; };
こんな感じ。
なんかもっと語るつもりだったけど面倒になってしまった。
■
なんだかぼけっと過ごしてしまった……
大変よろしくない…。
ほんとに書くことがないよ
スライドを作る
今日は卒論発表の練習をしていました。
作ったスライドは、8割くらいOKで、残りの2割は要修正といった感じで、自分で作ったにしては、上出来なのではないかなと思った。
卒論発表もLTも、気をつけるべきポイントは似てて、
- スライドにつらつらと文章を書きすぎない
- 図を使って視覚的に伝わるように
- 論点をブレさせない、飛躍させない
と、こんな感じかなと思った。
特に僕は、話の内容を急に飛ばしてしまうクセがあるようなので、その点には気をつけつつやっていきたい。
卒論関連も、本当にそろそろ終わりなので、コード書くなり、設計について学ぶなり、何をやるか決めて、社会人になるまでの2ヶ月を有意義に使っていかねば!と決意したりした。