curl -Lo concourse https://github.com/concourse/concourse/releases/download/v2.5.0/concourse_darwin_amd64 && chmod +x concourse && mv concourse /usr/local/bin
| # touch ~/.gitignore_global | |
| # Run git config --global core.excludesfile ~/.gitignore_global | |
| # Compiled source # | |
| ################### | |
| *.com | |
| *.class | |
| *.dll | |
| *.exe | |
| *.o |
Hi Nicholas,
I saw you tweet about JSX yesterday. It seemed like the discussion devolved pretty quickly but I wanted to share our experience over the last year. I understand your concerns. I've made similar remarks about JSX. When we started using it Planning Center, I led the charge to write React without it. I don't imagine I'd have much to say that you haven't considered but, if it's helpful, here's a pattern that changed my opinion:
The idea that "React is the V in MVC" is disingenuous. It's a good pitch but, for many of us, it feels like in invitation to repeat our history of coupled views. In practice, React is the V and the C. Dan Abramov describes the division as Smart and Dumb Components. At our office, we call them stateless and container components (view-controllers if we're Flux). The idea is pretty simple: components can't
Here is a high level overview for what you need to do to get most of an Android environment setup and maintained.
Prerequisites (for Homebrew at a minimum, lots of other tools need these too):
- XCode is installed (via the App Store)
- XCode command line tools are installed (
xcode-select --installwill prompt up a dialog) - Java
Install Homebrew:
WebSockets is a modern HTML5 standard which makes communication between client and server a lot more simpler than ever. We are all familiar with the technology of sockets. Sockets have been fundamental to network communication for a long time but usually the communication over the browser has been restricted. The general restrictions
- The server used to have a permanent listener while the client (aka browser) was not designated any fixed listener for a more long term connection. Hence, every communication was restricted to the client demanding and the server responding.
- This meant that unless the client requested for a particular resource, the server was unable to push such a resource to the client.
- This was detrimental since the client is then forced to check with the server at regular intervals. This meant a lot of libraries focused on optimizing asynchronous calls and identifying the response of asynchronous calls. Notably t
| Strg Alt Shift Key Function | |
| x Einf Generate/Insert dialog | |
| x x ENTER Statements completion like blocks and brackets | |
| x x T Surrond codeblock with… | |
| x W Select succesively increasing code blocks | |
| x F11 bookmarks and mark the line with selected key | |
| x F11 invokes a list of bookmarks. Pressing a key takes to associated bookmark. | |
| x x Backspace go to most recent code edit. Hit again to go even further back. | |
| x E recent opened files | |
| x x E recent edited files |
| if ENV['REDIS_ACCESS_MODE'] == 'readonly' | |
| class Redis | |
| class Client | |
| WRITE_COMMANDS = ::Rails.cache.data.command.map { |a| a[0] if a[2].include?('write') }.compact.to_set.freeze | |
| def process(commands) | |
| if commands.flatten.any? { |c| WRITE_COMMANDS.include?(c.to_s) } | |
| raise NotImplementedError, "REDIS_ACCESS_MODE is set to 'readonly', disallowing writes" | |
| end |
| # config/initializers/redis.rb | |
| require 'redis' | |
| # Disables the `flushdb` and `flushall` commands. | |
| class Redis | |
| module DangerousCommands | |
| def flushdb | |
| raise 'This is EXTREMELY DANGEROUS! If you really want to EMPTY THE ENTIRE DATABASE, do it from `redis-cli`.' | |
| # You could call `super` here if you want to allow access in some circumstances. | |
| end |
Install the custom CSS plugin, then make a file on your computer that will hold your custom CSS, I like to make one in my home directory called ~/.vscodestyles.css and then add the CSS into it.
Once done, open your command palette and select enable custom CSS and JS
