Elixir:
Väliaikaistiedoston luominen
How to: (“Kuinka tehdä:”)
Elixirissä väliaikaistiedoston luominen veet beekoon suoraviivaista. Käytetään File
moduulia. Tässä yksinkertainen esimerkki:
# Luodaan väliaikainen tiedosto
{:ok, file_path} = File.mktemp()
# tiedoston polku esim. "/tmp/elixir1y2x3z4"
# Kirjoitetaan tiedostoon jotakin
File.write!(file_path, "Hei Elixir maailma!")
# Luetaan ja näytetään sisältö
IO.puts File.read!(file_path)
# Poistetaan tiedosto käytön jälkeen
File.rm!(file_path)
Kun suoritat tämän koodin, Elixir luo väliaikaisen tiedoston, kirjoittaa siihen tekstiä, lukee sen, ja sitten poistaa tiedoston.
Deep Dive (“Sukellus syvyyksiin”):
Väliaikaistiedostojen käyttö on ollut osa ohjelmointia jo pitkään. Ne ovat tärkeitä esimerkiksi kun halutaan varmistaa, ettei arkaluontoinen data jää levylle. Elixiriin verrattuna esimerkiksi tempfile
Rubyssä tai io
Pythonissa tarjoavat vastaavia toiminnallisuuksia.
Elixirissä File.mktemp/1
luo uniikin tiedoston tietyssä hakemistossa. Tekee turvallisen väliaikaisen tiedoston, joka estää symlink-hyökkäykset luomalla tiedostolle uniikin nimen käyttäen base
argumenttia, joka liitetään satunnaisten numeroitten sekaan.
Toinen vaihtoehto on käyttää kolmannen osapuolen kirjastoja, joilla voi olla enemmän ominaisuuksia, kuten automaattinen siivous.
See Also (“Katso myös”):
- Elixirin virallinen
File
moduulin dokumentaatio: https://hexdocs.pm/elixir/File.html - Eräs elixir-paketti tiedostonhallintaan: https://hex.pm/packages/file_system
- UNIX-ympäristön vuorovaikutteinen oppiminen: http://exercism.io/languages/elixir/about