Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
Laravel ::: Dicas de Estudo e Anotações ::: Passos Iniciais |
Primeiros passos no Laravel? Como escrever sua primeira aplicação usando rotas e views - Tutorial básico de LaravelQuantidade de visualizações: 2549 vezes |
|
Primeiros passos no Laravel? Como escrever sua primeira aplicação usando rotas e views Entre as perguntas mais frequentes que recebemos estão: Como aprendo Laravel? Onde encontro instruções para criar minha primeira aplicação Laravel? Existe algum tutorial básico de Laravel? Por onde começo a aprender Laravel, Tutorial de Laravel, Laravel para iniciantes, exemplos de Laravel, entre outras. Nesta dica ajudarei você a dar os primeiros passos. Depois é só seguir as nossas dicas e truques de Laravel para começar a escrever aplicações bem interessantes. O primeiro passo é instalar o Laravel. Se você ainda não o fez, clique aqui e aprenda a instalar o Laravel agora mesmo. Para esta dica eu mostrarei como criar a aplicação Laravel e executá-la no servidor Apache Web Server que vem junto com a instalação do XAMPP, que inclui também o PHP e o MySQL (ou MariaDB). Então, com o Laravel devidamente instalado e o XAMPP (na verdade é o servidor Apache Http Server) já rodando, abra uma janela de terminal e vá até o diretório htdocs do XAMPP: C:\Users\Osmar>cd C:\xampp\htdocs Dentro dessa pasta, dispare o seguinte comando: C:\xampp\htdocs>laravel new escola Se tudo correr bem, você verá uma série de mensagens indicando a criação da aplicação e o download de algumas dependências. Hora de ir pegar um cafezinho, pois essa operação é um pouco demorada mesmo. A instalação da aplicação já finalizou? Hora de testar. Abra seu navegador no endereço http://localhost/escola/public e você verá o seguinte resultado: ![]() Veja que o Laravel já criou para nós, automaticamente, uma rota para a página inicial da aplicação e já criou também uma view. Vamos começar entendendo como a rota foi criada. Vá até o diretório C:\xampp\htdocs\escola\routes e abra o arquivo web.php no seu editor favorito. Você verá o seguinte código:
<?php
use Illuminate\Support\Facades\Route;
/*
|-----------------------------------------
| Web Routes
|-----------------------------------------
|
| Here is where you can register web routes for
| your application. These routes are loaded by the
| RouteServiceProvider within a group which
| contains the "web" middleware group.
| Now create something great!
*/
Route::get('/', function(){
return view('welcome');
});
Vamos alterar a rota criada automaticamente para a versão abaixo:
Route::get('/', function(){
return view('pagina_inicial');
});
Note que apenas troquei return view('welcome'); por return view('pagina_inicial');. Agora abra o endereço http://localhost/escola/public novamente. Agora teremos um erro: InvalidArgumentException View [pagina_inicial] not found. http://localhost/escola/public/ pagina_inicial was not found. Are you sure the view exists and is a .blade.php file? Isso aconteceu porque não temos uma view chamada pagina_inicial. Vamos criá-la agora. Salve o código abaixo com o nome de pagina_inicial.blade.php no diretório C:\xampp\htdocs\escola\resources\views. <html> <head> <title>Controle Escolar</title> </head> <body> <h1>Esta é a página inicial</h1> </body> </html> Agora abra o endereço http://localhost/escola/public e teremos o resultado abaixo: ![]() Viu que maravilha? Agora, experimente acrescentar mais uma rota ao web.php:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function(){
return view('pagina_inicial');
});
Route::get('/cursos', function(){
return view('nossos_cursos');
});
?>
Abra seu navegador no endereço http://localhost/escola/public/cursos e verá que o Laravel vai reclamar da inexistência da view nossos_cursos.blade.php. Crie essa view e faça o teste novamente. Agora é só criar algo fantástico em Laravel. |
AutoCAD VBA ::: Dicas & Truques ::: Linha, Linhas, Comando LINE |
Como criar uma linha no AutoCAD usando Autocad VBA e a função AddLine() do objeto ModelSpaceQuantidade de visualizações: 886 vezes |
|
A função AddLine() do AutoCAD VBA nos permite desenhar uma linha mediante o fornecimento de um ponto inicial e um ponto final. Esta função é chamada a partir do objeto ModelSpace, que, por sua vez, está contido no objeto ThisDrawing. A função AddLine() recebe dois valores do tipo Variant, ou seja, um vetor de três elementos do tipo double, e retorna um objeto Line. Veja um código AutoCAD VBA completo no qual informamos as coordenadas x, y e z dos pontos inicial e final e desenhamos uma linha entre eles: ' Procedimento que permite desenhar uma linha entre dois pontos Sub DesenharLinhaDoisPontos() ' vamos declarar o objeto Line Dim linha As AcadLine ' o ponto inicial Dim pontoInicial(0 To 2) As Double ' o ponto final Dim pontoFinal(0 To 2) As Double ' vamos definir as coordenadas dos dois pontos. Uma boa idéia ' seria pedir para o usuário informar os pontos. Em outras dicas ' do site essa idéia é explorada pontoInicial(0) = 0: pontoInicial(1) = 0: pontoInicial(2) = 0 pontoFinal(0) = 350: pontoFinal(1) = 500: pontoFinal(2) = 0 ' e agora desenhamos a linha Set linha = ThisDrawing.ModelSpace.AddLine(pontoInicial, pontoFinal) ' e damos uma Zoom All na área de desenho ZoomAll End Sub Ao executar este código AutoCAD VBA nós teremos uma linha saindo do ponto x=0,y=0,z=0 e indo até o ponto x=350,y=500,z=0. |
Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais |
Como usar o método getMethods() da classe Class - Como listar todos os métodos de uma classe ou interface Java em tempo de execução - RevisadoQuantidade de visualizações: 9592 vezes |
|
O método getMethods() da classe Class permite obter um vetor contendo todos os métodos públicos de uma classe ou interface. Este método retorna um vetor de objetos da classe Method[] e pode atirar uma exceção SecurityException. Veja que os métodos herdados de e por superclasses da classe sendo investigada são também retornados. O exemplo a seguir mostra como listar todos os métodos públicos da classe javax.swing.JButton (veja como usamos o método getName() da classe Method para obter o nome do método):
package arquivodecodigos;
import java.lang.reflect.*;
public class Estudos{
public static void main(String args[]){
// vamos carregar a classe JButton
try{
Class c = Class.forName("javax.swing.JButton");
// obtém os nomes dos métodos
Method[] metodos = c.getMethods();
// exibe o nome de cada método
for(int i = 0; i < metodos.length; i++){
System.out.println(metodos[i].getName() + ", ");
}
}
catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
System.exit(0);
}
}
Note que aqui nós estamos usando o método getName() da classe Method para retornar apenas o nome do método. Nesta seção você encontra exemplos de como obter também o tipo de retorno dos métodos de um determinada classe ou interface. A execução desse código gera uma lista gigante de métodos. Vou mostrá-los abaixo para que você tenha uma idéia do funcionamento real: getAccessibleContext(), getUIClassID(), isDefaultButton(), isDefaultCapable(), removeNotify(), setDefaultCapable(), updateUI(), getUI(), setAction(), setModel(), setUI(), addActionListener(), addChangeListener(), addItemListener(), doClick(), doClick(), getAction(), getActionCommand(), getActionListeners(), getChangeListeners(), getDisabledIcon(), getDisabledSelectedIcon(), getDisplayedMnemonicIndex(), getHideActionText(), getHorizontalAlignment(), getHorizontalTextPosition(), getIcon(), getIconTextGap(), getItemListeners(), getLabel(), getMargin(), getMnemonic(), getModel(), getMultiClickThreshhold(), getPressedIcon(), getRolloverIcon(), getRolloverSelectedIcon(), getSelectedIcon(), getSelectedObjects(), getText(), getVerticalAlignment(), getVerticalTextPosition(), imageUpdate(), isBorderPainted(), isContentAreaFilled(), isFocusPainted(), isRolloverEnabled(), isSelected(), removeActionListener(), removeChangeListener(), removeItemListener(), setActionCommand(), setBorderPainted(), setContentAreaFilled(), setDisabledIcon(), setDisabledSelectedIcon(), setDisplayedMnemonicIndex(), setEnabled(), setFocusPainted(), setHideActionText(), setHorizontalAlignment(), setHorizontalTextPosition(), setIcon(), setIconTextGap(), setLabel(), setLayout(), setMargin(), setMnemonic(), setMnemonic(), setMultiClickThreshhold(), setPressedIcon(), setRolloverEnabled(), setRolloverIcon(), setRolloverSelectedIcon(), setSelected(), setSelectedIcon(), setText(), setVerticalAlignment(), setVerticalTextPosition(), update(), contains(), getLocation(), print(), getSize(), isOpaque(), disable(), enable(), addAncestorListener(), addNotify(), addVetoableChangeListener(), computeVisibleRect(), createToolTip(), getActionForKeyStroke(), getActionMap(), getAlignmentX(), getAlignmentY(), getAncestorListeners(), getAutoscrolls(), getBaseline(), getBaselineResizeBehavior(), getBorder(), getBounds(), getClientProperty(), getComponentPopupMenu(), getConditionForKeyStroke(), getDebugGraphicsOptions(), getDefaultLocale(), getFontMetrics(), getGraphics(), getHeight(), getInheritsPopupMenu(), getInputMap(), getInputMap(), getInputVerifier(), getInsets(), getInsets(), getMaximumSize(), getMinimumSize(), getNextFocusableComponent(), getPopupLocation(), getPreferredSize(), getRegisteredKeyStrokes(), getToolTipLocation(), getToolTipText(), getToolTipText(), getTopLevelAncestor(), getTransferHandler(), getVerifyInputWhenFocusTarget(), getVetoableChangeListeners(), getVisibleRect(), getWidth(), getX(), getY(), grabFocus(), hide(), isDoubleBuffered(), isLightweightComponent(), isManagingFocus(), isOptimizedDrawingEnabled(), isPaintingForPrint(), isPaintingTile(), isRequestFocusEnabled(), isValidateRoot(), paint(), printAll(), putClientProperty(), registerKeyboardAction(), registerKeyboardAction(), removeAncestorListener(), removeVetoableChangeListener(), requestDefaultFocus(), requestFocus(), requestFocus(), requestFocusInWindow(), resetKeyboardActions(), reshape(), scrollRectToVisible(), setActionMap(), setAutoscrolls(), setBackground(), setBorder(), setComponentPopupMenu(), setDebugGraphicsOptions(), setDefaultLocale(), setDoubleBuffered(), setFocusTraversalKeys(), setFont(), setForeground(), setInheritsPopupMenu(), setInputMap(), setInputVerifier(), setMaximumSize(), setMinimumSize(), setNextFocusableComponent(), setOpaque(), setPreferredSize(), setRequestFocusEnabled(), setToolTipText(), setTransferHandler(), setVerifyInputWhenFocusTarget(), setVisible(), unregisterKeyboardAction(), firePropertyChange(), firePropertyChange(), firePropertyChange(), getRootPane(), getListeners(), paintImmediately(), paintImmediately(), repaint(), repaint(), revalidate(), setAlignmentX(), setAlignmentY(), add(), add(), add(), add(), add(), remove(), remove(), list(), list(), removeAll(), setFocusTraversalPolicyProvider(), transferFocusDownCycle(), validate(), getComponent(), getComponentCount(), getComponents(), getFocusTraversalPolicy(), invalidate(), isFocusCycleRoot(), isFocusCycleRoot(), setFocusTraversalPolicy(), addContainerListener(), applyComponentOrientation(), areFocusTraversalKeysSet(), countComponents(), deliverEvent(), doLayout(), findComponentAt(), findComponentAt(), getComponentAt(), getComponentAt(), getComponentZOrder(), getContainerListeners(), getFocusTraversalKeys(), getLayout(), getMousePosition(), insets(), isAncestorOf(), isFocusTraversalPolicyProvider(), isFocusTraversalPolicySet(), layout(), locate(), minimumSize(), paintComponents(), preferredSize(), printComponents(), removeContainerListener(), setComponentZOrder(), setFocusCycleRoot(), addPropertyChangeListener(), addPropertyChangeListener(), add(), remove(), toString(), getName(), contains(), size(), getLocation(), getParent(), setName(), list(), list(), list(), getSize(), location(), setSize(), setSize(), resize(), resize(), enable(), transferFocus(), transferFocusBackward(), addComponentListener(), addFocusListener(), addHierarchyBoundsListener(), addHierarchyListener(), addInputMethodListener(), addKeyListener(), addMouseListener(), addMouseMotionListener(), addMouseWheelListener(), bounds(), checkImage(), checkImage(), createImage(), createImage(), createVolatileImage(), createVolatileImage(), enableInputMethods(), getColorModel(), getComponentListeners(), getComponentOrientation(), getCursor(), getDropTarget(), getFocusListeners(), getFocusTraversalKeysEnabled(), getHierarchyBoundsListeners(), getHierarchyListeners(), getIgnoreRepaint(), getInputContext(), getInputMethodListeners(), getInputMethodRequests(), getKeyListeners(), getLocale(), getLocationOnScreen(), getMouseListeners(), getMouseMotionListeners(), getMouseWheelListeners(), getToolkit(), gotFocus(), hasFocus(), inside(), isBackgroundSet(), isCursorSet(), isFocusTraversable(), isFontSet(), isForegroundSet(), keyDown(), keyUp(), lostFocus(), mouseDown(), mouseDrag(), mouseEnter(), mouseExit(), mouseMove(), mouseUp(), move(), paintAll(), prepareImage(), prepareImage(), removeComponentListener(), removeFocusListener(), removeHierarchyBoundsListener(), removeHierarchyListener(), removeInputMethodListener(), removeKeyListener(), removeMouseListener(), removeMouseMotionListener(), removeMouseWheelListener(), setComponentOrientation(), setCursor(), setDropTarget(), setFocusTraversalKeysEnabled(), setFocusable(), setIgnoreRepaint(), show(), show(), transferFocusUpCycle(), getBackground(), getBounds(), getFocusCycleRootAncestor(), getFont(), getForeground(), getPeer(), getPropertyChangeListeners(), getPropertyChangeListeners(), getTreeLock(), isDisplayable(), isMaximumSizeSet(), isMinimumSizeSet(), isPreferredSizeSet(), isShowing(), isVisible(), nextFocus(), setBounds(), setBounds(), setLocale(), setLocation(), setLocation(), dispatchEvent(), getGraphicsConfiguration(), getMousePosition(), handleEvent(), isFocusable(), isLightweight(), isValid(), postEvent(), firePropertyChange(), firePropertyChange(), firePropertyChange(), firePropertyChange(), firePropertyChange(), action(), isEnabled(), isFocusOwner(), removePropertyChangeListener(), removePropertyChangeListener(), repaint(), repaint(), repaint(), wait(), wait(), wait(), equals(), hashCode(), getClass(), notify(), notifyAll(), Esta dica foi revisada e atualizada para o Java 8. |
AutoCAD VBA ::: Dicas & Truques ::: Comprimentos, distâncias e ângulos |
Como calcular a distância entre dois pontos no AutoCAD usando AutoCAD VBAQuantidade de visualizações: 505 vezes |
|
Em várias situações nós precisamos calcular e retornar a distância entre dois pontos na área de desenho do AutoCAD. Esta tarefa pode ser facilmente realizada com o uso da linguagem AutoCAD VBA. Neste exemplo nós usaremos a função ThisDrawing.Utility.GetPoint() para pedir para o usuário selecionar dois pontos na área de desenho e em seguida vamos mostrar a distância entre eles. Veja o código AutoCAD VBA completo para o exemplo:
' Esta macro AutoCAD VBA demonstra como podemos
' calcular a distância entre dois pontos na área de
' desenho do AutoCAD
Sub DistanciaDoisPontos()
' vamos declarar os dois pontos geométricos
Dim p As Variant
Dim q As Variant
' para guardar as coordenadas temporárias
Dim x As Double, y As Double, z As Double
' para guardar a distância
Dim distancia As Double
' vamos pedir para o usuário informar os dois pontos
p = ThisDrawing.Utility.GetPoint(, vbCrLf & _
"Indique o primeiro ponto: ")
q = ThisDrawing.Utility.GetPoint(p, vbCrLf & _
"Indique o segundo ponto: ")
' agora calculamos a distância entre os dois pontos informados
x = p(0) - q(0)
y = p(1) - q(1)
z = p(2) - q(2)
distancia = Sqr((Sqr((x ^ 2) + (y ^ 2)) ^ 2) + (z ^ 2))
' e mostramos o resultado
MsgBox "A distância entre os dois pontos é: " & distancia
End Sub
Ao executar este código AutoCAD VBA nós teremos o seguinte resultado: A distância entre os dois pontos é: 64.6029 |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar arrays (vetores e matrizes) usando o objeto ndarray da biblioteca Numpy do PythonQuantidade de visualizações: 3345 vezes |
|
O objeto ndarray é a parte mais importante da biblioteca Numpy do Python. É por meio dele que criamos vetores e matrizes. Quando falamos vetores, estamos nos referindo às matrizes de apenas uma dimensão, ou seja, uma linha e várias colunas. A forma mais comum de se criar arrays na Numpy é usando funções presentes na biblioteca. Veja: # importamos a bibliteca NumPy import numpy as np def main(): # vamos usar o método arange() para construir um # vetor de 10 elementos, começando de 0 até 9 vetor = np.arange(10) # vamos mostrar o vetor gerado print(vetor) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: [0 1 2 3 4 5 6 7 8 9] Depois que criamos o vetor, seus elementos individuais podem ser acessados usando-se o nome da variável usada para representar todo o valor e o índice do elemento que queremos acessar (começando em 0). Veja:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos usar o método arange() para construir um vetor de
# 10 elementos, começando de 0 até 9
vetor = np.arange(10)
# vamos mostrar o vetor inteiro
print("Vetor gerado: ", vetor)
# vamos mostrar o valor do terceiro elemento
print("Terceiro elemento: ", vetor[2])
if __name__== "__main__":
main()
Este código produzirá o seguinte resultado: Vetor gerado: [0 1 2 3 4 5 6 7 8 9] Terceiro elemento: 2 Uma outra forma de criarmos vetores usando a Numpy, é fornecendo os elementos do vetor como uma list. Veja:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos criar um vetor passando uma list
valores = np.array([4, 12, 50, 8, 32])
# vamos mostrar o resultado
print("Elementos no vetor:", valores)
if __name__== "__main__":
main()
Este código vai gerar o seguinte resultado: Elementos no vetor: [ 4 12 50 8 32] Agora vamos usar essa mesma abordagem para criar uma matriz de duas dimensões (bidimensional):
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos criar uma matriz bidimensional passando
# duas lists dentro de uma list
valores = np.array([(4, 12, 50), (5, 3, 1)])
# vamos mostrar o resultado
print("Elementos no vetor:", valores)
if __name__== "__main__":
main()
Veja o resultado da execução desse código: Elementos no vetor: [[12 12 50] [ 5 3 1]] Em mais dicas dessa seção você aprenderá mais sobre as funções de criação e manipulação de vetores e matrizes usando a biblioteca NumPy do Python. |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |








