kazu22002の技術覚書

PHPerでありGo使いでありAWS好きの、うさぎ年のエンジニアの日々

プログラミング

Puppeteerを使ってみた

github.com https://pptr.dev/ Puppeteer は Chrome や Chromiumで動作するUIテストツールです。 ブラウザで操作する内容を、コードベースで確認することができます。ヘッダーレスも可能なツールです。 Nodeのライブラリになります。 今回はe2eテストとして…

golangの構造体について

golangを始めた時に、一番混乱したのは構造体でした。 packageによるnamespaceについて理解はできましたが、構造体の利用についてはかなり悩みました。 ただ構造体の活用を理解した瞬間からコードが構造的になったと思います。PHPの知識が活かせるようになっ…

OAuthのキー取得 【github】

OAuthキー取得のGithub編です。 developer.github.com 設定 https://github.com/settings/developersへアクセス 「New OAuth App」をクリック 「Application name」「Homepage URL」「Authorization callback URL」を入力し、「Register application」をクリ…

OAuthのキー取得 【google】

以前OAuthキーを利用したプログラムサンプルの説明をしたので、今回はOAuthキーを取得の仕方を書いてみます。 kazu22002.hatenablog.com 他のプロジェクトを作ったこともあり、初期からではありませんが、手順は同じです。 個人的に不明な点もまだ多くサンプ…

golangのechoのhtml/templateを使ってみる

golangでhtml/templateを使用したHTML表示を作成したので、理解したことを整理するために書いてみます。 フレームワークとしてechoを使用しています。 テンプレートファイル 読み込みを行うファイルを指定するので、ファイルの拡張子に決まりはないです。 「…

golangでのアプリケーションログを考える

golangでアプリケーションを作成中にfmt.Printfをそのままにしてしまったため、大量に修正を加えることになってしまったので、今後どうするか考えてみます。 ログの出力を制御する まず、パラメータによる制御をいれて出力を切り替えれるようにしておきたい…

webkitのbuildをやってみた

webkitを使って検証する必要が出てきたので、色々としらべてみました。 safariはwebkitベースのため、safariで検証すればいいはずと思っていましたが、求めていた内容にならなかったため、webkitをbuildして試すことができるのかやってみました。 ただし、ブ…

golangでcsvを扱う

csvを読み込み、データを変換してcsvに出力する必要が出たので、golangでさっと作成してみました。 github.com 使用したライブラリは「github.com/jszwec/csvutil」を使用しています。 github.com ヘッダー部分は日本語で出力も行けたため、十分な機能だと思…

はてなブログのデータ取得からスプレッドシートへデータ挿入

振り返りを意識するようになり、いままでやってきたことをデータで見たくなり作成しました。 github.com はてなブログの自分のブログの記事データを取得して、必要なデータをスプレッドシートへ挿入しています。 はてなブログのデータ取得はベーシック認証で…

「Go言語によるWebアプリケーション開発」を読んだ

Go言語によるWebアプリケーション開発作者: Mat Ryer,鵜飼文敏,牧野聡出版社/メーカー: オライリージャパン発売日: 2016/01/22メディア: 大型本この商品を含むブログ (3件) を見る 今回「Go言語によるWebアプリケーション開発」を読み、各章ごとにアウトプッ…

「Go言語によるWebアプリケーション開発」8章 ファイルシステムのバックアップ

Go言語によるWebアプリケーション開発作者: Mat Ryer,鵜飼文敏,牧野聡出版社/メーカー: オライリージャパン発売日: 2016/01/22メディア: 大型本この商品を含むブログ (3件) を見る 最後の8章は「ファイルのバックアップ」です。 ファイルを監視して、変更が…

「Go言語によるWebアプリケーション開発」7章 ランダムなおすすめを提示するWebサービス

Go言語によるWebアプリケーション開発作者: Mat Ryer,鵜飼文敏,牧野聡出版社/メーカー: オライリージャパン発売日: 2016/01/22メディア: 大型本この商品を含むブログ (3件) を見る 7章は「ランダムなおすすめを提示するWebサービス」で、公開されているAPIを…

「Go言語によるWebアプリケーション開発」6章 REST形式でデータや機能を公開する

Go言語によるWebアプリケーション開発作者: Mat Ryer,鵜飼文敏,牧野聡出版社/メーカー: オライリージャパン発売日: 2016/01/22メディア: 大型本この商品を含むブログ (3件) を見る 6章は、5章で作成した投票システムのGUIをWEBページとして作成する章になっ…

「Go言語によるWebアプリケーション開発」5章 分散システムと柔軟なデータの処理

Go言語によるWebアプリケーション開発作者: Mat Ryer,鵜飼文敏,牧野聡出版社/メーカー: オライリージャパン発売日: 2016/01/22メディア: 大型本この商品を含むブログ (3件) を見る 5章は分散システムと柔軟なデータの処理として、TwitterのストリーミングAPI…

「Go言語によるWebアプリケーション開発」4章 ドメイン名を検索するコマンドラインツール

Go言語によるWebアプリケーション開発作者: Mat Ryer,鵜飼文敏,牧野聡出版社/メーカー: オライリージャパン発売日: 2016/01/22メディア: 大型本この商品を含むブログ (3件) を見る 4章はコマンドラインツールを作成します。小さいプログラム群を作成し、コマ…

「Go言語によるWebアプリケーション開発」3章 プロフィール画像を追加する3つの方法

Go言語によるWebアプリケーション開発作者: Mat Ryer,鵜飼文敏,牧野聡出版社/メーカー: オライリージャパン発売日: 2016/01/22メディア: 大型本この商品を含むブログ (3件) を見る 3章は、1,2章のチャットアプリケーションにプロフィール画像を追加して、エ…

「Go言語によるWebアプリケーション開発」2章 認証機能の追加

Go言語によるWebアプリケーション開発作者: Mat Ryer,鵜飼文敏,牧野聡出版社/メーカー: オライリージャパン発売日: 2016/01/22メディア: 大型本この商品を含むブログ (3件) を見る 2章は、1章のチャットアプリケーションに認証機能を追加する章です。 OAuth2…

「Go言語によるWebアプリケーション開発」1章 WebSocketを使ったチャットアプリケーション

Go言語によるWebアプリケーション開発作者: Mat Ryer,鵜飼文敏,牧野聡出版社/メーカー: オライリージャパン発売日: 2016/01/22メディア: 大型本この商品を含むブログ (3件) を見る 最近、go言語でずっと書いており、色々できることを増やしていきたいと思っ…

golangのループ中のパラメータの値変更の書き方

golangのループで値を変える場合の書き方を改善するきっかけの記事にしようかと思い書いてみます。 いままでの書き方 type Sample struct { Number int64 } func main() { tmp := make([]Sample, 20) for k, v := range tmp { v.Number += int64(k) } fmt.Pr…

golangのfloat64の丸誤差について

プログラムの小数点の計算や割り算において、丸誤差を認識する機会がたまにあります。 今回はgolangのプログラムを書いていて発生したので、検証してみました。 プログラムと検証 func main() { fmt.Printf("%f\n", getFloat() * 1000 ) fmt.Printf("%.10f\n…

golangのAPIとTypescriptで困ったこと

golangでWEB APIを作成し、JavascriptでAjaxとしてデータ取得やデータ編集を行った際に、かなり大変だったため書いてみようと思います。 事前知識があるだけで大分変わっていたかと思います。 Angular6での実装でTypescriptを使用しています。 Typescriptに…

golangとWEB APIを作る際に気にすること

golangでWEB APIを作る際に詰まったことや、事前に対策をしておいたほうがいいことを書いてみます。 受信用構造体と返却用構造体を作成 APIの受信用に構造体を作り、返却用に構造体を作る方が個人的にはいいと思います。 コード量は増えますが、さぼらずに書…

golangとxormとoracle ~ Joinと取得カラム ~

golangのxormでJoinしたデータを取得する場合の注意点を書いてみます。(oracleは関係ないかな。) github.com 同じカラム名 joinしたデータを取得する際に、xormのextendsオプションで取得する場合に、同じカラム名がある場合、指定する構造体により取得でき…

golangとxormとoracle ~ AutoIncrementとJoin ~

golangでの開発は楽しいですね。最近ひたすら書いている気がします。 その中でoracleを使う開発があり、かなり困ったことがあったので、解決案を書いてみようと思います。 xorm github.com ORMを利用するために選んだライブラリです。oracleがexperimentでも…

いまさらCakePHP2のモデルが遅い原因を発見

最近、CakePHP1系からCakePHP2に移行する機会があり対応しました。 さすがにバージョンが上がるので、悪くはならないと想定していましたが、逆に遅くなってしまい、かなり困りました。そして原因追求の旅をすることになりましたね。(先が見えなかったー。。…

iOSのhttp2ベースのpush通知ってあまり認知されていない感じですか

iOSのpush通知でいままではSSHでの接続でのデータ送信でしたが、http2ベースので送信が結構前にできるようになっています。 developer.apple.com 結構時間が立っているので、やり方をググれば出てるかと思いましたが、意外とないですね。 ちゃんと調べるとFC…

JWTを使っている人に話を聞いてみた

JWTの検討を先日行いましたが、実際に運用で問題なく使っている人が近くにいたため、話を聞く機会がありましたので、ちょっと質問してみました。 どのように使ってますか アプリからAPIでデータを取得するために使用している。 どうしてJWTを使用しようと思…

JWTが使えそうなため実装する前に調べてたことです

iOSのhttp2でのpush通知をやろうとした際に、JWTを使う必要がありいろいろと調べた内容です。 結構昔からある仕様ですが、触れる機会とこの技術はなんだろうという好奇心がなければ、気にしないですよね。 jwt.io しらべてみてWebApiで活用が多いとのことで…

【Vue.js】computedとmethodsの違い

Vue.js触るの楽しいです。 ただ、絶賛混乱中です。 computedとmethodsとの違いについて、使い方が混乱しています。 jp.vuejs.org 算出プロパティのcomputed <div id="example"> <p>Original message: "{{ message }}"</p> <p>Computed reversed message: "{{ reversedMessage }}"</p> </div> <script> var v…

npmの運用はどうするのがいいか考えてみる

npmを利用してライブラリを利用する機会が増えてきました。 www.npmjs.com ライブラリ名でインストールすれば便利な機能が使えちゃうので、よく理解せずに使っている感じがあります。 インストールすると、node_modulesにファイルがものすごい数でインストー…