田舎で並行処理の夢を見る

試したこと、需要がないかもしれないけど細々とアウトプットしてます

【Elixirのサンプルコード有り】条件に一致した時に再帰を停止する方法4つを書き比べてみた

なんでbreak_reduceみたいなのはないんだろう 配列(リスト)に対して、各要素を精査する際に、特定の条件にマッチする要素が見つかった時点で処理を停止して、Elixirであれば{:exist, value}のような値を返す関数をよく作成することがある。頻出の処理パター…

【実装コード有り】銀行家のアルゴリズムの実装と検証

今更作った理由 たまたまgoogle scholarで並行処理に関する資料を眺めていたらダイクストラ法で有名なエドガー・ダイクストラさんの名前を見かけた。自分の中では数学者という認識をしていたが、実は分散コンピューティングの分野で、どのようにシステムの信…

【Elixir/supervisor入門】通常のモジュールに対してsupervisorを定義する

なぜ書いたのか Elixirにおいてプロセスの死活管理に用いるsupervisorについて学習を進めていたが、どれもGenServer、すなわちElixirのbehaviorを用いたサンプルばかりだった。また、そのプロジェクトはmix new --sup project_nameとして生成されるもので、…

【収益ほぼゼロ】何の考えもなしにブログ100記事を書き終えたので反省会をしました

100記事を書くことが凄いのか よく著名なブロガーが「まずは100記事書くといいですよ」ということを仰っている。なぜ100件なのかという根拠はないが、意図としては100も記事を書けばブログを書く習慣も身に付き、言葉の扱い方も多少は様になってくる...とい…

【golangのサンプル有り】クロージャ(closure)完全に理解した人のためのクロージャを使った便利サンプル集

クロージャ完全に理解した...で何に使うの? 実は使いこなせると結構便利。特定の値に対する操作を共通化することが出来て、想定しているもの、言い方を変えれば作者の作成しているもの以外の操作を制限することも出来る。あと、かっこいい。 クロージャのユ…

【goroutineによる並行処理】サンプルを作りながら学ぶgoroutine入門

golangを学ぶ上での壁goroutine golangを業務で使い始めてから約半年になりました。業務ではgolangを使ってWebsocketを使ったチャットサーバーを作っています。golangの文法は非常にシンプルで分かりやすくシンプルなので、可読性が非常に良いです。普通にgo…

【現役エンジニア】SCRATCH(スクラッチ)で遊んで何が出来るのかを体験してみた

ビジュアルプログラミングSCRATCH SCRATCH(スクラッチ)に関しての説明はもう不要だと思いますので省きます。小学生などの低年齢層を対象にプログラミングをブラウザとGUIを使って学習することが出来るMIT開発のビジュアルプログラミングのプラットホームです…

ビジュアルプログラミングを卒業した後に覚えたいプログラミング言語

プログラミングを学ぶ背景 2020年より小学校ではプログラミングが必修化されて、必然的に小学校を卒業するまでに生徒たちはプログラミングを学ぶことになります。 www.mext.go.jp 小学校でのプログラミングが必修化されている目的として「プログラミング的思…

【現役エンジニアが物申す】未経験のエンジニアが企業でインターンやアルバイトをする際のNGな言葉5選

この記事の対象読者 未経験からエンジニアになりたい 他業界からエンジニアに転職したい フリーランスを目指したい 自由なワーキングスタイルを確立した リモートワーク, テレワークがしたい など... 近年はインフルエンサーの影響も強くあり、プログラミン…

【モジュールとの比較】Elixirで無名関数を使って再帰処理を記述する方法

無名関数では再帰処理が難しい Elixirで再帰関数を記述しようと思った際には、defmodule Fooと定義して、そのモジュール内部にdef barのように関数を定義して、パターンマッチもしくは、分岐処理によって再帰関数を処理するのが一般的。 defmodule Sample do…