echo `ifconfig $(netstat -nr | grep -e default -e "^0\.0\.0\.0" | head -1 | awk '{print $NF}') | grep -e "inet " | sed -e 's/.*inet //' -e 's/ .*//' -e 's/.*\://'`
- Por: Paulo Torrens
- Originalmente portado no facebook em 2014-03-08
#["LÓGICA DE PROGRAMAÇÃO" É BOBAGEM, e explicarei porquê.]
Se preparem que o texto é longo.
Várias vezes chegam novatos aqui perguntando como começar, e a galera diz "estuda lógica primeiro, depois vai pra linguagem X". Vivo dizendo que é bobagem. Ontem, em particular, falei isso, e vieram várias pessoas por inbox me perguntar porquê (e uma pra me xingar, achando que falei por arrogância).
Pra facilitar, eu vou escrever uma boa explicação de porquê "lógica de programação" é furada, doa a quem doer, e postar na APDA e no fórum da EnergyLabs (para futuras referências, porque esse assunto vai voltar, ctz).
<link rel="import" href="../../bower_components/polymer/polymer.html"> | |
<dom-module id="tester-app"> | |
<template> | |
<style> | |
:host { | |
display: block; | |
} | |
img.bg { |
- Chroot into your linux instalation
- The easiest way is with
mhwd-chroot
- Install it
yaourt -S mhwd-chroot
- Run it
sudo mhwd-chroot
- DONE, you have chrooted into your linux installation (open a root console of your installed linux OS, is like just open a console with root access)
- Install it
- The easiest way is with
- Restore your GRUB
- Install a new GRUB bootloader with
grub-install /dev/sda
- Install a new GRUB bootloader with
- Recheck to ensure the that installation has completed without any errors
grub-install --recheck /dev/sda
- Um nível de recuo por método.
- Não use a palavra-chave ELSE.
- Envolver todos os primitivos e Strings em classes. (em JS nao eh necessario)
- Funções de primeira classe // mudei p/ Function em vez de Class
- Um ponto por linha.
- Não abrevie.
- Mantenha todas os módulos com menos de 50 linhas.
- Nenhuma função com mais de dois parâmetros.
(conj collection item)
adds item
to collection
. To do that, it needs to realize collection
. (I'll explain why below.) So the recursive call happens immediately, rather than being deferred.
(cons item collection)
creates a sequence which begins with item
, followed by everything in collection
. Significantly, it doesn't need to realize collection
. So the recursive call will be deferred (because of using lazy-seq
) until somebody tries to get the tail of the resulting sequence.
The following is how it works internally:
cons
actually returns a clojure.lang.Cons
object, which is what lazy sequences are made of. conj
returns the same type of collection which you pass it (whether that is a list, vector, or whatever else). conj
does this using a polymorphic Java method call on the collection itself. (See line 524 of clojure/src/jvm/clojure/lang/RT.java
.)
What happens w
CertSimple just wrote a blog post arguing ES2017's async/await was the best thing to happen with JavaScript. I wholeheartedly agree.
In short, one of the (few?) good things about JavaScript used to be how well it handled asynchronous requests. This was mostly thanks to its Scheme-inherited implementation of functions and closures. That, though, was also one of its worst faults, because it led to the "callback hell", an seemingly unavoidable pattern that made highly asynchronous JS code almost unreadable. Many solutions attempted to solve that, but most failed. Promises almost did it, but failed too. Finally, async/await is here and, combined with Promises, it solves the problem for good. On this post, I'll explain why that is the case and trace a link between promises, async/await, the do-notation and monads.
First, let's illustrate the 3 styles by implementing
Se você quiser adicionar mais algum tópico deixe seu comentário, o objetico é facilitar para os iniciantes ou aqueles que buscam dominar JavaScript, quais tópicos são importantes para dominar JavaScript.
São tópicos para quem sabe o minimo de JavaScript (declarar variáveis), a ordem em que eles aparecem são por importância para o dominio como um todo. Mesmo que você já tenha experiência com JS, recomendo que leia os links de cada tópico para fortalecer suas bases teóricas e ter um comportamento mais profundo da linguagem.
Lista originalmente criada e compilada por Vinicius Reis
def extremeValues(mask): | |
element_x = [] | |
element_y = [] | |
for coord in mask: | |
element_x.append(coord[0]) | |
element_y.append(coord[1]) | |
# (minX, maxX, minY, maxY) | |
return (min(element_x), max(element_x), min(element_y), max(element_y)) |
const handler = { | |
get(target, propKey, receiver) { | |
if (/^_[0-9]+$/.test(propKey)) { | |
const result = []; | |
const first = Number(receiver); | |
const last = Number(propKey.slice(1)); | |
for (let i=first; i<=last; i++) { | |
result.push(i); | |
} | |
return result; |