Categorias
Tropeçando

Tropeçando 16 – Republish

FTP mini-HOWTO (Linux)

Eficiência e segurança com SQL parametrizado

O uso de comandos SQL, na maioria das linguagens de programação e gerenciadores de bancos de dados que suportam esta linguagem de manipulação de dados, pode ser parametrizado com variáveis de ligação (bind variables). Este recurso que, para um programador desavisado e inexperiente, pode parecer uma burocracia desnecessária, na verdade é um mecanismo muito importante para trazer segurança e eficiência ao uso de SQL em programas. Veja porque e como.

PHP: SQL Injection

Documentation for preventing SQL injection in PHP projects. Many web developers are unaware of how SQL queries can be handled and assume that an SQL query is a reliable command. It means that SQL queries are able to bypass access controls undetected, therefore bypassing standard authentication and authorization checks, and sometimes SQL queries can allow command access at the server operating system level.

PHP: Relatando Erros - Manual

Senhas armazenadas com segurança

Como Criar um Website :: Avi Alkalay

As 5 distribuições que mudaram o Linux

Segundo a chamada deste artigo da edição internacional da Linux Magazine, a história do Linux pode ser medida com base nas versões deste kernel, mas também pode ser medida pelas suas principais distribuições.

MySQL: Oracle assume um compromisso: GPL, documentado, sem contrato de suporte obrigatório, etc.

Scrum - Wikipédia, a enciclopédia livre

O Scrum é uma metodologia ágil para Gerenciamento de Projetos.

CentOS: Instalando mod_security

Spam: CGI.br determina bloqueio da porta 25 (smtp) a partir de janeiro

vivaotux: Afinando seu violão usando o bash - geek d+

[Dicas-L] Lista de servidores DNS abertos e rápidos

Categorias
Tropeçando

Tropeçando 76

Crie um proxy SOCKS em um servidor Linux com SSH para ignorar filtros de conteúdo

O método mais rápido para melhorar o desempenho de qualquer Servidor de Aplicações Web PHP usando MySQL ou PostgreSQL

Getting first and last values per group

Every so often someone needs solution to getting first (or couple of first) values for given column. Or last. For some cases (when there is not many groups) you can use recursive queries. But it's not always the best choice. Let's try to implement first() and last() aggregates, so these could be easily used by anybody.

Roadmap to becoming a web developer in 2017

Categorias
Tropeçando

Tropeçando 54

Conversão de MDB para MySQL

Convertendo MKV em AVI

Code.org

Programar é preciso! Aprenda a programar, independente da sua escolha profissional. Programas ensina a pensar.

The controller pattern is awful (and other OO heresy)

Categorias
Tropeçando

Tropeçando 44

Site oficial: MySQL.com invadido via… SQL injection

Drizzle é a esperança para amantes do MySQL - Zona livre

TI by JeffersonX: Você utiliza virtualização no seu desktop?

Razões para nem começar a usar o Scientific Linux « Artigos do Timm.

Linux: Compartilhar internet Claro 3G no Ubuntu 10.10 [Dica]

Categorias
Tropeçando

Tropeçando 33

Resumindo o Dia dos Professores

Educação é a bala de prata. Educação é tudo. Não precisamos de pequenas mudanças, precisamos de mudanças gigantescas, mudanças monumentais. Escolas deveriam ser palácios. A competição pelos melhores professores deveria ser selvagem; eles deveriam ganhar salários de 6 dígitos. Escolas deveriam ser incrivelmente caras para o Governo e absolutamente gratuitas para os cidadãos, como a Defesa Nacional. - Rob Lowe, em The West Wing

Content isn’t king » CrisDias weblog

Content isn’t king. If I sent you to a desert island and gave you the choice of taking your friends or your movies, you’d choose your friends — if you chose the movies, we’d call you a sociopath. Conversation is king. Content is just something to talk about.

Feira da Carreira Pública: o RJ que deu errado » CrisDias weblog

Non-Operating System

Nerd versus suporte telefônico » CrisDias weblog

Raquel Oliveira: Hotéis Formule 1

GNOME: The Free Software Desktop Project

Vídeo-Aula: Comparando Joins - Mauro Pichiliani - SQL Server

André Gondim » Ubuntu 4.10 Warty Warthog, faz 6 anos

Categorias
Banco de dados Programação Technology

Aonde você deseja se conectar hoje?

O site ConnectionString vem com uma proposta simples e muito útil: fornecer linhas de conexão. Tem conexão para tudo. Há conexões bancos de dados (SQL Server, Informix, MySQL, Progress, Paradox, Firebird etc), arquivos de dados (Excel, TXT, SQL Lite etc) e também para outros tipos (MS Project, Active Directory, Exchange, DNS etc).

A idéia de ConnectionString é fornecer uma fácil referência para linhas de conexão.

Hoje, existem 213 linhas de conexão no banco de dados coletadas a partir de outros sites da internet, livros, arquivos de ajuda, msdn ou que tenham sido submetidos pelos colegas desenvolvedores de todo o mundo.

Se alguém conhecer algum projeto semelhante para outras linguagens, não deixe de colocar nos comentários, por favor.

Categorias
PHP

Converter formato de data para o formato BR, em uma linha de código só

Vou pedir licença ao Frederico e também palpitar sobre a possibilidade de, em uma linha, converter o formato de data do banco (funciona para o MySQL e outros bancos) para o formato brasileiro em php.

$data = "2008-01-09 14:56:06";
echo date('d/m/Y H:i:s', strtotime($data)); // mostrará 09/01/2008 14:01:06.
echo date('d/m/Y', strtotime($data)); // mostrará 09/01/2008.

Update em 24/01/2023: Podemos utilizar também DateTimeImmutable:

php > $data = "2008-01-09 14:56:06";
php > echo (new \DateTimeImmutable($data))->format('d/m/Y H:i:s');
09/01/2008 14:56:06
php > echo (new \DateTimeImmutable($data))->format('d/m/Y');
09/01/2008

Simples assim. 🙂

Essa solução funciona para datas no formato yyyy-mm-dd hh:mm:ss e yyyy-mm-dd.

Categorias
Banco de dados

Consultas case-insensitive e accent-insensitive no MySQL

Uma necessidade comum com dados em língua portuguesa são as buscas no bancos de dados insensível a caso e insensível a acentos.

No MySQL, até a versão 4.0, as consultas eram por padrão insensível ao caso (case-insensitive) e insensível ao acento (accent-insensitive). Isso mudou, porém, a partir da versão 4.1, que introduziu um suporte melhorado a comparações (collations) e definições de caracteres (charsets). Alguns desenvolvedores devem ter ficado surpresos com suas buscas que antes ignoravam acentos e maiúsculas e agora já exigiam que se colocasse.

A partir dessa versão, a sintaxe para uma consulta que ignora acentos e o caso seria a seguinte:

SELECT *
FROM `tab_municipios`
WHERE `NomeMunic` = _utf8 'SAO PAULO' COLLATE utf8_unicode_ci

Adaptado de Consultas case-insensitive no PostgreSQL e no MySQL