たなしょのメモ

日々勉強していることをつらつらと

「Team Geek ―Googleのギークたちはいかにしてチームを作るのか」を読んだので感想

未経験でインフラチームのリーダーになるという無茶振りを受けた際に、本の背に書いてあったGoogleのギークたちはいかにしてチームを作るのかの文に惹かれて買って読んでから半年後にはなりますが感想を書いていこうと思います。 先に読んだ感想を先に書くと…

本気で学ぶ Linux実践入門 サーバ運用のための業務レベル管理術をよんだので感想

本気で学ぶ Linux実践入門 サーバ運用のための業務レベル管理術を少し前に読んだので感想を書きいていきます。 (かなりうろ覚えです) この本はUbuntu(Debian系)とCentOS(レッドバット系)の二つのOSの視点から各コマンドの動作を確認できるので、現場に…

Rustで簡易なシェルを作成する

今回はRustの勉強ついでに簡単なシェルを作成してみようと思います。 今回作るシェルについて 今回作るシェルは下記の機能があるシェルを作成します。 cd Unix準拠のコマンド コマンドのオプションへの対応 パイプライン Rustで作成してみる 処理は大まかに…

ローカル環境でACLライブラリをincludeさせたい

ABCの問題を解く際にどうしてもACLライブラリをローカル環境でincludeしてみたかったので試してみました。 下記のgccのオプションで現在のincludeしているディレクトリを見ることができます。 $ gcc -x c++ -v -E /dev/null (中略) #include "..." search st…

プログラミング言語Rust公式ガイドをよんだので感想

TRPL読みました ようやくRustの学習を初めてTRPLの本を読み切ることができました。 インターネットでTRPLで無料で読めるのですが、 今まで何度も挫折してきたため本を買うことで読みきれるかなと思い、購入しました。 結果として読み切ることができたので本…

2022年の振り返り

あけましておめでとうございます。 2022年も終わってしまいましたが一応振り返ってみようかと思います。 会社とプライベート両方を書いていこうと思います。(会社のことは少しだけ書こうと思います。) 開発 コードをたくさん書いた年になりました。 中でもVi…

達人に学ぶDB設計を読んだので所感

達人に学ぶDB設計を読んだので所感を書いていきたいと思います。 日ごろ何気なく使っているDBについて深く学ぶことができたのでとてもいい本でした。 会社の同僚にも勧めてみたいと思います。 1章 データとは何か、なぜデータベースが必要なのか、本書で学ん…

「Linuxで動かしながら学ぶTCP/IPネットワーク入門」を読んだので所感

Linuxで動かしながら学ぶTCP/IPネットワーク入門を読みました。 現在CCNAの資格を取得するために勉強中なのですがその副読本としてとても良い本でした。 今まで本や資格の勉強の中でしか見てこなかったネットワークの動きがわかりました。 2章 この章ではTCP…

「動かして考えればよくわかる高効率言語 Rust 書きかた・作りかた」を読んだので所感

動かして考えればよくわかる高効率言語 Rust 書きかた・作りかたを読みました。 Rustについては以前microsoftのRust の最初のステップを読んで以来なので勉強になりました。 章ごとに感想を書いていこうと思います。 1章 Rustの概要やインストール方法、開発…

GoでJsonファイルを取り扱う際に苦労したのでメモ

Goを使って今書いているCLIのツールで設定ファイルをJsonで書いているのですが、 配列の中にネストされているJsonデータを取り扱いできない問題が発生したのでここに解決策をメモしておきます。 問題のJsonは下記のようなファイルです。 { "settingArray": […

GW中にVimプラグインを作った

GW中にVimプラグインを作った http://0xcc.net/unimag/1/ から影響を受けたメモツールを作成しました。 日々のメモや開発メモなどに活用してみてください! https://github.com/jacoloves/vim-ChangeLog 動作概要 ・Vimで動作します!(NeoVimでの動作は確認…

Linuxのしくみを読んだの感想を書く

Linuxのしくみを読んだの感想を書く www.amazon.co.jp 低レイヤーを勉強して行く中でとてもよい書籍だと評判なので読んだ。 結論はとてもわかり易い書籍だった。 特に図が豊富なのとCやShellで書かれたプログラムを実行してタスクの稼働状況見る部分や その…

エンジニアのためのGitの教科書を読んだので感想でも書こう

エンジニアのためのGitの教科書 実践で使える!バージョン管理とチーム開発手法作者:株式会社リクルートテクノロジーズ,株式会社リクルートマーケティングパートナーズ,河村聖悟,太田智彬,増田佳太,山田直樹,葛原佑伍,大島雅人,相野谷直樹翔泳社Amazon 新し…

HerokuとGitHub ActionsとGoを使って祝日APIを作った話

APIをつくろう Goを学んでいてせっかくならなにか作ろうと思い、社内のチャットで祝日APIについて話題が出ていたので この機会に祝日APIをGoで作成しました。 今回作る祝日APIPのデータは内閣府の国民の祝日についてというサイトのCSVから2021~2023年までの…

Rust勉強してみた 10日目

改行ありの長い文章 改行ありの長い文章を代入したい場合は、"\で書き始める。 let contents = "\ Rust: safe, fast, productive. pick three."; cargo build cargo buildは下記の様に二つあるあって、コンパイラが異なるプロファイルを使用する。 cargo bui…

開発環境をLinuxにしたはなし

Lubuntu 20.04 LTSにした話 掲題の通りLinux生活にした。 今の所これといって生活に支障をきたすこともなく順応していると思う。 もともとゲーミングPCを買ったのはいいがゲームもせずもっぱらwsl2を起動してUbuntu環境で遊んでいて、 よく使うソフトウェア…

Rust勉強してみた 9日目

ファイルを分割した。 minigrepのファイルを分割した。 main.rs extern crate minigrep; use std::env; use std::process; use minigrep::Config; fn main() { let args: Vec<String> = env::args().collect(); let config = Config::new(&args).unwrap_or_else(|err</string>…

Rust勉強してみた 8日目

テスト #[should_panic] 記載するとテストケースでpanicに入ると正常終了になる(テストが)。 expectedに文字を入れるとFAILEDしたときにその文言が出力される。 #[should_panic(expected = "Guess value must be less than or equal to 100")] [ignore]を…

Rust勉強してみた 7日目

時計をアプリを作成する 思い付きで時計アプリを作成しようと思い立ったのでその際に調べたことを書いていく。 今回のdependencies 今回のライブラリクレートこちら [dependencies] termion = "*" chrono = "0.4" 一つ目はtermionというライブラリクレート。…

Rust勉強してみた 6日目

ライフタイム fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { 引数と返り値ともに同じライフタイムを持たせたい場合は寿樹のように書く。 これはresultをかっこの前に宣言してるのでライフタイムの影響でエラーになる。 fn smp_main2() { let string1…

Rust勉強してみた 5日目

HashMap let text = "hello world wonderful world"; let mut map = HashMap::new(); for word in text.split_whitespace() { let count = map.entry(word).or_insert(0); *count += 1; } これはtextに記載されている文字列から空白を削除して、単語を数える…

Rust勉強してみた 4日目

match 矢印の左に記載した条件に一致していたら、右側に記載のあるものを呼び出す。 let mut count = 0; match coin { // {:?}州のクォーターコイン Coin::Quarter(state) => println!("State quarter from {:?}!", state), _ => count += 1, } if-else文で…

Rust勉強してみた 3日目

学んだ細かいこと タプルをで引数を渡す場合は(タプル名: (型, 型))みたくするといい感じ。 fn area(dimensions: (u32, u32)) -> u32 { dimensions.0 * dimensions.1 } 渡すときはタプルを使って渡してあげればよい。 let a = (30, 50); let b = area(a); 構…

Rust勉強してみた 3日目

学んだ細かいこと タプルをで引数を渡す場合は(タプル名: (型, 型))みたくするといい感じ。 fn area(dimensions: (u32, u32)) -> u32 { dimensions.0 * dimensions.1 } 渡すときはタプルを使って渡してあげればよい。 let a = (30, 50); let b = area(a); 構…

Rust勉強してみた 2日目

所有権 Rustを学んでるときにかなり難しかった。 let s1 = String::from("hello"); let s2 = s1; この文法でもエラーは起きなかった。 だがこの文法にしても正常に実行できる。 let s1 = String::from("hello"); let s2 = s1.clone(); これはclone関数を呼び…

Rust勉強してみた 1日目

Rustを触ってみた どうも最近AmazonがRustのコア開発者をたくさん雇用してるようなので、もしかしたら次に来る言語はRsutなのではないかと思い勉強してみることにした。 基本的な文法から勉強して色々なツールが作れれば楽しいなと思いながらこのブログをま…

Go言語でマークダウンファイルをhtmlファイルに変換する処理を作る

日頃から技術的なことをメモをする際にマークダウン形式でメモを取っているのですが、 それをブログに上げる際にいつもvscodeでhtmlファイルにコンバートをかけていたのですがGo言語の学習のついでに変換機を自作しようと思い作ることにしました。 まだまだ…

久しぶり。fuelphpでなんか作る。

本当に久しぶり ちょっと色々とゴタゴタしていて全然ブログが更新できなかった。 今は新しい会社でfuelphpでサイトの開発や保守運用をやっている。 会社で使っているfuelphpでなにか作ってみようと思う。 1万時間時計 でも作ろうかな。 テーブルのカラムはこ…

開発環境構築(vagrant、postgresql、pythonでアプリをつくる)その3

テンプレートhtmlがdbのカラムの値を出力しない listでデータを保持していたため出力されなかった。 下記がlistでデータを保持したままrender_htmlにデータを渡していたソース。 # -*- coding: utf-8 -*- from flask import Flask, render_template import p…

開発環境構築(vagrant、postgresql、pythonでアプリをつくる)その2

python3のインストール vagrantにpython3をインストールする。 公式のサイトを参照していればインストール。 www.python.jp flaskのインストール pip3でflaskをインストールすると下記警告とエラーが出た。 $ sudo pip3 install flask WARNING: The director…