タグ

関連タグで絞り込む (414)

タグの絞り込みを解除

qiitaとelixirに関するnabinnoのブックマーク (471)

  • Elixirの虜になったPythonプログラマが、6か月後にたどり着いた、Classを使わないプログラム - Qiita

    Elixirの虜になったPythonプログラマが、6か月後にたどり着いた、Classを使わないプログラムElixir関数型プログラミング はじめに Elixirが、Qiitaアドベントカレンダー2022プログラミング言語ランキングで断トツのトップなのを知って、Elixirを学び始めたという方も多いかとおもいます。 私も昨年学び始めました。Elixirはとても楽しい言語です。 どこが楽しいのか? introductionに書いてある説明をみたり、パイプ演算子や、Enumの使い方を理解し、Elixirのデータの処理をプログラムで記述する術に触れてみて、この半年間で、Elixirの「虜」になってきました。 しかし、私がいままで使ってきた、Python,JavaScript等にあった、Classがありません。 虜になったからといって、Classの無い言語でいままでのように、プログラムを作れるだろう

    Elixirの虜になったPythonプログラマが、6か月後にたどり着いた、Classを使わないプログラム - Qiita
    nabinno
    nabinno 2023/01/08
    良い
  • 巨大数でわかる Elixir の魅力 - Qiita

    昨日は jyllsarta さんの「自作ゲームのコードで見る、ChatGPTのテストケース生成」でした。 ChatGPT にソフトウェアテストの観点出しをさせるアイデア、実用的で面白いですね。出力を完全には信頼せずに利点はしっかり引き出すうまい付き合い方だと思います。人も AI も、付き合いは距離感が大事🎅 はじめに Elixir とは、大雑把にいうと Web アプリケーションバックエンドの実装にうってつけな特徴を備える関数型プログラミング言語です。エントリでは言語そのものの詳しい説明は省きますが、ちょっとした数学の問題を解くことでその魅力をお伝えできたらと思います。 題材は「ふぃっしゅ数」です。いわゆる巨大数のひとつで、ふぃっしゅっしゅさんがグラハム数を超えるべく考案しました。この数を求めるプログラムを Elixir で書いてみましょう。 巨大数とは? 詳しい説明は省略しますが、雑に

    巨大数でわかる Elixir の魅力 - Qiita
  • Nerves/rpi3で YOLO v3を動かしてみる【シーズン1総集編】 - Qiita

    1.シーズン1総集編 「Window10で TensorFlow liteを使ってみる - 前編」から始まった "TensorFlow lite"シリーズも今回で4回目。今日現在、そこそこの規模のDLモデルである YOLO v3が Nerves/rpi3で動くようになった。無事マイルストーンを一つ越えたので、ここらで一旦中締めの総集編 - 実は小生の備忘録 - を打とうと思う。 これまでの記事の繰り返しとなる部分も多々あろうが、暫しお付き合い願いたい。尚、記事で紹介したプロジェクトの全ファイルセットは下記で公開している。 https://github.com/shoz-f/tfl_yolo3_nerves_ex 2.プロジェクトの概要 今や世はまさにIOTを実装した社会へのトランスフォームが加速進行中である‥と思う。そんなホットな話題のIOTを構成する T/Things側、すなわちエッジ

    Nerves/rpi3で YOLO v3を動かしてみる【シーズン1総集編】 - Qiita
  • はじめてな Elixir(30) プロセスのホットスワップをする - Qiita

    今回、記念すべき第30回はついに Elixir プロセスのホットスワップをします。 Elixir や Erlang/OTP の特徴を述べてる文書を読むとかなりの確率でホットスワップ機能が挙げられています。でも実際に使ってるという話を聞いたことがほとんどありません。唯一聞いたことがあるのは Erlang & Elixir Fest 2019 での任天堂の渡邉大洋さんの話1だけです。みなさん、文書書くときには写経してしまってて、いずれ使うだろうぐらいに思ってるところが実のところ全然使ってないんじゃないんでしょうかね。 ならばということで試しにやってみたら、チョー簡単な例はさっくり出来たのでご報告です。 超簡単な例でプロセスのスワップをする まずはとにかくホットスワップ出来ることを目指します。次のプログラム hotswap1.ex は GenServer で書いたカウンタです。Hotswap.s

    はじめてな Elixir(30) プロセスのホットスワップをする - Qiita
  • Elixir Ectoのpreloadを1回のクエリーで実行する - Qiita

    CREATE TABLE `users` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `prefecture_id` bigint(20) NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `prefectures` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `created_at` datetime NOT NULL

    Elixir Ectoのpreloadを1回のクエリーで実行する - Qiita
  • ElixirでIoT#4.3:Nervesアプリ開発時のよくあるトラブルをシューティング - Qiita

    はじめに 関数型言語ElixirでIoTを開発できる「ナウでヤングなcoolな」Nervesフレームワーク,楽しいっすよね!!? ですが初めて触る方には,いろいろ引っかかるトラップがあるかと思います.そこにハマってしまっては面白くない,,, せっかくならIoTアプリの開発で存分に楽しみたい!ということで,よくあるエラーと対処策をまとめてみることにしました. 他にもこんなのもあるんじゃない?こう解決できるよ!とかありましたら,どしどしコメントや筆者へのTwitterにお寄せください.もちろん,こんなんで困ってんだけどどうすんの?てのも大歓迎です!! 適宜で項目やリンクを追加していくつもりです. 環境設定篇 開発環境の構築やNervesプロジェクトの一通りの開発プロセスでのハマりどころです. nerves.newコマンドが動かない Nervesの良いところは,普通のElixirアプリの開発と同

    ElixirでIoT#4.3:Nervesアプリ開発時のよくあるトラブルをシューティング - Qiita
  • ElixirでIoT#4.1.1:WSL 2でNerves開発環境を整備する - Qiita

    はじめに Nervesとは,モダンな関数型言語ElixirでIoT!ができるナウでヤングなcoolなフレームワークです. 推奨されるホスト開発環境はmacOSLinux(Ubuntu)で,永らくWinodwsユーザは虐げられてNervesで遊べずに来ていました.素直なmacOS/Ubuntuユーザの方は,ElixirでIoT#4.1にて開発環境の構築方法を紹介していますので,ぜひ遊びましょう!! ところが朗報です!! 2020年4月下旬にあったNerves v1.6.1のcommitにて,Windowsホスト開発環境として正式サポートされました!hexdocsもすでに公開されています. Nerves on hexdocs: Installation#Windows 記事では,WindowsユーザをNervesの世界に招待します!! 要点 せっかちさんのために先に要点をまとめます. W

    ElixirでIoT#4.1.1:WSL 2でNerves開発環境を整備する - Qiita
  • 【Elixir/Phoenix】paramsライブラリでリクエストパラメータのバリデーションとキャストを楽ちんに行う - Qiita

    はじめに 携わるプロジェクトでElixir/Phoenixを開発している中で、リクエストパラメータのハンドリングがなかなかしっくり来ず、paramsというライブラリを導入したらだいぶ幸せになったので、その知見をお裾分けできればという思いで記事に起こしてみます。 Elixir/Phoenixでのリクエストの受け取り方の基 既存のリクエストパラメータハンドリングのつらいところ paramsの紹介 と順を追って話していくので、paramsの使い方をすぐに知りたい方は、paramsの紹介からどうぞ!! ※何か認識間違っているところがあれば、バンバンご指摘頂けると嬉しいです!! Elixir/Phoenixでのリクエストの受け取り方の基 Elixir/PhoenixでRequestパラメータを受け取る際、 Pathパラメータ Queryパラメータ Bodyパラメータ といったパラメータはすべてC

    【Elixir/Phoenix】paramsライブラリでリクエストパラメータのバリデーションとキャストを楽ちんに行う - Qiita
  • 「Pelemay」EnumコードのElixirネイティブコンパイラをWindowsで試す - Qiita

    fukuoka.exのpiacereです ご覧いただいて、ありがとうございます fukuoka.ex発足から半年後にスタートし、今月、満を持してリリースされた、EnumをSIMD命令として生成する(将来的にはGPUをドライブするコードも生成予定)Elixirネイティブコードコンパイラ「Pelemay」をWindowsで試します 1年弱くらい前、この「Enumのみをネイティブコードコンパイルする」「Enum以外は、通常通り、ErlangVMを呼び出す」という棲み分けのコンセプトを @zacky1972 さんとサンドイッチ屋で話し、半年前にテキサスで開催されたLonestar ElixirConf 2019でデビュー&開発スケジュールを公開し、先月のElixirConf US 2019で遂にお披露目となりました Lonestar ElixirConf 2019 - Hastega: Chall

    「Pelemay」EnumコードのElixirネイティブコンパイラをWindowsで試す - Qiita
  • AWS Signature Version 4をElixirで実装してみる - Qiita

    はじめに Elixirには公式のAWS SDKが提供されていないので、ElixirからAWSのサービスにアクセスしたい場合は、他の人が作成したライブラリを使う必要があります。 ただ、AWSのサービスへのアクセス自体は認証情報を付与したHTTPリクエストで行われていて、また、サービスごとにそれぞれREST APIが公開され、認証についても共通の認証方式として「AWS Signature Version 4」が公開されているので、自作ライブラリを作ってAWSのサービスを利用することも可能です。 今回、Elixirのお勉強も兼ねて「AWS Signature Version 4」の実装を行い、HTTPリクエストにて実際にAWSのサービスにアクセスしてみます。 なお、今回のコードは下記で公開しています。 https://github.com/imahiro-t/aws_erin

    AWS Signature Version 4をElixirで実装してみる - Qiita
  • Elixirでデータ構造を作った際の開発Tips - Qiita

    概要 ElixirConf JP 2019用にコードを書いていた時の学びのまとめ TL;DR 構造体はなるべく使わない(データ構造のモジュールでも!) mixとdoctestでTest-Driven Development(TDD) Comparatorを使う場合、Enum.sortのように引数変えたパターンマッチが良さげ パフォーマンス計測にBenchfellaが有用 品質管理にCIツールを導入しよう ElixirConf JP 2019 Kokurajo 2019/09/07に開催されたElixirConf JPで"Data Structure in Elixir"というタイトルでLTをしてきました。時間の都合上、準備したもののほとんどが発表できなかったので、Qiitaで学びを共有しようと思うのですが、全体的な学びとしてTipsを最初に持ってくることにしました。この方針に従って(軌道修

    Elixirでデータ構造を作った際の開発Tips - Qiita
  • [Elixir] Nervesを試してみる - Qiita

    「Elixirで組み込み向けの強靭なソフトウェアを作ろう」を謳うNervesを試してみた。 実機はRaspberry Pi2、デスクトップ環境はDebianを使用し、手順はGetting Startedにあるとおり進めてみた。 インストール インストール周りはここに記載されているとおり。 必要パッケージのインストール

    [Elixir] Nervesを試してみる - Qiita
  • ElixirでIoT#4.1:Nerves開発環境の準備(2020年11月版) - Qiita

    この記事は#NervesJP Advent Calendar 2019の1日目です.れっつじょいなす! はじめに どうもこんにちわ Nervesとは,関数型言語ElixirにてIoTシステム開発を実現するフレームワークです. 『ElixirでIoT』の世界に革新をもたらします! 詳細な解説はIoT ALGYANで実施したWebinarのこちらの資料もご笑覧ください. ElixirでIoT!? ナウでヤングでcoolなNervesフレームワーク さぁ皆さん!今すぐにでもNervesやりたくなってきたでしょ!?? Nervesを使うには,まずは環境構築だっ!となるわけですが,幾つか注意点(a.k.a ハマりどころ)があったりします.2019年には全国各地でNerves Trainingを開催しましたが,その折に皆さんにも準備いただいた際に多くのTIPSが溜まってきました. ということで記事は

    ElixirでIoT#4.1:Nerves開発環境の準備(2020年11月版) - Qiita
  • Ectoでマイグレート外の既存テーブルにアクセスする(リプレースや移行などのSI案件で役立つ) - Qiita

    fukuoka.exのpiacereです ご覧いただいて、ありがとうございます ElixirのDBラッパー「Ecto」は、かなり便利で、SQLチックなDSLでDB操作できたり、RailsのActiveRecordと似たようなテーブル操作とマイグレーションができます そんなEctoですが、実際のPJでは、往々にして、別システムで作られたDBにアクセスしたり、移行する要件があり、どこまで相互運用できるのか気になるところですよね? ということで、Ectoでマイグレート外の既存テーブルをいじってみたいと思います 内容が、面白かったり、役に立ったら、「いいね」よろしくお願いします コラムの検証環境、事前構築のコマンド コラムは、以下環境で検証しています(Windowsで実施していますが、Linuxmacでも動作する想定です) Windows 10 Elixir 1.8.1、      ※最新版

    Ectoでマイグレート外の既存テーブルにアクセスする(リプレースや移行などのSI案件で役立つ) - Qiita
  • ElixirでIoT#2.1:Nervesって何者?ラズパイでLチカできんの!? - Qiita

    注意: 記事は2019年6月に執筆したものなので,最新版のNervesとは異なるところがあるかもしれません(なにか差分を見つけたらコメントでお知らせくださいm(_ _)m 少なくとも開発環境の構築については 『ElixirでIoT#4.1』をご参照ください.こちらの記事は常に最新版に追従するようにしています. この記事は「Elixir or Phoenix Advent Calendar 2017」の22日目です. 昨日は@zacky1972さんの「ZEAM開発ログv0.1.3 AI/MLを爆速にしたい! Flow のコードを OpenCL で書いてみる〜GPU編」でした. お知らせ 「fukuoka.ex#11:DB/データサイエンスにコネクトするElixir」を6/22(金) 19時に開催します 私も『ElixirでIoTやってみた』ネタで発表します!是非ともご参加下さい!! はじめ

    ElixirでIoT#2.1:Nervesって何者?ラズパイでLチカできんの!? - Qiita
  • Web BluetoothとPhoenix LiveViewを混ぜてみた - Qiita

    まぜるな危険? 白状します。かなり前に帯につられて「プログラミングElixir」というを買ったです。が、いろいろあって放置してました。時は過ぎて、最近PhoenixのLiveViewが私のツイッタラー界隈で盛り上がっているので面白そうだなと思いElixirの勉強がてら遊んでました。JavaScriptってJavaと何が違うのレベルですけど私 :-) で、JavaScriptといえばWeb Bluetoothがあったなーと思い、Bluetoothは少しだけ分かりますので、つい混ぜてしまいました。一応動いたのでここにメモしますのです。 概要 Web Bluetoothを使ってBLE(Bluetooth Low Energy)の心拍計データをJavaScriptで集めます。 そのデータをPhoenix LiveViewを使ってサーバに送り込むです。 サーバ側のElixirでそれを受けて、値を元

    Web BluetoothとPhoenix LiveViewを混ぜてみた - Qiita
  • Phoenix LiveView によるカウンタの作り方【Elixir 入門者向け 翻訳】 - Qiita

    訳者から読者への注 すでにこの記事の内容は古くなっています。この注を書いている時点で LiveView のバージョンは 0.14.7 です。この記事が書かれたときは出たばかりのバージョン 0.0.x でしたので、当時に比較して内容が相当変わっています。あえてこの記事を読む場合は、歴史的な参考書として読んでください。 原文について この記事は Dennis Beatty さんの書いた How to Create a Counter with Phoenix LiveView (Mar 19, 2019) を御人の許可を得て日語に翻訳した文書です。 大変簡潔なチュートリアルで、データベースも使ってませんので普段 RDB をお使いでない方でも簡単に LiveView を試せます。この文書だけでもお試しはできますが ご人が実際にやって見せてる動画 もあるので、疑問に思ったらこれを観ながらやる

    Phoenix LiveView によるカウンタの作り方【Elixir 入門者向け 翻訳】 - Qiita
  • リモートのElixirアプリをobserverでモニタリングする - Qiita

    GUIのサーバーモニタリングツールです。iexから、:observer.startとすることで起動します。erlで起動する時は、erl -run observerで。 利用するにはErlangのコンパイル時にws(wxWidgetsのErlangバインディング)を有効にしないと利用できないのでご注意ください。 epmd Erlang Port Mapper Daemon。 分散Erlang環境における名前解決を行います、使用ポートはデフォルトで4369です。起動時のオプションとして、inet_dist_listen_min、inet_dist_listen_maxを指定する事で設定できます。 方法 step.0 リモートサーバー上でcookieを指定しアプリを起動 iex --name rmote@127.0.0.1 --cookie my-cookie --erl "-kernel in

    リモートのElixirアプリをobserverでモニタリングする - Qiita
  • ZEAM開発ログ2018年総集編その2: Elixir 研究構想についてふりかえる(後編) - Qiita

    (この記事は「fukuoka.ex Elixir/Phoenix Advent Calendar 2018」の15日目です) ZACKY こと山崎進です。 「fukuoka.ex Elixir/Phoenix Advent Calendar 2018」の14日目は, @kotar0 さんの「LiveViewというウェブアプリを作る第三の選択肢」でした。 さて,「ZEAM開発ログ2018年総集編その1: Elixir 研究構想についてふりかえる(前編)」では,下記の研究構想についてご紹介しました。 Hastega(ヘイスガ): 超並列高速実行処理系 micro Elixir / ZEAM: コード生成/実行基盤 今回の記事「ZEAM開発ログ2018年総集編その2: Elixir 研究構想についてふりかえる(後編) 」では,残りの下記の研究構想についてご紹介します。 AI/ML/各種数学ライブ

    ZEAM開発ログ2018年総集編その2: Elixir 研究構想についてふりかえる(後編) - Qiita
  • ElixirのPipeに関する7のTips - Qiita

    はじめに Elixir の Pipe は処理の記述を簡潔にすることができる便利なマクロであり、比較的利用する場面は多いことと思います。 この記事では、そんな Pipe に関する、開発が楽しくなるかもしれないちょっとしたTipsを紹介します。 1. IO.inspect を挟んで値を出力 Pipe の途中に IO.inspect を挟み込む ことで、処理している途中の値をコンソールに表示させることができます。 IO.inspect は与えられた値をそのまま戻り値として返すので Pipe の前後の動作に影響を与えることもなく、デバッグ時に有用な方法と言えるでしょう。 defmodule Hoge do def do_something do 10 |> plus(7) |> IO.inspect() |> minus(2) end def plus(x, y), do: x + y def m

    ElixirのPipeに関する7のTips - Qiita