やわらかテック

興味のあること。業務を通して得られた発見。個人的に試してみたことをアウトプットしています🍵

2019-01-01から1年間の記事一覧

【第16回清流elixir勉強会】今年のElixirに関する学習を振り返る会

トピック elixir-sr.connpass.com 早いもので今年ももう終わろうとしています。今年度より清流elixirというコミュニティを立ち上げて勉強会を行い今回を含めて合計16回の勉強会を開催することが出来た。幅広い方に参加して頂き、多くの方と知り合うことが出…

【サンプルコード有り】golangとclosureで作ったクールなカウンターをElixirで書き直した

closure(クロージャー)とは何か 難しい概念の説明は強いエンジニアや大学の賢い先生方にお任せするため、深い説明は行わない。ざっくりと言うと、関数の中である値を保持させておいて、その値を変化させる(操作する)ための変数を保持している関数の内部に用…

【書評】Elixirの歴史を辿るうちに「電話はなぜつながるのか」をふと読んでいた

なぜ読んだのか 【新品】【本】電話はなぜつながるのか 知っておきたいNTT電話、IP電話、携帯電話の基礎知識 米田正明/著posted with カエレバ楽天市場Amazon7net 個人的な興味があって、以前よりElixirというプログラミング言語を学んでいる。このElixirの…

websocketを使ったgolang産チャットアプリのやらかしスレッド設計をkubernetesでスケール可能に修正した

機能に関する詳細 現在、業務でwebsocketを使用したチャットアプリケーションの開発に関わっている。自分が担当しているのはサーバーサイドのみで、実装はgolangを使用している。websocketのライブラリはgorilla/websocketを採用している github.com サーバ…

【現役エンジニアが考察】はじめてのプログラミング言語習得のコツ。挫折しないためにはどう学ぶべきか

この記事を書く理由 個人的にElixirというプログラミング言語の勉強会を主催したり、セミナーに登壇する中で多くのプログラミングの初学者や、現在、学習をしているが、何をしていいのか分からないなど多くの相談を受けた。毎度、回答する中で「参考になりま…

【プログラミングErlang7章より】並行処理とアクターモデルの概念について

並行処理について 人間なら誰でも並行処理を理解している。 この世界は並列だ。 Erlangのプログラミングは人間の思考と対話をモデル化している。 人間はそれぞれメッセージを送ることによって通信し合う独立した存在として動く。 誰かが死ねば、他の誰かが気…

【第15回清流elixir+fukuoka.exもくもく勉強会】Elixirでチャットサーバーを作りながらNode間通信を試す

トピック elixir-sr.connpass.com Qiitaのアドベントカレンダーの執筆したり、業務が忙しすぎたり、PIDの闇にハマっていたりで、少し間が空いてしまいましたが第15回のレポートをまとめました 今回も前回同様に、kogaさんにお声がけ頂きましてfukuoka.exさん…

Elixrのプロセスとは一体何なのか。探索の旅に出てた

今更だけど Node間通信のチャットサーバーを作っている時にふとなぜか、「Elixirでspawnとかした後に返ってくるPIDって一体何なんだ?」と思い立った なぜsend(target_pid, message)とするだけで対象のプロセスにdataを送ることが可能なのだろか。Node間通信…

ほとんど毎日パソコン触って目の疲れがやばいのでブルーライトカットメガネを買って1週間使った感想

Zoff ブルーライトカットメガネ(スクエア型 PCメガネ(|Zoff PC CLEAR PACK【ゾフ クリアレンズ 透明レンズ 軽量メガネ ブルーライトカット パソコン用メガネ PCめがね PC眼鏡 パソコンめがね メンズ レディース おしゃれ zoff_pc ブラック PCクリアパック】…

【第14回清流elixir勉強会】Elixirのマクロを完全に理解する会

トピック elixir-sr.connpass.com 第14回目となる清流elixirの勉強会を開催しました 今回からは本格的にリモート参加枠を用意した。しかし、これが思っていたよりも何倍も難しい。会場のホットな温度感や議論が始まるとリモート参加者にはその現場感を伝える…

【メタプログラミング入門】Elixirのマクロに非黒魔術士が挑む

マクロは黒魔術 以前からメタプログラミングという単語を耳にしたことはあり、存在は認知していた。マクロはメタプログラミングを行うための機能、言語という意味で捉えれば良い(マクロ in メタプログラミングという階層になっている) 要するに言語拡張のた…

人生で初めてLTしてきたので後日談【よわよわな新卒が勉強会を始めた話】

後日談とは(1週間以上経ってる いつもお世話になっているからpiacereさんから声を掛けて頂き、人生で初めての自身のネタでのLTかつリモートLTをしました fukuokaex.connpass.com 今回話したネタは「清流elixirのこれまで -東海にElixir界の異端児が生まれた…

【レポート】第13回清流elixir勉強会を開催しました【Elixirで作成されたOSSのコードを読んでみる会】

トピック elixir-sr.connpass.com 第13回目の清流elixirの勉強会を開催しました 今回はOSSのコードを読んでElixir力をあげるという目的かつ、弊コミュニティ初の試みとしてリモート(Zoom)での参加にも対応しました これで全国からのジョインが可能に!! 勉強…

Elixirでプロセスをspawnで生成してErlangの:random.uniformを呼び出すと全て同じ値になる

何が起こったのか これの実行結果が全て同じ数値になるのなぜ...???https://t.co/DoUBNy6BoJ(1..10, fn _ -> spawn(fn -> num = :random.uniform() IO.puts(num) end) end)— OKB (@sing_mascle69) 2019年10月22日 まず、プロセスを複数立ち上げて並行で処理…

Elixirで定数を定義する

Elixirには標準にconstがない ※書き方が早く知りたい方はこの章は読み飛ばして頂いて構いません Elixirはいわゆる関数型言語だが変数の再代入、正しくはパターンマッチを何度も行うことが出来る。またgo-langのような厳密な型の指定も必要ない user_input = …

【頭おかしい(褒めてる】ゼロからトースターを作ってみた結果を読了

なぜ読んだのか 下記ブログにて紹介されていたところを発見し、ぶっとんだタイトルとおそらく著者が作成したであろうトースター?のサムネイルが強烈すぎて、これは読まずにはいられない!!とAmazonにて即購入。中古品でだいたい600円ぐらい。新品だと税別で7…

docker-composeを使ってReact+phoenix+postgresの環境を構築する

概要 ほとんど個人的メモです 自身でよく構築することの多い以下の環境を毎度、調べながら作るのが面倒なのでまとめたって感じです React(front end) phoenix(backend, elixir web framework) postgres(open source database) 毎度悩むのが、dockerのimageを…

【レポート】第12回清流elixir勉強会を開催しました【elixirでミニCodeReTreatやろうぜ!!】

トピック 今回で第12回目の勉強会を開催致しました。いつのまに12回も... elixir-sr.connpass.com 以前よりずっと個人的にやりたいなーって思っていたCodeReTreatを開催しました 名古屋でも開催されているのをちらちらと見たことがありますが、中々参加でき…

【レポート】第11回清流elixir勉強会を開催しました【Taskを使った並行処理に入門】

トピック 今回で第11回目の勉強会を開催致しました elixir-sr.connpass.com 隔週にて勉強会を開催していたのですが、先月は仕事の都合で日程が合わずで3週間時間が空いてしまった こういうのは一回サボる癖が付いてしまうと徐々に習慣化してしまうので気をつ…

【失敗しないプレゼン資料】プレゼン資料のアンチパターンとプレゼンに対する考え方について

なんだこの記事 自分は大学生時代に研究室で先生から資料の作り方の極意たるものを叩き込まれた 専門分野の知識よりも、資料の作り方を意識することに大半の時間を費やしたと思う (卒論のプレゼン資料に枚数制限(上限8枚, 他研究室は平均20枚ぐらい)とフォン…

【OTP入門】ElixirとOTPを使ってスタックサーバーを実装するまで

そもそもOTPとは 一言で言えば、Erlangで用意された便利なライブラリなどの集合体で便利ツールをまとめたものという認識をしている OTPとはopen telecom platoformの略で当初は堅牢性が重要な電話交換機を開発するために使用されていた 今になってはElixirで…

みんなのAIキャリカレッジin関西にて頂いた質問17個への回答まとめ

みんなのAIキャリアカレッジin関西 edgeai.connpass.com 先日こちらのイベントのパネルディスカッションなるものに登壇させて頂きまして 参加者の方から頂いた質問にお答えしました 自分自身は業務として機械学習に取り組む人間の1人として回答をさせて頂き…

【空いた時間を有効活用】暇な人・挫折した人に見て欲しいTEDの素晴らしい公演7選

TEDとは何か www.ted.com 世界中で講演会を開催している非営利団体であり、毎年世界各地で数多くの公演を開いている 公演の内容は非常に幅広く、経済や政治にはじまり技術や人生観など様々で非常に多様性がある また、その公演の多くはTED公式サイト、youtub…

【レポート】第10回清流elixir勉強会を開催しました【Elixirで速度測定】

トピック 今回で第10回目の勉強会を開催致しました elixir-sr.connpass.com 3月の下旬に始めた当勉強会も、気づけば10回もやってたのかと感慨深い 「どうやって運営してるんですか?」とよく聞かれることがあるが別に何か特別なことはしていないはず ただ、自…

fukuoka.exさんのもくもく会にリモートで参加させて頂きました【Phoenix入門】

参加したもくもく会 以前から合同で勉強会をさせて頂いていたり、様々なことを教えて頂いているfukuoka.exさんのリモート勉強会に再び参加させて頂きました 名古屋には多くの勉強会があるとは言える状況ではないですが、リモートで接続可能な勉強会があると…

【Enun.sum vs Enum.reduce】Elixirでの実行速度の測定と色々と実験してみた

測定に至る背景 再来週に開催する清流elixirの勉強会でifとパターンマッチでそれだけ実行速度に差が出るのかを測定しようと企画している そのために自身の予習を兼ねて、Elixirでの実行速度の測定方法について調査し、簡単な実験を行なってみた 以前から気に…

【レポート】第9回清流elixir勉強会を開催しました【ウェルカムElixir入門会】

トピック 今回で第9回目の勉強会を開催致しました elixir-sr.connpass.com 東京で参加したElixir&ErlangFest2019やfukuoka.exさんの勉強会にリモート参加させて頂いた中で コミュニティの盛り上がり、参加する人の多さが非常に重要であると痛感した fukuokae…

【Elixirで学ぶCS】ElixirでアセンブラとVM変換器を実装するまで

なにこれ(5度目 Elixirでコンピューターサイエンスを学ぶシリーズの第5弾で以下記事の続編です www.okb-shelf.work この本を参考に勉強しつつコードを書いています www.oreilly.co.jp 以前の記事まではかなり低レイヤーの部分をメインとして扱っていた 論理…

【Elixirで学ぶCS】ElixirでDフリップフロップと1Bitレジスタを実装するまで

なにこれ(4度目 Elixirでコンピューターサイエンスを学ぶシリーズの第4弾で以下記事の続編です www.okb-shelf.work この本を参考に勉強しつつコードを書いています www.oreilly.co.jp 今回は順次回路と呼ばれるCPUのクロックを受けて同期する回路の作成に取…

【レポート】第8回清流elixir勉強会を開催しました【競プロ(Cake and Donuts)@Elixir2】

トピック 今回で第8回目の勉強会を開催致しました elixir-sr.connpass.com 隔週で勉強会を開催して早3ヶ月... 当初はElixirについてほとんど知らなかったが、現在ではある程度語れるレベルにはなった Elixirを勉強しないという気持ちから、この面白い言語を…