Kuzunoha-NEのブログ

プログラミングなどの勉強をしてます

【TypeScript】ifとimport

こんばんは、葛の葉です。 さて、TypeScriptで条件によってモジュールをインポートする、あるいはインポートしないようにしたい場合があるかと思います。 if(true){ import {hoge, moge} from "./ex"; } // error TS1232: An import declaration can only be…

【JavaScript】非同期処理とTryCatch

こんにちは、葛の葉です。 JavaScriptにおける非同期処理とtry catch文についてみてみましょう。一般的に、try文内で発生したErrorはcatch文に移動します。 try { throw new Error('Test Error'); console.log('hogehoge'); } catch (error) { console.log('…

【Markdown】シンタックスハイライトっていうのを使いましょう

葛の葉です。 マークダウンでしばしば色のついたコード書きを見るかなぁって思います。 import {hogehoge} from "./hogehoge" console.log(JSON.stringify(hogehoge)); let hugahuga; for ( let piyo of piyos ){ hugahuga += piyo; }; これはシンタックスハ…

【MongoDB】DockerComposeでクラスター構成のMongoDBを作る

こんばんは葛の葉です。今回から土曜更新に変更します。 さて、今回はDockerComposeでクラスター構成のMongoDBを構築します。 imageのバージョン mongo:4.2.1-bionic DockerComposeの記述 クラスター構成のDBを構築するのだったら、ネットワークやら何やら色…

【C言語】ファイル読み書きを頑張るぞ

こんばんは葛の葉です。今日もC言語です。 FILE型を使うんざ # include <stdio.h> これが宣言されていればFILE型は使えるようになってます。ポインタ変数を渡して作成しましょう。FILE型で作ったポインタをfopen関数に渡してあげるとファイルが読み込まれるようです。</stdio.h>…

【C言語】関数へのポインタをちょっと

こんばんは葛の葉です。 基本情報に備えてC言語をちょろっと勉強しています関係で、さっきちょろっと勉強した関数ポインタを書いてみることにします。 Version $ gcc --version gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 Copyright (C) 2017 Free Software…

【TypeScript】Webpackでフロントにnpmモジュールを使う

こんばんは、葛の葉です。 今回はWebpackを使います。 Webpackとは Webpackとはざっくり説明すると、複数のJavascriptをまとめて一つにしてくれるものです。これを使用することでnpm経由でインストールしてきたモジュールをフロントで使用することができます…

【TypeScript】PostgreSQLとExpressをつなぐ

こんばんは、葛の葉です。 今回はPostgreSQLとExpressを繋いでみましょう。 諸々のバージョン postgres (docker) postgres:11.5-alpine node (docker) 8.16.1-alpine pg(npm package) 7.12.1 データベースの情報 今回はPostgresを使用します。Herokuでも使え…

【TypeScript】ExpressとApplicationFactory

こんばんは葛の葉です。 さて、ExpressでApplicationFactoryを作りましょう。 以前Flaskで作ったようなものを作成します。 kuzunoha-ne.hateblo.jp version express == 4.17.1 プログラム ディレクトリはこんな感じなのだ . ├── app.ts └── factory.ts Expre…

【JavaScript】プリントデバッグあれこれ

葛の葉です。 JavaScriptでプリントデバッグあれこれのことを書きます。 とりあえずみて class Piyo { constructor(num, str){ this.num = num * 3; this.str = str; this.test = ["唐揚げ", "焼き芋", "醤油指し"] } } const Test1 = "hogehoge"; const Tes…

【JavaScript】SocketIOで通信しよう

こんばんは葛の葉です。 今回はSocketIOでJavaScriptとPythonを通信してみます。 JavaScript側(サーバー側) 前回のWebAPIの記事の際はJavaScriptがクライアント側でしたが、今回はサーバー側に回ります。 SocketIOで通信をする場合、Httpでの通信を確立し…

【Node.js】WebAPIを受け取ってみる。

こんばんは葛の葉です。 さて、簡単なWebAPIを作成し、Javascriptで値を受け取るようにしてみます。 pythonでWebAPIをつくる # app.py from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/') def index(): data = { 'status': '…

【雑記】アクアパーク品川でみたイメージングライトというもの

こんばんは葛の葉です。 勉強用に使っていたPC(Ubuntu18.04)がご臨終となってしまいした。わたしのコマンドの操作ミスで壊したわけですが、それはまぁおいおい話すとして…先日、アクアパーク品川に行ってきました。 このアクアパーク品川にあった「イメージ…

【Javascript】querySelectorAllでDomをとるかねぇ

こんばんは葛の葉です。 今回はdocument.querySelectorAll()をつかってDomをとります。 下記のようにhtml内でpiyopiyoクラスの要素が複数あります。 <html lang="ja"> <body> <div class="hogehoge"> <div class="piyopiyo"> <p>大腸菌がしゃっくりする</p> </div> <div class="piyopiyo"> <b>ほんど</b> </div> </div> <script src="./test.js"></script> </body> </html>

【JavaScript】.addElementListenerを使った関数の呼び出し

葛の葉です。 Javascirptを現在、勉強しております。 さて、今回はhtmlの要素がclickされたときにjavascriptの関数を呼び出す方法を記載します。 まずボタンを作る 以下のようにbuttonを配置します。 <html lang="ja"> <header> <title>TestTitle</title> </header> <body> <button type="button" id="testButton">こんにちは</button> </body> </html> 押しても反応しないボタン…

【TypeScript】抽象クラスの作成

こんばんは、葛の葉です。 今回は抽象クラスを作ってみます。 前回のインターフェイスをパクります。 kuzunoha-ne.hateblo.jp 動物という抽象クラスを作る classを作る際の雛形を作る。共通部分を作る部分としてはインターフェイスと似ているようだけど、内…

【TypeScript】interfaceを作る

こんばんは、葛の葉です。 今回はTypeScriptでinterfaceオブジェクトを作ってみます。 生物に対し足の数と全長メンバー+成長というメソッド 犬というクラスとカエルというクラスを作る。 それぞれ、footというメンバーとlengthというメンバー,そしてgrowthと…

【Linux】Bashのバックグラウンドで実行する

こんばんは、葛の葉です。 さて、今回はLinuxでバックグラウンドモードで起動する方法をお伝えします。 flaskアプリを作る 以下のコードをapp.pyとして作成する。 from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "Hell…

【TypeScript】mochaとchaiでユニットテストする

こんばんは、葛の葉です。 前回からTypeScriptを使っています。 kuzunoha-ne.hateblo.jp 今回はTypeScriptでUnittestを行いたいと思います。 フォルダ構成 ├── src │ └── fizzbuzz.ts └── test └── fizzbuzz.test.ts FizzBuzzをつくる srcディレクトリ内でfi…

【TypeScript】列挙型をTypeScriptで使う

こんばんは、葛の葉です。 現在、TypeScriptを勉強しています。 Enumesをちょっとだけ勉強しました。 ディレクトリ構成 ├── app │ └── enum.ts └── enum.html enum.html /*./app/enum.tsじゃないよ*/ <script src="./app/enum.js"></script> TypeScriptを書く app/enum.tsをいじる。 enum Hoge { f…

【Flask】Configについて

とても参考になったサイト https://qiita.com/nanakenashi/items/e272ff1aafb3889230bc https://www.subarunari.com/entry/2018/03/17/いまさらながらFlaskについてまとめる_〜Configuration〜 http://flask.pocoo.org/docs/1.0/config/ https://damyanon.ne…

【Docker】コマンド以降をEchoするDockerfileの作成 - ENTRYPOINT

こんにちは、葛の葉です。 Dockerに出てくるENTRYPOINTについて調べていました。 今回はdocker run [IMAGE_ID] ***の***をエコーするDockerImageを作成したいと思います。 大変参考になったサイト qiita.com Dockerfile FROM alpine:3.9.4 ENTRYPOINT ["echo…

【DockerCompose】DockerfileのFROMに使える変数の設定

こんばんは、葛の葉です。 DockerfileでFROMに対する変数を入れることで、色々使いまわせます。 docs.docker.com DockerComposeのargsを使えばこんなこともできます。 ファイル構成 . ├── Dockerfile └── docker-compose.yml Dockerfile ARG Ver FROM python…

【Docker】Dockerっていうものを使ってみようぜ その1

こんにちは、葛の葉です。 そろそろブログを本格的に初めて1年ほどになりました。そういえば、どんな記事を書いたかな、と思い、振り返ってみたところ、こんな記事を作っていました。 kuzunoha-ne.hateblo.jp 初心に戻り、同じ事柄について記事に書いてみま…

【Python】flaskのsessionについて…

session内に「key」というキーと「value」(string)という値を作りたい場合 session['key'] = value session内「key」というキーから値を取り出したい場合 以下のどちらでもよいが… variable = session['key'] variable = session.get('key') session.get('ke…

【雑記】MySQL8.0のmy.iniを更新したらmysqlサービスが動かなくなったらしい

こんばんは、葛の葉です。 先日、友達に電話越しでMySQLについてを教えていたところ、my.iniをいじる必要が出てきました。そのmy.iniの一部を変更したらサービスを開始できませんでしたと動かなくなりました。これは想定内だったのですが、変更した値を元に…

【Python】pandasを使ってみる

こんばんは、葛の葉です。 ここ最近はPyQというサービスを使ってPythonの勉強をしています。環境構築とかがなくても、Webブラウザ上ですぐに学べるのがいいところだと思います。月3000円とネットフリックスと言った娯楽サービスの月額料金と比べるとお高い感…

【Python】1年近くプログラマーやってFizzBuzzの作り方が変わったのさ

こんばんは、葛の葉です。 以前までの作り方 def fizuubuzz(num): if num % 15 == 0: return 'FizzBuzz!' elif num % 3 == 0: return 'Fizz!' elif num % 5 == 0: return 'Buzz!' else: return str(num) これからの作り方 ディレクトリを作成する。 ├── /app…

【Python】pycryptomodexのインストール

環境 Windows 10 home Python3.6.5 Build Tools for Visual Studio 2017インストール visualstudio.microsoft.com 画面下部にいってTools for Visual Studio 2017を押下してBuild Tools for Visual Studio 2017をダウンロード + インストール pycryptoのpip…

【DockerCompose】Volumesをうまく扱う

こんばんは、葛の葉です。 前略、MySQLのデータを永続化しようと、DockerComposeのvolumesの箇所で"自分のディレクトリ:/var/lib/mysql"と記述したらMySQLがOSがどったらこったらとエラーを吐いて動きませんでした。 PCはWindows10Homeです。Docker上でMySQL…