yikegaya’s blog

yikegayaのブログ

「Goならわかるシステムプログラミング」の11章を読んだ(プロセスの役割と Go言語による操作)

前章に続いて写経しつつ「Goならわかるシステムプログラミング」の11章を読む。 現在起動中のプログラムの絶対パスを表示 package main import ( "fmt" "os" ) func main() { path, _ := os.Executable() fmt.Printf(" 実行ファイル名 : %s\n", os.Args[0]) …

「Goならわかるシステムプログラミング」の10章を読んだ(ファイルシステムの最深部 を扱うGo言語の関数)

前章に続いて「Goならわかるシステムプログラミング」の10章を写経しつつ読んだ。 ファイルの変更監視 開発言語や環境によらず、プログラムでファイルを監視する方法には、次の2種類があります。 監視したいファイルを OS 側に通知しておいて、変更があった…

「Goならわかるシステムプログラミング」の9章を読んだ(ファイルシステムの基礎と Go言語の標準パッケージ)

「Goならわかるシステムプログラミング」の9章(ファイルシステムの基礎と Go言語の標準パッケージ)を写経しつつ読んだのでメモ。 ファイルシステムとは コンピューターにはさまざまなストレージが接続されています。ハードディスクやSSD、取り外し可能なSDカ…

「Goならわかるシステムプログラミング」の8章を読んだ(Unixドメインソケット)

「Goならわかるシステムプログラミング」の8章を読んだ。8章はUnixドメインソケットについて。 TCPとUDPによるソケット通信は、外部のネットワークにつながるインタフェースに接続します。 これに対し、Unixドメインソケットでは外部インタフェースへの接続…

「Goならわかるシステムプログラミング」の7章を読んだ(UDP)

引き続き「Goならわかるシステムプログラミング」の7章を写経しつつ読んでみる。 前章はTCPだったけどこの章はUDP。TCPより機能が少なくシンプルなプロトコル UDPはTCPと同じトランスポート層プロトコルですが、TCPと違ってコネクションレスであり、誰とつな…

「Goならわかるシステムプログラミング」の6章を読んだ(TCPソケット通信)

6章 ソケット通信について 6章からソケット通信についての内容で6章はTCP。前章までに比べてサンプルコード多め。 写経して動作確認しながら読んでみた。 ソケットとは プロセス間通信の一種です。ソケットが他のプロセス間通信と少し違うのは、アドレスとポ…

「Goならわかるシステムプログラミング」の4章、5章を読んだ

「Goならわかるシステムプログラミング」の4章を読んだのでメモ。4章はチャネル、5章はシステムコールについて 4章 チャネルとは何か 本文から引用 ソフトウェアの世界には、キュー(queue)と呼ばれるデータ構造があります。 キューは、最初に投入したデー…

「Goならわかるシステムプログラミング」を読み始めた

「Goならわかるシステムプログラミング」読み始めた。とりあえず1-3章まで読んだのでメモ。 Goならわかるシステムプログラミング(PDF版のみ) – 技術書出版と販売のラムダノート Kindleで欲しかったんだけどなかったんで公式サイトからPDF形式を購入してみ…

GoとGraphQLでカレンダーアプリのサーバサイドを実装した

Vue.jsで作ったカレンダーアプリのバックエンドをGoとGraphQLで実装してみた。 github.com 以前に個人開発でGo、gorm、ginを使ってRESTのAPIサーバを作ったことがありkonnkaimoORマッパーにはgormを使ったので前回との差分はGraphQLくらい。 github.com Goで…

Vue.jsでカレンダー作ってみた

Vue.jsでカレンダーライブラリを使わず自作のカレンダーを作り始めてみた。create-nuxt-appでプロジェクト作って、とりあえず 月単位で日付表示 月選択 まで実装できたので実装内容書いてみる。 見た目 ソースコード全体 GitHub - ikeyu0806/vue-calendar: V…

LPICレベル2に合格した

9月の末にLPICの201試験受けたけど続けて202試験も受けてきた。で、合格できたのでこれでレベル2に認定された。 201試験受けた時の感想 LPICの201試験受けてきた(合格) - yikegaya’s blog 202試験の内容 DNS DNSの基本 BINDの基本設定 ゾーンファイルの管…

「改訂2版 みんなのGo言語」読んだ

「改訂2版 みんなのGo言語」をざっと読んでみた。 初版が2019年8月発売でその時点での最新のGo言語事情がまとまった本。今2020年の12月なんで1年経ってるけどまあそこまで今の状況と解離してないはず。 改訂2版 みんなのGo言語作者:松木 雅幸,mattn,藤原 俊…

SQLのカウントで地味にハマったこと

SQLで論理削除されていない件数を一行で出そうとしたら軽くハマったのでメモ。DBはpostgresql。 論理削除フラグはdelfというカラムで0なら削除されていない。1なら削除済みと判別している。 別にgroup byかwhereでカラム指定すればいいんじゃと思うけどgroup…

AWS EKSの講座受けてみたが複雑なので内容整理

この間UdemyでMac上にminikubeの環境を構築してkubenetesを学ぶ講座を受けたが、その続きでローカルではなくAWS EKS上で本番運用っぽく動かしてみる講座があったので受講してみた。 米シリコンバレーエンジニア監修!AWS EKS KubernetesハンズオンBest Pract…

Rails+Postgresql環境でauto incrementなカラムを作る

Rails+Postgresql環境で主キーではないauto increment(Postgresqlではsequenceというらしい)な属性をもつカラムを作る必要があってやり方迷った。で、結局こうした。 Migration内でで使えそうなRailsのAPIが見つからなかったので(こんなことそんなにやる…

wheneverからsidekiq実行

Railsアプリでwhenever(cron使って良い感じにバッチのスケジューリングをしてくれるgem)からsidekiq(redisを使った非同期処理を提供してくれるgem)のワーカー実行したかったんだけど単純に{ワーカークラス}.perform_syncをschedule.rbからなぜか実行でき…

S3に保存した画像のサービス内での扱い

S3に保存した画像画像にいろいろ情報つけて扱う実装で考えたこと。 例えばこの画像はプロフィール画像用でこれはメモ用、とかの属性つける場合どうしたら良いんだろ。RailsとReactで作ったWebサービスで使う想定。 S3の仕組みでオブジェクトにjsonでメタデー…

Reactで動画をキャプチャしてDBに保存する

Reactでビデオ要素をキャプチャしてDBに保存する実装のメモ。 サーバサイドは/api/internal/register_imageのエンドポイントを作ってbinary型のカラムに保存できるようにしておく フロント側の実装 video要素をcanvasに描画してそのままrequestで送れる。 co…

作業効率を高めるために役立つこと

作業効率を上げるためにやってることメモ 環境変数に開発中のプロジェクトのパスを設定してすぐcdできるようにする bashrcにgitのaliasを設定 bundle execとかよく使うコマンドもaliasにする 設定ファイルをgithubで管理する(dotfile) historyコマンドの上…

LPICの201試験受けてきた(合格)

LPICの201試験受けてきた。で、合格できた。 LPICレベル1の更新期限前にレベル2取得するか迷ってたけど、業務でインフラの知識もう少し欲しいな。。と思う場面が最近ちょくちょくあってせっかくなんで勉強してみた。 201試験の内容 参考書の目次より キャ…

kubenetes触ってみた(Mac上で動くとこまで)

kubenetes調べて軽く動かしてみたのでメモ。 Dockerfile、docker-composeは作れる くらいのところから kubenetesの基本的なリソースは理解 ローカル環境でWebサービス動かせる というくらいまでは到達できたと思われ。 そもそもkubenetesはなんなのか とりあ…

Nuxt.js触ってみた

Nuxt.js(Vue.jsベースのフロントエンドフレームワーク)が気になったので軽く触ってみた。 ググって調べてもいまいち物足りなかったのでUdemyのセールで講座買って受講してみた。セールなら安いし4時間で終わるので気軽にできてよい感じ。ただライブラリの…

Typescript+Next.js+Goで作ったサービスが大体できてきた

ポートフォリオとしてフロントエンドをTypescript+Next.js、バックエンドをGolangで作っていた映画情報を取得、レビューできるWebサービスの基本機能の実装が大体できてきた。映画情報の取得にはTMDBのAPIを使用している。 基本機能はできたもののやりたい…

Vuexの勉強をしてみる

vue.js入門の7章のタスク管理アプリケーションを写経しながらVuexの勉強をしてみる Vue.js入門 基礎から実践アプリケーション開発まで作者:川口 和也,喜多 啓介,野田 陽平,手島 拓也,片山 真也発売日: 2018/09/22メディア: Kindle版 App.vueのtemplate部分 …

Vue.jsの勉強再開した

しばらく仕事でも個人開発でもReact使い続けてきたけど、Vue.jsも気になってきたので勉強し始めた。 とはいえ全く触ったことがないわけではなく、以前の職場で少しだけ触ったことがあって、その時に一応一通り勉強はしていた。 とりあえず本棚から昔買った本…

reactでレビュー機能を実装する

こういう↓星付きのレビュー機能をReactのポートフォリオに実装した時のメモ。 CSSフレームワークbulmaのモーダルで動かしている。 const [score, setScore] = useState<number>(3) const [isShowModal, setIsShowModal] = useState<boolean>(false) return ( <div className={isShowModal ? "modal is-active" : "modal"}> <div className="modal-background"></div> </div></boolean></number>

axiosのpostリクエストをginで受け取る

Reactでaxiosからgolang+ginのAPIサーバにpostリクエストを送る時にこんな感じ↓でaxiosからpostされてきた値を受け取ろうとしてうまくいかなかった。 ginで作ったサーバサイド func (pc Controller) Login(c *gin.Context) { param_name := c.PostForm("nam…

Goの独自パッケージimportメモ

個人開発でGo+Gin+GormでAPIサーバを作ろうとした際に、コードを独自パッケージに切り出した。 パッケージの扱いが多言語とちょっと違って戸惑ったのでメモ。 やろうとしたこと 最初main.goに書いていたGormでのMySQLへの接続処理をdbパッケージに、Ginで…

useEffect、useStateでhttpリクエストを飛ばしてrenderする時のテスト

useEffect、useStateでhttpリクエストを飛ばしてレスポンスの内容を元にテーブルの内容を描画する画面を書いていた。 で、レスポンスを元に表示した内容をテストしたかった。よくありそうな話だしすんなりいくだろう、、と思ったら思いの他苦戦したので作業…

js側でPCとスマホ、タブレットの表示分ける

スマホ、タブレットで表示を変えるときにCSSで@media指定して制御するのはよくやるけど、要素の順番とか配置等ガッツリ見た目に変更足したい時があった。 CSSだとスマホの時に要素の並び替え変えるのはflex指定すればできたりするけどどうも綺麗にいかなかっ…