Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

Programming

JavaScriptでコールバックで失敗を検知した時にどうやってリトライするか

Node.jsの例えばfs.renameのような非同期のメソッドを使っていたときなどに、 リトライしようとして、それをどうやって実現するかという話です。 コールバックだと単純にはうまくいきません。 いろいろ方法はあると思いますが、一例を説明しようと思います。…

C++でオブジェクトを返す関数を書いてもいいのか問題

C++でオブジェクトを返す関数を書いてもいいのか問題→OKです。 遅かったらプロファイル取りましょうで終わりです。 かなり過去にC++でstd::stringをどう返すべきかという記事を書いたこともあり結局いま、例えば、関数内でvectorを加工してその結果を呼び出…

Spring Boot 2 + JQuery DataTablesで一覧画面を作成

今更ながらjQuery系ですが、使ったことがなくてでも便利そうなので使ってみました。 皆さん大好きSpring Boot 2を使用しました。 また、Pagingが面倒なので皆さん大嫌いHibernateを利用しています。 結論としてはJQuery DataTablesは思ったより使いやすくて…

JavaScriptで静的変数

例えば次のような処理を考えてみます。 名前と身長と体重を与えると、その人のBMIがメソッドにより出力されるというものです。 さらに、食料foodNumがあって、食べると1つ減って、 代わりに1kg増えるものとします。食料はあらかじめ、貯蔵量に限界があって…

上限付き境界ワイルドカードについて

Javaを使っていると、Clazz<Foo extends Bar>とかClazzというような あまり見た目にやさしくない呪文を見かけると思います。 これはなんだ?って話です。 これは上限付きワイルドカード(upper bounded wildcard)といいます。 そもそもなんでこれが必要なのか メソッドやクラス</foo>…

Express 4 + EJS + Socket.IOでWebSocketをやってみる

WebSocketをNode.js(Express 4 + EJS + Socket.IO)で復習がてら実装しました。 ハマりポイントはbin/wwwを修正しないと動いてくれないところ。 Expressってシンプルで綺麗な設計のフレームワークなんですが、 結構はまりやすいポイントが多いと思います。 No…

JavaScriptで使えるグラフ描画ライブラリとその有効活用例について

ふとニュースなどをみていて、新型コロナウィルスの感染状況のグラフのサイトを見つけて、お、綺麗だしシンプルでいいなと思ったのがここ。 よくある質問の部分も、一見、グラフを眺めていて、ん???と思う疑問点が書かれてあって良い。 「具体的な基準はM…

VSCodeでPython3開発環境構築

WindowsでVSCodeとAnaconda3(Python3)で開発環境を整えることにしました。 目標は次の通りです。 VSCode上で関数の定義へのジャンプや参照、コード補完ができる docstring(JavaでいうJavadoc)が楽にかける テストのカバレッジ取得及び通ったコードパスが視覚…

Maven + Eclipseでマルチモジュールプロジェクトを作成する

良く忘れるのでメモ 様々な事情でプライベートリポジトリを立てられなかったりする場合や、 そもそもプライベートリポジトリ立てるまでもないよねというときに便利なマルチモジュールプロジェクトの構成を作ります。 お題目は、Spring Boot + MongoDB + Post…

Vue.jsでテーブルソートを作ってみた

Vueの練習を兼ねてVueでテーブルソートを作ってみました。 気が向いたらPagerも作るつもり(気が向いたら)。 SPAは最近興味がないので(大半のケースでオーバースペックなので…) 単純にscriptタグでVueを入れてるケースです。 Vueをあえて選ぶ勢ってたぶんです…

フィボナッチ数列でメモ化

なんとなくC++をちょろっと書いてみたくなったので書いてみました。 いや、ほぼC言語だけど…。 それよりもWandboxがC++2aとかになってて…えぇ…C++11からかなりバージョン上がってるなぁ…という印象です。 #include <iostream> #include <cstdlib> #include <stdexcept> #define CHECK(e) do</stdexcept></cstdlib></iostream>…

Spring Boot 例外処理/エラーハンドリングメモ

Spring Bootでは例外処理はthrowしてしまえばわりとよしなにやってくれるが… それでも考えるべきことはある。 場合によっては例外処理をあまり使わず、オブジェクトの戻り値による処理をすることもある。 と、去年の1月からSpring Bootを使い始めてSpringの…

Spring BootのScheduledTaskの検証

@EnableSchedulingを用いて Spring BootのScheduling Tasksについて調査しました。 Spring BootにはSpring Batchという仕組みがあるのですが、やや大仰で使いにくいです。 Web系システムでの利用だと単純なスケジューリングのTaskで十分なことが多いと思いま…

Spring BootのThymeleafとTypeScriptを組み合わせてみたかったのでやってみた

Web開発では最近はReact, Vue, Angularを使ってSPAが主流ですが、 とはいっても、レガシーなjQuery UIとBootstrapと組み合わせてサーバ側でレンダリングしたいこともままありますよね。 そんなわけで、僕の場合、特にjQuery UIを使いたい。 というのが一番に…

AngularとjQuery/jQuery UIを組み合わせる

AngularとjQuery/jQuery UIを組み合わせるのは何か間違ってる気がしますが、 Angularの部品が足りなくて、どうしても使いたいことが起きることがあるかと思います(たぶん…)。 ここは意識低い系の方法を紹介します。 (意識高い系の方法は知識不足でちょっ…

Angular6に移行メモ

Angular5.2からAngular6に移行したのでメモ 移行手順 https://update.angular.io/ で示されることをひたすらやっていく Angular Version 5.2 -> 6.0 App Complexity Basic ngUpgrade I use ngUpgrade no Package Manager npm Before Updating httpモジュール…

Angular5のmain.bundle.jsが重いのでSpring BootのGzip圧縮を試してみる

Angular6出ましたね!割と前に… Angularを使っています。Angularは割といろいろ好きなところはあるのですが、 やはり、FullのSPAを作っているならまだしも、そうでないので、 趣味&実験でプロダクトにぶっこんだ側面もあるので、いろいろ困難があります。 …

システム開発で最近やっていることのまとめ&感想

ここ3か月程度で取り組んでいることのまとめと感想 ほぼ殴り書きで自分向けに書いている内容となっています。 それぞれ細かく記事は書きたいのだけれど… 備忘録的な位置づけで書いてしまっています。 ※Web系の人ではないので悪しからず…。 技術スタック Java…

Angular + TypeScript + Spring Bootをやってみた

2018/08/12更新 最近開発でAngular(2+) + TypeScript + Spring Bootを使っています。 それぞれのバージョンの詳細はこんな感じです。 Angular 6 TypeScript 2.7.2 Spring Boot 1.5 Java 8 Maven 3 Node.js 8.11.3 Angular-CLI 6.0.8 実際の構成例 GitHubに置…

Git 備忘録

Gitでcommitを分割したいとき 次のコマンドでコミット番号を見る $ git log --oneline --graph リベースする $ git rebase -i 59b146c ※上記コミット番号はあくまで例 エディットするコミットを選ぶ 下記のようなコミットメッセージが表示されるので、pickを…

GitHubにリポジトリを新規作成する手順

よく忘れるので個人的メモ 何か既に手元にプロジェクトがあるとする。 例としてrails 4.2.2のrails tutorialのプロジェクトを作るとする。 GitHubでプロジェクト作成 そうすると実は次に手順が書いてある …or create a new repository on the command line e…

MacでSAStrutsの環境構築とチュートリアルのセットアップ

SAStrutsのチュートリアルのセットアップ方法のMac版です。 過去記事はこちら eclipseをインストールします ダウンロードしてインストールします。 ちなみにMacだといろいろついているpleiades All in Oneはないので 普通にJava EE用のインストーラーを落と…

SAStrutsの環境構築とチュートリアルのセットアップ

今更ですが、SAStrutsのtutorialの環境構築をします。 SAStrutsとはJavaのWebフレームワークStrutsの1系を改造したものです。公式のチュートリアルのセットアップのページの手順を踏むと 情報が古いのか不親切なのかたぶんうまくいかないでしょう。 下記では…

C++でカレンダー

カレンダーなんてJavaScriptを使ったらすでにたくさん便利なのがありますが、 自分でカレンダーを書いたらどうなるか…とおもい書いてみました。C++で。 そういえばツェラーの公式というのがあり、使ってみました。 C++はここ数か月書いてませんでしたが以外…

単方向リスト(Singly Linked List)の実装 (C++)

単方向リストを勉強がてら久々にビールを飲みながらC++で書いてみました。 これをやると、ポインタって何かってよく理解できますね。 しかしビールを飲むと、わけのわからないミスをしでかします…。 ソースコード #include <iostream> #include <exception> namespace My { templa</exception></iostream>…

LINQを学んでみよう

最近、C#が好きになりかけています。 理由は楽ちんだから。 C#をやろうとすると避けて通れないものにLINQがあります。 別に使わなくてもかけるんだけど、 やっぱりLINQを知らないとほかのソースコードも読めないことがしばしば。 ちょっと勉強しないと使える…

MVCとか3層アーキテクチャとか勉強しなおし

ほとんど独り言のような記事です。 なんとなく理解して、なんとなく覚えるMVCとか3層アーキテクチャ この2つ全く別物なんですが、ごっちゃにして覚えてる人多いですよね。 日本人だけかと思ったら、海外の人もそうみたい……。 正確ではないけどstackoverflow…

Cygwinにmonoをインストール

今日もきれいなおねーさんです。結婚してください!!(*´ω`) 癒されますね。 話は変わり、mono使ってみたいなーと軽く調べてみると、 Macはもちろんのこと簡単にWindowsでもmonoが使えるようです。 ただ、Windowsでmonoってクロスプラットフォームなものを…

どんな列(幅)でも行数でも読込む関数作りました

2020-08-12 C言語を使っているとC++のstring/vectorが使えないせいで 可変長の文字列を含んだファイルを読込むときは 非常に泥臭いことをしないといけない。。。か、もしくは 決めうちで列幅を固定してしまったりすることが多いと思います。そんなわけでどん…

C言語のグローバル変数とexternについて

C言語では言語仕様上、グローバル変数は良く使うと思います。 できるだけ避けるのは言うまでもありませんが。 そこでよく混乱するのがexternではないでしょうか? ヘッダなんかをインクルードすると あれ?そういえばexternって……どうなんだっけ…ってことに…