こんばんは、葛の葉です。 個人で最近Reactを触れています。 ReactHookを使ったステートの変更を行うときにtypeを使うとよいということがわかりましたので連携しようと思います。 コードはこんな感じ type SetFileTextAction = { type: "setFileText", fileT…
JavaScriptでびっくりした仕様 console.log(typeof null) // "object" console.log(typeof undefined) // "undefined" undefinedはundefinedで返ってくる。面白い。 判定させたいなら〇〇 === nullを使う感じ。。。なんだろうか👀
こんばんは、葛の葉です。 さて、5/31をもって職業プログラマーとして満二年をとげ、6月からプログラマー三年生になりました。当時、駆け出しプログラマーだった私も、少しはプロっぽくなったのかなぁと思います。プログラマーという夢をかなえることができ…
こんばんは葛の葉です。 ネストになっているオブジェクトを処理しようとすることが多くて、そのネストの深さがものによってまちまちな場合の処理書くの辛いなぁっている昨今なんですよ。色々と考えたら、これは再起処理でコードを書くのがいいんじゃないかな…
こんばんは葛の葉です。 Javascriptのディープコピーをちょっと書きます。Javascriptではconst copyedObj = JSON.parse(JSON.stringify(obj));を使うと思います。 const obj1 = { hoge: 1, piyo: "hiyoko", fuga: true }; const copyedObj1 = JSON.parse(JSO…
こんばんは葛の葉です。 Pythonにはjanomeという形態素解析が出来るモジュールがあるみたいです。 mocobeta.github.io 形態素解析はwikipediaを参照してください。 ja.wikipedia.org 青空文庫にある「坊っちゃん」の一文を形態素分析してみます。 www.aozora…
こんばんは葛の葉です。 個人的な話ですが、Pythonを久しぶりに使うことになりそうなので勉強中です。 久しぶりに触ったらcollections.Counterオブジェクトというものが出てきたので触ってみることにしました。 collections.Counter collections.Counterは辞…
こんばんは葛の葉です。 いつものアホ面でcurlを叩いたら見慣れないErrorが出てきました。 $ curl -vI https://***********.htm * Trying ***.***.***.***... * TCP_NODELAY set * Connected to ********** (***.***.***.***) port 443 (#0) * ALPN, offerin…
こんばんは葛の葉です。 さて、JavaScriptのDateオブジェクトにはtoISOString()というメソッドが存在します。このメソッドは、ISO 8601に定められる国際規格で記述された日時の表記を出力できるものとなっています。返却値の型はstringになります。 develope…
こんばんは葛の葉です。今回もミニサイズで。 二つの配列をチェックし重複を消して配列として出力する スプレッド構文とSetを使って重複削除をします。比較的新しいEcmaScriptになるので、古いやり方だとどうやるかはちょっとわからない。。。 developer.moz…
こんばんは葛の葉です。今回はMongoDBのBulkWriteについて書いていきます。 公式ドキュメントはこちら MongoDB本体のドキュメント docs.mongodb.com NodeのMongoDBドライバーのドキュメント mongodb.github.io version packageのversionはこんな感じです。 {…
こんばんは葛の葉です。 まぁ私もこんな取るに足らないブログ書いてる私がこんなこと言うのもなんなんですけど、Google検索で調べものをしているときにブログや某IT系記事がちょっと邪魔くさいなって思うときがあるんですよね。モジュールやミドルウェアに何…
こんばんは葛の葉です。 体調を崩したので今回も省エネです。 JavaScriptを書き始めてはや9ヶ月ぐらいなんですけど、最近、これいいなぁって思うJSの構文を書いていきます。 スプレッド構文 Mozillaのリファレンスはこちら。 developer.mozilla.org これは配…
こんばんは、葛の葉です。 最近、個人でReactを触っています。 ja.reactjs.org Reactはもはや説明不要なほど有名なフロントエンド向けのJSフレームワークです。 JSX(TypeScriptならTSX)を使うことが独特。 ReactはJSXという専用の拡張構文を使用します。 ja.…
こんばんは葛の葉です。 URLを集めている業務がありまして、httpリクエストを投げてステータスコードを集めているのですが、そのときに時々に発生したエラーコード「HPE_INVALID_CONSTANT」に随分悩まされました。 そのときにこのツイートを見かけてクララが…
こんばんは、葛の葉です。 今回はAWSのCloudWatchLogsにたまったログに検索をかけ、それを吐き出すということをやっています。いくつか大変なことがあったので、それを書いていこうと思います。 CloudWatchLogsクラスからインスタンスを作る前に awsのsdkを…
こんばんは葛の葉です。 Javascript配列のfilterの使い方を勉強します。Arrayオブジェクト内のメソッドであるfilterを使って条件に満たす要素を取り出し、新たに配列を作成します。 developer.mozilla.org 配列の各要素に対して実行するテスト関数です。この…
こんばんは葛の葉です。 このブログ、自己研鑽として始めることとなってもうそろそろ1年と9ヶ月になるんですね。 そろそろ自分のサービスを作りたいなぁと思っていて、ブログに書き込む時間を減らして、自分の作りたいものに時間を当てたいなぁと思ってい…
こんばんは。今回はPromise.allを使ってみます。MongoDBも使います。 developer.mozilla.org 記載の通り、配列に入ったPromiseを全部解決するまで待つという動きが出来るようになります。 Promise.allを使わないやりかた import {MongoClient, MongoClientOp…
こんばんは、葛の葉です。 今回は疲れているので省エネです。 起こったこと PuppeteerでE2Eテストをやっててヘッドレスだとテストが通らないのに、ヘッドレスをやめるとテストが通るという現象がおきました。そしてそれはタイトルの文字が正しく表示されるか…
こんばんは、葛の葉です。 今回はURLからjsを起動してみます。悪用厳禁ってやつですね。 こんなイメージ hogehogeというパラメータに渡したデータをhtml上に表示するようなWebサーバーを作ります。今回もnodeの基礎的なライブラリであるhttpを使います。また…
こんばんは葛の葉です mongodbのフィールドにある数字を取り出そうと正規表現を使ったのですが、全くヒットせず、正規表現の書き方が間違ってるのかなんなのかがわからず、暫く格闘を続けるというアホみたいなことをしていました。 MongoDBの公式について Pr…
こんばんは、葛の葉です。 Vue.jsの本を読んでちょっと勉強中です。結構楽しいですね。個人開発のWebアプリケーションを作ろうと思っているのですが、Vueでこさえることが出来たらなぁと思ってます。 ちょっとしたFizzBuzzのゲームを作る。 ランダムで出力さ…
こんばんは、葛の葉です。 今回はCookieとSessionとSessionIDを使ったログイン情報の保持を実施します。 前述 普段我々が使用しているWebページでは、ログインを必要とするページが多いかと思います。ログインに一回成功するとその成功したログイン状態とい…
こんばんは、葛の葉です。 今回はBasic認証をやってみます。 Basic認証とは Basic認証とはHttpに搭載されている認証方法の一つになります。Httpヘッダーに認証のためのユーザー情報とパスワード情報をBase64にて暗号化して送付します。その値をサーバーが受…
こんばんは葛の葉です。 今回はExpressで任意のhttpステータスコードを送信する機能を書きます。 github.com import e from 'express'; import {Request, Response} from 'express'; const app = e(); app.get('/', (req:Request, res:Response)=>{ // 200 s…
こんばんは葛の葉です。 いつものアホ面でGithubを眺めてたら見慣れないのがあった。GitHubアクションというものらしい。そういえば邪魔くさいポップが出ていたっけ。ちょっと触ってみることにした。 help.github.com GitHub Actions では、エンドツーエンド…
こんばんは、葛の葉です。 今回はMySQLを使ってトランザクションを勉強しようと思います。 トランザクションとは データベースはデータを保存しています。プログラマーやプログラムを使うユーザーはデータベースに対して、データを閲覧、追加、変更、削除を…
こんばんは葛の葉です。 さて、とあるOSSを使っていたところ、ちょっと重いバグが出ていて、しかも開発者がそれを再現できないというものがありました。 そこで時間を掛けて調査したところ、そのバグを再現できる環境を作成することが出来ました。早速、開発…
こんばんは葛の葉です。 最近はPuppeteerとテストコードを使用しE2Eテストを書いています。今回はそのことについて記載してきたいと思います。 今回のソースコードはこちら github.com E2Eテストとは E2EテストとはEnd to End Testのことで、Webブラウザなど…