This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-02-12
Channels
- # adventofcode (6)
- # beginners (148)
- # boot (5)
- # calva (1)
- # cider (10)
- # cljdoc (10)
- # cljs-dev (8)
- # cljsrn (10)
- # clojure (180)
- # clojure-dev (24)
- # clojure-europe (2)
- # clojure-finland (1)
- # clojure-italy (32)
- # clojure-losangeles (1)
- # clojure-nl (40)
- # clojure-spec (10)
- # clojure-uk (44)
- # clojured (4)
- # clojurescript (88)
- # community-development (33)
- # core-async (7)
- # cursive (19)
- # datomic (98)
- # duct (3)
- # events (1)
- # figwheel-main (10)
- # fulcro (62)
- # leiningen (23)
- # luminus (18)
- # off-topic (19)
- # pedestal (6)
- # re-frame (46)
- # reagent (21)
- # ring (17)
- # ring-swagger (3)
- # shadow-cljs (94)
- # slack-help (9)
- # spacemacs (14)
- # sql (1)
- # testing (4)
- # tools-deps (14)
there's an alternate world where this was built in Clojure: http://datashader.org/
the "Pipeline" page especially makes me face-palm at how well Clojure fits these kinds of problems, if there was even half as many PhDs and salaried data scientists making tools for it instead of Python: http://datashader.org/getting_started/2_Pipeline.html
Someone's spamming #clojure with obscene images. Watch out.
Which way to qualify keywords you USE in your CURRENT project
1️⃣ - :user/name
- a simple namespace
2️⃣ - :app.user/name
- ~2 level namespace, but without a (ns app.user)
3️⃣ - ::user/name
- a 'full' qualified namespace, with a (ns my.app.user)
We do all three in different situations.
I know that when I write a lib I can use 3️⃣ . But for "app logic" sounds bureaucratic use 3️⃣
It really depends on the context and the amount of uniqueness you need/want. Hard to be more precise than that.
The first form tends to be more or less :subsystem/name
for things that are unique within a given subsystem but may be exposed to other subsystems (and a subsystem is a collection of namespaces).
The last form tends to be for things that are "local" to a specific code namespace.
The middle form tends to happen when we have data specs that are more or less separate from any code namespace (so they refer more to a domain concept than a specific subsystem on one end or namespace on the other).
Kind of
:app/db
or :db
- Global things. All systems will know about that at some point
:app.user/name
- Many systems will talk about that. That's my domain.
::my-thing
- A local only/closed thing. Just make sense here.
??
That's a reasonable rule of thumb. Like I say, it's all about context and the necessary amount of uniqueness you need for a name.
::my-thing
(and ::import/my-thing
) have the specific advantage that you can build tooling on top of it.
Examples: static checking against typos, go-to-definition, pseudo-docstrings. I have enjoyed all of those in current or past projects
This is a little off topic from the beginner channel so figured this place would be best. But I want to create a file that has a lot of utility functions when working with the repl. But I dont want .git to track it nor do I want to add it to the .gitignore file. how can I achieve this? I've tried the solutions listed online git update-index --assume-unchanged <file>
Personally I add snippets (like Emacs' yasnippet) to my editor, that way I can version-control them without polluting projects
@mario.cordova.862 You're looking for a global gitignore