Using has_element?/3 for better LiveViewTest assertions

It’s tempting to write LiveViewTest assertions that specify too much of our HTML. But that couples our tests to the implementation specifics. There’s a better way: the has_element?/3 helper can help us be specific without adding coupling.

https://www.germanvelasco.com/blog/using-has-element-for-better-liveviewtest-assertions

ThinkingElixir 027: Ash Framework with Zach Daniel

In episode 27 of Thinking Elixir, we talk with Zach Daniel, the creator of the Ash Framework, a declarative, resource-oriented application framework for Elixir that lets you build out JSON or GraphQL APIs in minutes. In this episode he explains the history, guiding doctrine of Declarative Design how it can give developers a huge boost without boxing them into a corner! Check it out!

Podcast Episode

Manage the Elixir application environment within a test context

https://github.com/fremantle-industries/with_env

defmodule HelloTest do
  use ExUnit.Case
  use WithEnv

  test "can put values into the env" do
    assert Application.get_env(:hello, :saying) == nil

    with_env put: [hello: [saying: "galaxy"]] do
      assert Application.get_env(:hello, :saying) == "galaxy"
    end

    assert Application.get_env(:hello, :saying) == nil
  end

  test "can delete values from the env" do
    Application.put_env(:hello, :saying, "world")

    with_env delete: [hello: [:saying]] do
      assert Application.get_env(:hello, :saying) == nil
    end

    assert Application.get_env(:hello, :saying) == "world"
    assert Application.delete_env(:hello, :saying) == :ok
  end
end

CSV Exports

Exporting data as a CSV in the latest ElixirCasts

https://elixircasts.io/csv-export

Elixir’s Creator José Valim on the Development of a New Language

This post awaits moderation.

There is a growing number of posts plugging services not related to Elixir. To keep the quality of this community, some posts have to moderatored.

Sorry for this inconvenience!

🎧 Great interview with José Valim, the creator of the Elixir programming language.

https://semaphoreci.com/blog/elixir-creator-jose-valim

Update to PredicateSigil

Light update to one of my favorites. Before, we could do this:

iex> import PredicateSigil
...> Enum.filter([1,2,3,4], ~p(3))
[3]
# ~p(3) === fn 3 -> true; _ -> false end

But sometimes the awesome Enum and Stream APIs don’t have the negated version of what you want - so now you can also:

iex> Enum.take_while([1,2,3,4], ~p(!3))
[1,2]
# ~p(!3) === fn 3 -> false; _ -> true end

How to unit test the content we're uploading

In my newest blog post I show how to leverage Elixir processes’ messaging system to test the content of the files we’re uploading.

Check it out here: https://www.elvismelkic.com/unit-test-upload-content/

hackney 1.17.0 has been released #erlang #elixirlang

Happy to announce the new stable release of hackney :) Enjoy!

Overview:

hackney is an HTTP client library for Erlang.

Changes:

  • fix SSL compatibility with erlang OTP 23
  • handle empty trailers
  • fix race condition in connection pool
  • fix memory leak in connection pool
  • IDNA update to unicode 13.0.0
  • fix build on macosx with OTP >= 20.1
  • fix network Location on redirect
  • produce uppercase hexadecimal in URLS
  • pool queue count metric is now named queue_count
  • miscellaneous fixes in documentation

Possible breaking changes:

  • The pool queue count metric is now named queue_count. You should update your dashboard to reflect it.
  • Possible breaking changes when producing uppercase hexadecimal in urls. This changes the behaviour of urlencode and pathencode to produce uppercase hexadecimal to comply with the RFC3986 which may affect systems using URL as signature or in an hash.

Source repository:

https://github.com/benoitc/hackney

Install from the hex.pm package repository:

https://hex.pm/packages/hackney

Healthcare Application Development as a Growing Trend for the Future of Medicine

Today’s market offers an impressive variety of medical apps for both patients and medical personnel. Furthermore, healthcare is a quickly developing industry and requires constant improvements. Many software development companies regularly come up with new successful ideas.

Read the full article about Healthcare Application Development as a Growing Trend for the Future of Medicine and share your thoughts on it.

How we discovered a 7-year old performance issue in Elixir

In this post, we will explore how in our efforts to optimize an internal service, we stumbled upon a performance problem that has lived in the Elixir codebase for seven years.

https://code.tubitv.com/how-we-discovered-a-7-year-old-performance-issue-in-elixir-99080bdce9a1

ElixirTalk - Ep. 166 w/ Sean Stavropoulos, CTO at Boulevard

We’re back after a hiatus on our irregularly posted podcast! Chris and Desmond are back in the hot seat, this time joined by CTO and co-founder at Boulevard, Sean Stavropoulos where we hear all about the founding of Boulevard and their early adoption of Elixir and GraphQL.

https://soundcloud.com/elixirtalk/episode-166-feat-sean-stavropoulos

Elixir Wizards S5E3 Simon Glenn-Gregg on Building an Election Results Prototype in Elixir

Latest episode of Elixir Wizards is out today! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s5e3-glenn-gregg/

Imageflow Elixir bindings, along with ergonomic Elixir-style API

I just released the first working version of imageflow_ex, a package that provides FFI bindings to imageflow, a Rust-based tool that offers extremely fast image processing (https://www.imageflow.io/benchmarks/)

I also include a higher-level API resembling Elixir Streams

Check it out on Github: https://github.com/naps62/imageflow_ex

ThinkingElixir 026: Elixir in Higher Ed with Jonathan Allen

In episode 26 of Thinking Elixir, we talk with Jonathan Allen, an instructor at a Utah college, who taught Elixir to his Distributed Computing students. He tells how he got Elixir into the classroom, how it went, and how we in the professional community can influence Elixir in education, and much more!

Podcast Episode

Using Event Sourcing and CQRS with Incident - Part 2

Event Sourcing and CQRS are great design patterns for some domains. The Incident library will help implement them without compromising other parts of your application.

This is the second post of a series of posts that I will present the usage of Incident.

Check it out: https://pedroassumpcao.ghost.io/using-event-sourcing-and-cqrs-with-incident-part-2/

Elixir Wizards S5E2 Randall Thomas on Learning Elixir and Why Community Matters

Latest episode of Elixir Wizards is out today! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s5e2-thomas/

Flutter Vs. React Native – Who’s The Winner in 2021?

It is essential to choose the best frameworks for your project. If you’re building a cross-platform application, the main competitors are Flutter and React Native. We’ll compare them according to different criteria so that you can select the best option for you.

Read the full article about Flutter Vs. React Native – Who’s The Winner in 2021?

How to Hire a Flutter Developer – a Complete and Simple Guide

Want to hire a Flutter developer? But how do you find a good one?

Read the full article for useful tips on hiring Flutter developers, setting main requirements, finding the best developers’ locations, checking average rates, and most importantly how you can benefit from this cooperation.

Event Sourcing and CQRS library Incident version 0.6.0 released

The version 0.6.0 handles race condition scenarios and other improvements. Check it out: https://hex.pm/packages/incident

Wallaby v0.28.0 released!

https://github.com/elixir-wallaby/wallaby

v0.28.0 (2020-12-8)

Breaking

  • Browser.assert_text/2 and Browser.assert_text/3 now return the parent instead of true when the text was found.

Fixes

  • File uploads when using local and remote selenium servers.

Improvements

  • Added support for touch events

    • Wallaby.Browser.touch_down/3
    • Wallaby.Browser.touch_down/4
    • Wallaby.Browser.touch_up/1
    • Wallaby.Browser.tap/2
    • Wallaby.Browser.touch_move/3
    • Wallaby.Browser.touch_scroll/4
    • Wallaby.Element.touch_down/3
    • Wallaby.Element.touch_scroll/3
  • Added support for getting Element size and location

    • Wallaby.Element.size/1
    • Wallaby.Element.location/1
Previous page Next page