Revision [19453]

This is an old revision of Julia made by SebCls on 2019-11-07 06:33:54.
 



Julia


http://fr.wikipedia.org/wiki/Julia_%28langage_de_programmation%29
http://en.wikipedia.org/wiki/Julia_(programming_language)

http://julialang.org/

IDE

Visual Studio Code https://code.visualstudio.com/
JuliaPro https://juliacomputing.com/products/juliapro.html
Juno http://junolab.org/
Epicenter https://forio.com/epicenter/

On line

https://juliabox.com/

Livres

en

Getting Started with Julia - Ivo Balbaert - February 2015
Mastering Julia - Malcolm Sherrington - July 2015
Julia Cookbook - Jalem Raj Rohit - September 2016
Julia for Data Science - Anshul Joshi - September 2016
Learning Julia - Anshul Joshi - August 2017
Julia: High Performance Programming - Ivo Balbaert, Avik Sengupta, Malcolm Sherrington - November 2016

Tutoriels

en

http://julialang.org/learning/
https://learnxinyminutes.com/docs/julia/

fr

https://zestedesavoir.com/articles/78/a-la-decouverte-de-julia/
http://bioinfo-fr.net/julia-le-successeur-de-r

Styling guides

BlueStyle https://github.com/invenia/BlueStyle
YASGuide https://github.com/jrevels/YASGuide

Types

Quelques fonctions utiles
typeof super subtypes issubtype isa

methods(f, [types])

Renvoie les différentes méthodes de la fonction f.

Si types est précisé, renvoie un tableau des méthodes pour lesquelles les types coincident.

methodswith

Renvoie un tableau des méthodes possédant un argument de type typ.

Libraries


Installation

Pkg.add("DataFrames")


ou depuis repository

Pkg.clone("https://github.com/user/project.jl.git")


Mise à jour

Pkg.update()


Utilisation


julia> using DataStructures

julia> d = OrderedDict{Char,Int}()
DataStructures.OrderedDict{Char,Int64} with 0 entries


If you'd prefer not to clutter the scope, you could use import instead:

julia> import DataStructures

julia> DataStructures.OrderedDict{Char, Int8}()
DataStructures.OrderedDict{Char,Int8} with 0 entries


or

julia> import DataStructures: OrderedDict


Suppression

Pkg.rm("DataStructures")


Voir http://docs.julialang.org/en/release-0.5/manual/packages/

Création d'un package


https://docs.julialang.org/en/v1/stdlib/Pkg/index.html#Creating-your-own-projects-1

https://github.com/JuliaLang/PkgDev.jl (deprecated?)

https://github.com/invenia/PkgTemplates.jl

https://github.com/tpapp/PkgSkeleton.jl

using PkgDev
PkgDev.generate("MonPackage", "MIT")


Rem: `PkgDev` doit avoir été installé via
Pkg.add("PkgDev")


Le répertoire du package est accessible dans le répertoire ~/.julia/v.../MonPackage ou C:\Users\...\.julia\v...\MonPackage ou C:\Users\...\AppData\Local\JuliaPro-x.y.z.t\pkgs-0.y.z.t\vx.y

Bots

attobot - Julia package release bot
FemtoCleaner - a bot to automatically upgrade your Julia syntax
Registrator.jl
TagBot
Nanosoldier - on-demand performance benchmarking of julia commits
jlbuild - controls the julia buildbots

Registry

https://github.com/JuliaLang/METADATA.jl
https://github.com/JuliaRegistries/General

Liste

http://pkg.julialang.org/
https://github.com/svaksha/Julia.jl Curated decibans of Julia language / awesome Julia
https://juliaobserver.com/
https://github.com/trending/julia Trending Julia repositories

- DataFrame à la "R" / Python Pandas




- Data manipulation à la dplyr / LINQ

- Dates / datetimes

time()  # Get the system time in seconds since the epoch, with fairly high (typically, microsecond) resolution.
import Dates
dt1 = Dates.now(Dates.UTC)
day1 = Date(dt1)
dt2 = Dates.now(Dates.UTC)
day2 = Date(dt2)
td = dt2 - dt1


- Asynchronous IO

- Compatibility - cross version

- Compression

- CSV

- DataStructures - structures de données (piles, queues, ...)

- Database

- Decimals

- Drawing
- DSP
DSP https://github.com/JuliaDSP/DSP.jl Filter design, periodograms, window functions, and other digital signal processing functionality

- Dynamic report (like R knitr / IPython Python notebooks)

- Error / Exception

- File path

- Functional programming (FP)

- Generator / iterator

- GPIO
PiGPIO https://github.com/aviks/PiGPIO.jl Manage external hardware using GPIO pins on the Raspberry Pi

- GUI / Graphical user interface
Escher http://escher-jl.org/ web UI

- HTML / XML / CSS

- Image
ImageView https://github.com/timholy/ImageView.jl Interactive display of images and movies
TestImages https://github.com/JuliaImages/TestImages.jl standard test images

- Interface graphique

- Logging

- Machine Learning

- Messaging

- Online Algorithms

- Optimisation

- ORM

- out-of-core and parallel execution

- Parser

- Physical units

- Posix

- Python

- Plot
- Probabilistic programming (PP)

- Profiler

- Reactive programming

- Robotics

- Recommandation system / collaborative filtering

- Serialisation

- Simulation
SimJulia http://simjuliajl.readthedocs.io/ discrete-event simulation library
Sims https://github.com/tshort/Sims.jl equation-based modeling and simulations

- Template

- Unit testing, code coverage and Continuous Integration

- Unum (floating point format)

- Vector graphics

- Web https://github.com/JuliaWeb
Requests https://github.com/JuliaWeb/Requests.jl
HttpServer https://github.com/JuliaWeb/HttpServer.jl Basic, non-blocking HTTP server in Julia
Mux https://github.com/JuliaWeb/Mux.jl Middleware for Julia
Genie https://github.com/essenciary/Genie.jl High-performance high-productivity full stack Julia web framework.
JuliaWebAPI https://github.com/JuliaWeb/JuliaWebAPI.jl Julia package for deploying APIs on JuliaBox


- Wrapper
Clang https://github.com/ihnorton/Clang.jl
CxxWrap https://github.com/barche/CxxWrap.jl
Cxx https://github.com/Keno/Cxx.jl The Julia C++ Foreign Function Interface (FFI) and REPL.



Contribuer à un package existant

- Dans Julia installer le package
Pkg.clone("https://url_projet_upstream") ou Pkg.add("...")

- Forker sur Github le repository du package

- Aller dans le répertoire local
cd ~/.julia/v.../...

- Définir une nouvelle source distante
git remote set-url --add myfork https://url_mon_fork

- Se mettre sur la branche master / synchroniser / créer une nouvelle branche
git checkout master
git pull
git checkout -b fix_...

- Faire les modifications

- Ajouter les modifications au repository
git add nom_fichiers_modif

- Commit
git commit

- Définir mon fork / ma branche upstream
git push --set-upstream myfork fix_...


try
  while true
	# Do It
  end
catch x
  if isa(x, InterruptException)
	return False
  end
end

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki