Jump to content

kodo no kami

Members
  • Content Count

    82
  • Joined

  • Last visited

  • Days Won

    12

kodo no kami last won the day on May 1

kodo no kami had the most liked content!

Community Reputation

37 Excellent

4 Followers

Personal Information

  • Sex
    Masculino

Recent Profile Visitors

1107 profile views
  1. Galera o pygame é um modulo voltado para o desenvolvimento de games 2D usando a linguagem de programação python, esse modulo é bastante semalhante a biblioteca SDL sendo o seu funcionamento bem mais simples. Com o pygame a gente consegue criar janelas, carrega imagens, criar sprites, manipular som e ate manipular teclado, mouse e joystick. Para começar a desenvolver em pygame é necessario o python e o modulo pygame instalado, uma das formas de instalar o pygame é utilizando pip python3 -m pip install pygame com o modulo instalado basta importar ele no nosso codigo, quando voce importa ele no codigo vai exibir uma menssagem no terminal com a versão o pygame #!/usr/bin/python3 import pygame primeiro metodo que vamos usar é o pygame.init para iniciar o pygame #!/usr/bin/python3 import pygame pygame.init() para criar uma janela usamos o metodo pygame.display.set_mode, passamos como argumento pra ele uma tupla com a dimessão da janela, tambem pegamos como retorno a superficie da janela para conseguir manipular mais tarde #!/usr/bin/python3 import pygame pygame.init() janela = pygame.display.set_mode((300,200)) o interessante seria colocar os valores em uma variavel e manda essa variavel para o metodo #!/usr/bin/python3 import pygame pygame.init() largura = (300,200) janela = pygame.display.set_mode(largura) outra coisa que precisamos fazer é criar um loop infinito para que o programa não finalize #!/usr/bin/python3 import pygame pygame.init() largura = (300,200) janela = pygame.display.set_mode(largura) while True: pass quando a gente fecha aquela janela ela simplesmente não fecha, isso acontece porque o jogo não ta tratando nenhum evento ainda, para que isso seja possivel usamos o metodo pygame.event.get para retornar todos os evento, podemos usar o laço for e manipular cada um deles separadamente #!/usr/bin/python3 import pygame pygame.init() largura = (300,200) janela = pygame.display.set_mode(largura) while True: for evento in pygame.event.get(): pass pelo atributo type daquele evento podemos detectar o tipo de evento, nesse caso vamos pegar eventos do tipo QUIT, depois basta finalizar com metodo quit e exit (com isso quando a gente fechar a janela ela vai fecha) #!/usr/bin/python3 import pygame pygame.init() largura = (300,200) janela = pygame.display.set_mode(largura) while True: for evento in pygame.event.get(): if evento.type == pygame.QUIT: pygame.quit() exit(0) no nosso loop principal a gente precisa limpar a tela e desenhar o objeto novamente na tela ja que a imagem em um jogo não é estatica e sim dinamica desenhada em um certo tempo, para limpar a tela usamos o metodo fill daquela superfice desejada (nesse caso a da janela), nesse metodo passamos como argumento a cor que vamos pintar a tela (sendo uma tupla de 3 cores representando o RGB) #!/usr/bin/python3 import pygame pygame.init() largura = (300,200) janela = pygame.display.set_mode(largura) while True: for evento in pygame.event.get(): if evento.type == pygame.QUIT: pygame.quit() exit(0) janela.fill((255,255,255)) para desenhar a tela novamente usamos o metodo pygame.display.flip #!/usr/bin/python3 import pygame pygame.init() largura = (300,200) janela = pygame.display.set_mode(largura) while True: for evento in pygame.event.get(): if evento.type == pygame.QUIT: pygame.quit() exit(0) janela.fill((255,255,255)) pygame.display.flip() bom galera essa é a primeira parte dessa sequencia de tutoriais sobre pygame, então ate a proxima porte \o by kodo no kami
  2. então galera muitas vezes precisamos gerar um certificado digital. Os certificado digitais são gerados por uma chave privada e dentro dele é composto por uma chave publica e algumas informações referente a ele (país, estado, cidade, autor, etc), ele pode ser auto assinado ou assinado por outro certificado (normalmente uma Autoridade Certificadora ~ CA). Para a gente criar um certificado digital auto assinado usando o openssl temos primeiro que gera uma chave privada, para isso usamos o parametro genrsa openssl genrsa -des 2048 > kodorsa.key com a chave privada gerada, basta gerar uma nova requisição de certificado com o parametro req, passamos como argumento o parametro -new indicando uma nova requisição, o parametro -days indicando o tempo em dias antes de expirar, o parametro -key com a nossa chave privada, tambem podemos usar o parametro -x509 para gerar o certificado de uma vez (se não teria que usar o parametro x509 e assinar com a nossa chave depois), depois disso ele vai pedir algumas informações (país, estado, cidade, empresa, setor, autor ou dominio, email) openssl req -new -x509 -days 365 -key kodorsa.key > kodo.crt é possivel exibir as informações do certificado usando o parametro x509, o parametro -in com o certificado e o -text para exibir as informações dele openssl x509 -in kodo.crt -text é possivel exportar a chave publica de um certificaodo usando o parametro x509, com o -pubkey e -noout para ter apenas a saida da chave publica openssl x509 -in kodo.crt -pubkey -noout podemos usar esse certificado para diversos fins, como exemplo uma comunicação criptografada por SSL #!/usr/bin/python3 import ssl import socket sslc = ssl.SSLContext() sslc.load_cert_chain(certfile="kodo.crt",keyfile="kodorsa.key") sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) sock.connect(("192.168.1.1",10315)) sslsock = sslc.wrap_socket(sock) sslsock.send(b"kodo kawaii") print("msg criptografada enviada") sslsock.close() sock.close() bom galera é isso ate o proximo tutorial \o by kodo no kami
  3. pode usar algum tipo de banco de dados e o programa em delphi ou algum outro faz a conexao nesse banco para inserir ou consultar (tem alguns componentes legais que ja vem no delphi para firebird e ate o access, ou pode instalar por exemplo o zeuslib que faz conexao em varios dbs como mysql e postgre)
  4. e ae galera nesse topico vamos aprender como deixar uma imagem mais cinzenta sem cores, vamos fazer isso programando esse efeito na mão, vou utilizar a linguagem python com modulo PIL embora possa ser feito em qualquer outra linguagem de sua preferencia. A imagem que vou usar nesse tutorial é da Last Order do anime To Aru diz misaka misaka '-' para começar importamos o modulo PIL (é necessario que esteja instalado no seu sistema, não vou abordar a instalação dele) #!/usr/bin/python3 from PIL import Image com o modulo importado basta a gente carrega a imagem desejada usando o metodo open, passamos como argumento para ele o local da imagem (no meu caso vou usar uma imagem fixa, o recomendado é que esse local seja passado pelo usuario como um input ou alguma coisa desse tipo) #!/usr/bin/python3 from PIL import Image img = Image.open("last.jpg") agora precisamos retornar a largura e altura da imagem para conseguir ler cada pixel dela, para isso usamos o atributo size que retorna uma tupla com largura e altura #!/usr/bin/python3 from PIL import Image img = Image.open("last.jpg") tam = img.size vamos criar um loop para correr cada pixel da largura e dentro dele criamos outro loop para correr cada pixel da altura, com isso vamos correr pixel a pixel da imagem #!/usr/bin/python3 from PIL import Image img = Image.open("last.jpg") tam = img.size contx = 0 while contx < tam[0]: conty = 0 while conty < tam[1]: conty += 1 contx += 1 dentro do segundo loop pegamos a cor do pixel com o metodo getpixel, nesse metodo passamos como argumento a posição daquele pixel para ter uma tupla como retorno a cor em formato RGB #!/usr/bin/python3 from PIL import Image img = Image.open("last.jpg") tam = img.size contx = 0 while contx < tam[0]: conty = 0 while conty < tam[1]: cor = img.getpixel((contx,conty)) conty += 1 contx += 1 uma das formas de deixar essa imagem mais cinza seria manipular a cor alternando o mais proximo entre o preto e o branco, uma outra forma ate mais simples seria deixar as 3 cores principais do RGB com o mesmo valor (o legal seria tirar uma media dos 3 valores RGB e atribuir o resultado aos 3) #!/usr/bin/python3 from PIL import Image img = Image.open("last.jpg") tam = img.size contx = 0 while contx < tam[0]: conty = 0 while conty < tam[1]: cor = img.getpixel((contx,conty)) media = (cor[0] + cor[1] + cor[2]) // 3 cor = (media,media,media) conty += 1 contx += 1 para a gente atribuir aquela cor naquele pixel usamos putpixel, passamos como argumento a posição e por fim a nova cor #!/usr/bin/python3 from PIL import Image img = Image.open("last.jpg") tam = img.size contx = 0 while contx < tam[0]: conty = 0 while conty < tam[1]: cor = img.getpixel((contx,conty)) media = (cor[0] + cor[1] + cor[2]) // 3 cor = (media,media,media) img.putpixel((contx,conty),cor) conty += 1 contx += 1 é possivel exibir a imagem com o metodo show ou podemos salvar ela com o metodo save e exibir em algum programa #!/usr/bin/python3 from PIL import Image img = Image.open("last.jpg") tam = img.size contx = 0 while contx < tam[0]: conty = 0 while conty < tam[1]: cor = img.getpixel((contx,conty)) media = (cor[0] + cor[1] + cor[2]) // 3 cor = (media,media,media) img.putpixel((contx,conty),cor) conty += 1 contx += 1 img.show() img.save("last_gray") bom galera é isso \o by kodo no kami
  5. possivel é so que precisa fazer o trafego da rede da vitima passa pela sua maquina se não não funciona, uma boa forma de fazer isso é subir um servidor de proxy/vpn na sua maquina e seta ele na vitima, outra forma é fazer roteamento na maquina da vitima, de qualquer forma não é tão simples muitas vezes necessita do acesso a maquina ou infectar ela com algum malware que faz isso
  6. opa show \o, tambem pode ser feito pelo mkdir do proprio os import os perg=(input('Nome Da Pasta: ')) os.mkdir(perg)
  7. E ae galera beleza? nesse tutorial vamos brincar com o modulo WWW::Mechanize do perl, esse modulo nos permite fazer determinadas requisições em sites, manipular parametros e metodos passados, manipular formularios daquela pagina, manipular os cookies e headers da requisição e etc. Com esse modulo é bastante simples o desenvolvimento de bots, scripts voltados a coleta ou dump de informações em sites, ou simplesmente automatizar um determinado envio de formulario pela web. Normalmente o modulo não vem instalado por padrão, uma das formas de instalar ele é utilizando o CPAN sudo perl -MCPAN -e "install WWW::Mechanize" com o modulo instalado basta a gente declarar ele no nosso script para começar #!/usr/bin/perl use WWW::Mechanize; agora podemos instanciar um objeto desse modulo, no caso WWW::Mechanize #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; com o objeto instanciado, é possivel fazer uma simples requisição GET em um determinado site usando o metodo get e passando a url como argumeto #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("http://eofclub.in/"); para exibir a resposta usamos o metodo content #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("http://eofclub.in/"); print $kodo->content; usando regex podemos recortar trechos especificos e montar a saida como a gente desejar #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://steamcommunity.com/id/$ARGV[0]"); my @mensagem = $kodo->content =~ /meta name="Description" content="(.*?)"/si; my @amigos = $kodo->content =~ /friendBlockContent">(.*?)<br>/gis; my @online = $kodo->content =~ />Last Online (.*?)</si; print "[--- STEAM ---]\nsteam id: $ARGV[0]\n" . "online: $online[0]\n\n" . "[--- Mensagem Perfil ---] \n$mensagem[0]" . "\n\n[--- Amigos ---] \n"; foreach my $a(@amigos){ $a =~ s/\n//gs; $a =~ s/\x09//gs; print $a . "\n"; } é possivel retornar o codigo de status usando o metodo status (passamos o autocheck para o objeto para continuar executando mesmo com o erro) #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize(autocheck=>0); $kodo->get("http://google.com..br/"); print "codigo: " . $kodo->status . "\n"; if($kodo->status == 200){ print "tudo sussa!!! \n"; } else{ print "vish deu ruim \n"; } com o metodo uri retornamos a url atual #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize(autocheck=>0); $kodo->get("https://dolarhoje.com/bitcoin-hoje/"); print $kodo->uri . "\n"; com o metodo links é possivel retornar todos os links daquela pagina como uma array, podemos utilizar o parametro url para especificar as urls dos links e o parametro text para os textos naqueles links #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://pt.wikipedia.org/wiki/Perl"); my @links = $kodo->links; foreach my $l(@links){ print $l->text . "\n"; print $l->url . "\n"; print "=========================\n"; } o metodo images retornamos as imagens da pagina #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://www.facebook.com/forumeof"); my @img = $kodo->images; foreach my $i(@img){ print $i->url . "\n\n"; } para retornar informações dos formularios naquela pagina usamos o metodo forms, podemos usar alguns parametros como o action para onde sera redirecionado aquele formulario, o method sendo o metodo usado #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://youtube.com"); my @formulario = $kodo->forms; foreach my $f(@formulario){ print $f->action . "\n"; print $f->method . "\n"; print "------------------\n"; } podemos usar o metodo inputs no exemplo anterior para retornar todos os inputs de cada formulario, com o paremetro type retornamos o tipo de input (text, password, hidden, button e etc), com o parametro name retornamos o name que sera passado, com o parametro text o texto no input, com o parametro value o valor pre-definido dele #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://youtube.com"); my @formulario = $kodo->forms; my @inputs; my $i; foreach my $f(@formulario){ print $f->method . ": " . $f->action . "\n"; print . "\n\n"; @inputs = $f->inputs; foreach $i(@inputs){ print "----------\n"; print "type: " . $i->type . "\n"; print "name: " . $i->name . "\n"; print "text: " . $i->name . "\n"; print "value: " . $i->value . "\n"; print "----------\n"; } print "\n===========================\n"; } o submit_form é um dos metodos para preencher o formulario e depois enviar ele, para a gente usar esse metodo fazemos o request na pagina que tem esse formulario e depois usamos o metodo passando os parametros, sendo o form_number seguido da ordem daquele formulario e fields com os campos do formulario (no caso os inputs) #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://youtube.com"); $kodo->submit_form( form_number => 2, fields => { search_query => "kodo no kami" } ); print $kodo->uri . "\n"; o exemplo anterior tambem seria possivel via get direto pela propria url #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://www.youtube.com/results?search_query=kodo+no+kami"); tambem podemos usar o submit_form para enviar via POST ou usar o proprio metodo post (o metodo post é bem interessante a gente aprender a fazer ja que boa parte dos logins são feitos por ele) #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; #autentica no meu roteador $kodo->post("http://192.168.1.254/login.cgi",[username=>"admin",password=>"minhawaifu","submit.htm?login.htm"=>"send"]); #pula para pagina principal depois de logado $kodo->get("index.htm") print $kodo->content; podemos salvar a pagina normalmente abrindo um arquivo e escrevendo a requisição nele (podemos salvar qualquer tipo de arquivo não apenas as pagias html) #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://eofclub.in/download/EOFbookAsm.pdf"); open(KARQ,">asm.pdf"); print KARQ $kodo->content; close(KARQ); uma forma mais simples de salvar é usando o metodo save_content #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->get("https://eofclub.in/download/EOFbookAsm.pdf"); $kodo->save_content("asm.pdf"); usando o metodo agent podemos especificar um User-Agent #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->agent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"); $kodo->get("https://google.com.br"); é possivel utilizar proxy bastando atribuir ele ao metodo proxy #!/usr/bin/perl use WWW::Mechanize; my $kodo = new WWW::Mechanize; $kodo->proxy(["http","https"],"http://108.61.186.207:8080"); $kodo->get("http://ip-api.com/json/"); print $kodo->content . "\n"; bom galera isso é apenas um pequeno tutorial desse grande modulo, existem muitas outras funcionalidade que podem ser feitas com esse modulo \o by kodo no kami
  8. opa \o tem um canal br o wrkits que tava ensinando criar pc 8bits passo a passo
  9. Galera nessa postagem vou mostrar o vmlab (Visual Micro Lab) que é um simulador para arquitetura AVR e ST6. Os microcontroladores aceito nesse simulador são: esse simulador alem de permitir escrever o nosso codigo em assembly é possivel instalar o winavr e integrar a ele a linguagem C, tambem tem alguns outros recursos como descrever um circuitinho em spice, um painel onde tem alguns componentes (botões, leds, potenciômetro e etc). Para baixar ele podemos ir direto no site oficial site oficial depois de baixar, instalar e executar vamos nos deparar com janela inicial para começar basta a gente criar um projeto apertando no menu "Project" e depois "New project". Na proxima aba no "Step 1" escolhemos onde vamos salvar o nosso projeto, no "Step 2" vamos escolher o processador (no meu caso vou brincar com o atmega168), no "Step 3" podemos deixar o compilador padrao, no "Step 4" podemos adicionar uma codigo fonte digitando o nome e apertando em "Add this", por fim apertamos no botão "OK" com o projeto criado basta digitar o nosso codigo assembly na aba do codigo e o nosso circuito na aba do projeto (podemos usar apenas o codigo e debugar ele, não é necessario criar o circuito). Nesse tutorial não vou abordar a linguagem assembly (talvez em um futuro tutorial quem sabe). Para esse exemplo vou fazer um simples codigo que coloca um dos pinos do microcontrolador como saida e fica alternando ele em um loop infinito, para isso setamos em um registrador a pinagem que vamos ter como saida ou como entrada (diferente dos PICs onde o numero 0 indica a saida e o numero 1 a entrada, os AVRs o numero 0 indica a entrada e 1 seria a saida '-' ), agora enviamos o conteudo daquele registrador para o DDRx indicando quem vai ser a saida ou entrada daquele Port .include "C:\VMLAB\include\m168def.inc" reset: rjmp inicio inicio: ;reg r20 recebe 00000100 ldi r20,4 ;especificamos as entradas/saidas do PORTD out DDRD,r20 agora em um loop infinito vou ficar alternando (tem formas mais eficientes como manipular cada bit XD), nesse caso tambem não vamos enviar para o DDRx e sim para o proprio PORT .include "C:\VMLAB\include\m168def.inc" reset: rjmp inicio inicio: ;reg r20 recebe 00000100b ldi r20,4 ;especificamos as entradas/saidas do PORTD out DDRD,r20 repetir: ;seta no reg20 00000000b ldi r20,0 out PORTD,r20 ;seta no reg20 00000100b ldi r20,4 out PORTD,r20 ;pulo incodicional para o repetir rjmp repetir depois de escrever o nosso codigo basta compilar e debugar o codigo, para isso apertamos no menu "Project" e por fim "Build" (tambem podemos apertar a tecla F9), se tudo ocorrer bem vai aparecer uns quadradinhos verde no lado do codigo alem de uma mensagem na aba message ("Success! All ready to run") podemos rodar nosso codigo indo no menu "Run", apertando em "Go / Continue" (F5) ele vai rodar o codigo direto ou podemos rodar passo a passo apertando no menu "Step over" (F6) ou "Step into" (F7) no lado do codigo tem uns quadrado verde sendo um breakpoint, podemos apertar nele e parar a execução do codigo sempre que passar naquela determinada instrução que tiver o breakpoint, assim podemos da um run direto e analisar apenas aquele trecho em especifico podemos abrir algumas abas no menu "View" que mostra algumas informações dos registradores, pinos, memorias. no menu "View" tambem tem o "Control Panel" com alguns componentes como botões e leds. Para interligar um dos pinos do microcontrolador a um dos led usamos a aba project e descrevemos o circuito em spice (tem um pequeno probleminha, não da para usar o pino como source para o led, então vai ter que acender o led em nivel logico baixo e apagar ele em nivel logico alto kkk) .MICRO "ATmega168" .PROGRAM "kodo.asm" .TARGET "meuprojeto.hex" .TRACE ; Activate micro trace .POWER VDD=5 VSS=0 ; Power nodes .CLOCK 1meg ; Micro clock .STORE 250m ; Trace (micro+signals) storage time ;tem um resistor de 280 ohms ta conectado ao PortD pino 2 e ao Nó 1 R1 PD2 1 280 ;o anodo do led ta no VDD e o catado ta no Nó 1 D1 VDD 1 tambem existe um osciloscópio no simulador, para usar ele declaramos .PLOT o pino no project .PLOT V(PD2) se a gente olhar na pasta do projeto vai ter o .hex então é possivel subir o nosso codigo em um microcontrolador real bom galera esse simulador é bem legal para aprender programar em assembly para microcontroladores AVR ^^ by kodo no kami
  10. galera uma pequena obs, eu inverti ali contato aberto e contato fechado kkkk se algum mod/adm puder modificar o trecho anterior por esse, não da para editar =/
  11. bom galera o CADe SIMU é um simulador legalzinho onde podemos simular um CLP (deixo tambem essa postagem de referencia do mano 51M0N do funcionamento de um CLP -> como funciona o PLC). Para baixar o CADe SIMU podemos ir direto no site oficial site oficial depois de baixar, basta extrair e executar ele no menu Entradas/Saidas temos 2 tipos de CLP (se eu não estiver errado o primeiro é um Logo 24rce e o segundo um s7-1200). Uma coisa que eu não gostei nesse simulador são os icones do menu são bem pequenos não sei se é possivel aumentar eles =/ nesse exemplo vamos usar o Logo, sendo a sua alimentação 24v feita pelo P1 e P2. Usamos o menu Alimentação para colocar o VCC/GND e o menu Cabos e Conexões para selecionas os cabos vou fazer uma simples logica ligar e desligar usando dois botões simples um para ligar outro para desligar, quando a gente apertar o botão de ligar uma vez o CLP vai aceder uma lampada e quando for apertado o botão de desligar a lampada vai ser apagada. Outra coisa que temos que citar que a saida desse CLP do simulador é via relé ou seja precisamos alimentar ela tanto com positivo quanto com negativo, o CLP nesse caso vai atuar como uma chave para o relé interno. Nesse exemplo coloquei tambem dois botões nas entradas I1 e I2 e uma lampada na saida Q1 para programar o CLP usaremos a linguagem ladder (nesse simulador tambem é possivel por grafcet e logica). No menu ladder a gente seleciona alimentação positiva e negativa, colocamos um contato fechado com o nome da entrada I1 interligado a um contato aberto com o nome da entrada I2 na saida Q1 (resumindo, quando a gente apertar no botão vai fechar o o contato I1, como o I2 ja vai esta fechado vai alimentar a saida Q1). Tambem fazemos um selo com um contato Q1 em paralelo ao I1 para quando a gente soltar o botao do I1 vai ser realimentado pela propria saida Q1 e vai continuar ligado. Por outro lado quando o botão da entrada I2 for apertado vai abrir o contato I2 e desligar o Q1 o nosso exemplo ta prontinho bastando começar a simular e por fim aperta no botão para ver o funcionando do nosso codigo ladder se a gente apertar no outro botão vai desligar a lampada pela logica no ladder bom galera é so um exemplo basicão tem muitos outros componentes nesse simulador para brincar, excelente para começar brincar com a linguagem ladder *-* by kodo no kami
  12. então mano puxei as info do proprio site do sindicato usando o perl depois transformei em db para manipular no delphi \o
  13. opa bem vindo ao forum, qualquer coisa so chamar \o
  14. galera mais um software ai, dessa vez do sindicato de vr e algumas cidades proximas, bom para encontrar um mecanico quando o carro da pau em algum lugar ou alguem que trabalha em alguma area especifica para algum tipo de trabalho. O DB é bem pequeno tem apenas 5k de dados (obs: algumas colunas nao ficaram muito ordenadas =/ ) downnload (mega)
  15. ola erik tudo bem? então mano não existe uma linguagem ideal para começar, no caso basta escolher uma do seu gosto ou a que te chamar mais atenção e estudar ela (quando sentir vontade de mudar de linguagem so mudar não precisa se prender a ela ~ meu primeiro contato com programação foi a linguagem basic depois pulei para pascal). Exemplo algumas linguagens c: linguagem boa para programação desktop, tem compilador para maioria das arquiteturas e plataformas inclusive embarcados. Embora não seja usada para programação web é possível, boa parte do linux e seu kernel foi construída nela, boa para manipular memoria por não ter tanta abstração c++: uma linguagem baseada na linguagem C com um dos diferencias que ela é orientado a objeto basic: linguagem mais antiga que a anterior,. comumente usada em computadores e sistemas operacionais antigos embora ainda seja usada hoje em dia, tem muitas variações hoje em muitas IDE e aplicações como visual basic (vb) sendo muito boa para criar programas com interface grafica, visual basic .net (usa o recurso dotNet) , vba (macro para office e semelhantes), vbs (script semelhante ao javascript que era usado no internet explorer) pascal: tambem uma linguagem antiga embora muito boa para aprender a programar (muitos cursos e faculdades usam ela para dar os primeiros passos), a linguagem hoje tem grandes IDE com uma facilidade para programação com interfaces graficas como borland delphi (atualmennte rad studio) e o lazarus. Tem uma linguagem chamada algol que é usada para ensinar algoritimos que foi baseada em pascal (basicamente é o pascal em portugues java: a linguagem java é multiplataforma ou seja o executavel dela vai rodar em qualquer plataforma que exista a VM (tambem é usada muito para programação desktop, web e mobile), na minha opinião uma parte negativa do java que ele é todo orientado a objeto então para quem ta começando acaba dando de cara com a orientação objeto para quem esta começando pode complicar um pouco, java tem a sintaxe parecida com c/c++ então sair de uma para aprender a outra é bem simples pelo menos em alguns pontos c#: uma linguagem que tem o nome estranho, e a sintaxe dela é bastante semelhante a do java (tambem toda orientada a objeto). o c# usa o .net da microsoft, no linux pode usar o mono python: uma das linaguens mais usada para se iniciar em programação hoje em dia. o python é uma linguagem interpretada ou seja não gera o executavel e sim os scripts dele são lido pelo interpretador e processado (isso a torna multiplataforma). python é uma linguagem bem simples para começar por ter muitos tutoriais na net alem de uma gama enorme de modulos perl: a linguagem perl é interpretada tambem igual o python, uma das vantagens do perl que ele tem a sintaxe parecida com a linguagem C, diferente do python que tem uma sintaxe um pouco diferente. Perl é uma excelente linguagem para processar texto e ate criar bots, ele tem expressão regular nativa, e muitas das funções nativas dele são semelhante aos comandos do proprio linux/unix lua: tambem uma linguagem interpretada (uma trivia dela que foi criada por brasileiros na puc), ela é constantemente usada em conjunto com programas para deixar mais dinamico como script nse do nmap, alguns games usam a liguagem lua para desenvolvimento de mods tambem (ex: project zomboid, starbound, dont starve etc). html, css e javascript: se o seu foco for a desenvolvimento web (criar sites etc), as 3 ali naquela ordem citada é o recomendado para iniciar. O html e o css são usados para desenvolver a interface do site deixar com visual melhor, ja o javascript voce deixa a pagina bem mais dinamico manipula elas usando ele (tu pode usar js no lado do servidor com o nodejs ou ate mesmo usar ele para programação desktop) php: uma linguagem boa para web no lado do servidor é o php sendo uma linguagem interpretada (antigamente era usada muito a linguagem perl, inclusive na criação do php foi influenciado pelo perl), a linguagem php tem a sintaxe muito semelhante algumas linguagens então pular de uma para outra não é tão complicado (perl, java, javascript, c/c++). Voce tambem pode usar php para programação desktop cobol: aqui a linguagem mais antiga que as anteriores, cobol embora seja antigo é usado hoje em dia para programação em computadores de grande porte como mainframes em bancos e grandes empresas. A sintaxe dela é um pouco diferente separados por divisões assembly: essa linguagem é uma conversão da linguagem da maquina para um codigo mnemonico textual que quando compilado gera o seu codigo binario equivalente na linguagem da maquina daquela arquitetura. É uma linguagem que muda dependendo da propria arquitetura, então se voce aprender assembly da arquitetura x86 não vai conseguir programar em assembly para um raspberry pi que é arquitetura arm, ou para o arduino no caso um avr. Assembly é uma boa linguagem para estudar aquela arquitetura em si, aprender fazer engenharia reversa em programas para aquela arquitetura, ou ate mesmo criar programas mais limpos sem muita abstração com uma performance maior que os gerado em linguagens de mais alto nivel tem muitas outras linguagens alem das citadas \o
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.