domingo, 24 de abril de 2022

O que mudou?

Eu achava que ninguem (sem acento, explicacao mais pra frente) vinha aqui ler minhas postagens porque parei de escrever nesse blog em 2013. 

Mas por incrivel que pareca, sim as pessoas vem aqui, e ainda utilizam as dicas daquele tempo pra resolver problems de hoje.

Voce ja deve ter percebido que meus erros de portugues nas duas primeiras frases. Me mudei para o Canada e acabei deixando esse "detalhe" de lado, entao, por favor, "bear with me."

Entao, muita agua rolou desde que eu finalizei a faculdade, o mestrado, e o doutorado (como eu fui me meter nessa!?!) em ciencia da computacao. Foram 10 anos intensos nessa jornanda incluindo um doutorado sanduiche no exterior que acabou mudando o rumo da minha vida. 

Hoje sou analista de dados e professora de banco de dados (pra quem ja viu meus posts aqui, sabe que o topico banco de dados me acompanha desde o inicio). 

E com vcs, o que mudou desde 2013? 



quarta-feira, 23 de janeiro de 2013

Configurando o PATH

Arquivos executáveis são mantidos em diferentes lugares em sistemas UNIX.

O PATH serve para dizer ao shell onde procurar os programas através de comandos definidos para acessá-los sem que você precise toda vez indicar onde eles estão salvos no seu computador...

 Por exemplo, instalei o MongoDB que é uma pasta que eu salvei em Applications no MAC OSX.

 Para ver se o programa que você quer executar está no PATH use o seguinte comando no shell:

 echo $PATH 

 Para modificar seu PATH e colocar o "endereço" do executável que você precisa faça o seguinte caso você esteja usando o BASH:

 PATH=$PATH\:/dir/path

 onde dir é substituido pelo endereço do programa que você quer colocar no path.

 No meu caso o mongodb/bin estava em Applications: 

PATH=$PATH\:/Applications/mongodb/bin 

Para salvar permanentemente você terá que modificar o seu .bash_profile da seguinte forma:

export PATH="/Applications/mongodb/bin:$PATH" 

Coloque no arquivo .bash_profile a linha acima... CLARO, lembrando que onde diz Applications/mongodb/bin é por que os meus arquivos executáveis estão dentro deste diretório, então adapte conforme a sua necessidade.
Mais informações de onde achar o .bash_profile estão aqui: http://hathaway.cc/2008/06/how-to-edit-your-path-environment-variables-on-mac-os-x/

quinta-feira, 12 de maio de 2011

Obrigada! =)

Ae Povo! Obrigada pelas dicas e comentários que vcs fazem aqui no Blog.
Toda colaboração, dicas e principalmente elogios são bem vindos (troll face) kkkkk ;)

segunda-feira, 11 de abril de 2011

Remover caracteres especiais do banco de dados

Para quem assim como eu teve problemas com caracteres especiais não printáveis escondidos no banco de dados:

Eu falo destes:
"\n, \t " que por exemplo, servem para delimitar linhas e colunas em dataset.

Isto aqui te ajuda a solucionar os casos em que acidentalmente eles estejam ocultos no seu banco de dados:

"update table set column = replace(column,chr(10),'')";

Neste caso eu estou fazendo um replace para todos os campos da coluna que tiverem o caracter especial chr(10) que é o "\n" na tabela ASCII.

Para consultar a tabela ASCII.

=D

sexta-feira, 21 de janeiro de 2011

Texmaker LaTeX e acentuação no Ubuntu



Para quem já passou pelo problema da utilização do Texmaker no Linux e percebeu que as palavras com acentos acabam por vir incompletas.

Consegui solucionar entrando em Options->Configure texmaker e dentro de Tex Editor -> Editor font encoding escolhi a opção ISO 8859-1 e isso foi suficiente para que ele aceite os acentos e compile tranquilamente.

quarta-feira, 19 de janeiro de 2011

cURL

No PHP existe uma biblioteca chamada cURL que é utilizada para acessar uma URL externa.

Talvez você nunca tenha necessidade de usar pois existem outras formas de acessar URL's pelo PHP. Mas no meu caso eu tive... e lá começa a série de buscas pela internet atrás de alguém que já tenha feito.

Existe um tutorial para quem tiver problemas em instalar... mas no meu caso foi bem simples.

A primeira coisa a fazer é verificar se ela ainda não está instalada. Para isso basta você visualizar as informações do seu PHP

Se não estiver instalado então digita no terminal (estou usando o linux):
sudo apt-get install curl php5-curl

Fonte: http://www.ivankristianto.com/os/ubuntu/howto-install-curl-in-php-apache/379/

quinta-feira, 18 de junho de 2009

Calculador de números primos em C


O Crivo de Eratóstenes é um algoritmo simples e prático para encontrar números primos até um certo valor limite.

Meu marido foi desafiado em um debate no orkut a fazer um algoritmo em C para calcular números primos.
Logo abaixo o desenvolvimento dele...
Essa ai vai até [0,MAX).



É curtinho, mas dá pra gastar um tempinho fazendo teste de mesa para entender a lógica.

P.S.: tentei colocar em HTML mas o blogger não deixou... ¬¬

sexta-feira, 5 de junho de 2009

Somar horas, minutos e segundos no PHP ( Sum of times )

Sério! Essa informação deveria pelo menos estar à venda por ai... foi muito difícil encontrar alguma informação CORRETA de como fazer isso!!!
Pra começar, quero deixar claro que o meu objetivo aqui é colocar o total de horas!!
TOTAL, ou seja, tipo um banco de horas...onde eu tenho que acumular o quantidade de horas extras que alguém fez, por exemplo.



$times = array(
'01:30:22',
'34:17:03',
);

$seconds = 0;

foreach ( $times as $time ){
list( $g, $i, $s ) = explode( ':', $time );
$seconds += $g * 3600;
$seconds += $i * 60;
$seconds += $s;
}

$hours = floor( $seconds / 3600 );
$seconds -= $hours * 3600;
$minutes = floor( $seconds / 60 );
$seconds -= $minutes * 60;

echo "{$hours}:{$minutes}:{$seconds}";


Achei essa função aqui: http://www.codingforums.com/archive/index.php/t-150266.html
Bom, isso serviu muito bem pra mim, espero que ajude alguém.

segunda-feira, 6 de abril de 2009

Tabelas com chaves do tipo UNIQUE, inserindo e alterando com a sintaxe REPLACE (sql)

Melhor forma de inserir e alterar uma tabela que possui chave do tipo UNIQUE no banco da dados:

Bom, partindo do príncipio de que uma tabela com chave única, nunca vai ter mais de uma linha, porque ela tem uma única chave primária...então não precisamos fazer um baita código usando janelas diferentes para incluir dados e outra para alterar...

A única coisa a fazer é usar uma query que faça inserção para no caso de ainda não existirem registros na tabela e que também faça a substituição dos registros existentes.

Criamos a seguinte tabela de chave do tipo UNIQUE.

CREATE TABLE IF NOT EXISTS `composicao` (
`id_comp` int( 1 ) NOT NULL ,
`coordenador` varchar( 255 ) NOT NULL ,
`vice` varchar( 255 ) default NULL ,
`membro1` varchar( 255 ) default NULL ,
UNIQUE KEY `id_comp` ( `id_comp` )
)

Agora inserindo dados ou alterando:

$query=("REPLACE INTO composicao SET
coordenador='".($_POST["form_coordenador"])."',
vice='".($_POST["form_vice"])."',
membro1='".($_POST["form_membro1"])."'");


Está feito: Se o registro existe, ele vai ser substituído e se a tabela ainda estiver vazia, vai ser preenchida.

É básico, mas as vezes não é lembrado...

Namastê

sexta-feira, 20 de março de 2009

Como se queimar usando o Twitter

Eu não uso o twitter, mas sei que esse "site","rede social", ou seja lá o que for, já está dando o que falar... aparentemente as pessoas vão lá e escrevem o que estão pensando, ou o que estão fazendo, ou falam de alguém...
Numa dessas um cara resolveu fazer um comentário sobre o seu atual e o seu futuro-ex-emprego, provavelmente...

O tal de @theconnor diz o seguinte: A Cisco me ofereceu um emprego, e agora eu preciso pesar a utilidade de um gordo salário contra viajar todo dia pra San Jose e detestar o trabalho"

EHeheheh, acho que isso teve uma repercursão maior do que ele esperava...pq alguns minutos depois o Tim Levad, advogado da Cisco, retrucou:Quem é o gerente de contração(?). Tenho certeza que eles adorariam saber que você vai odiar o trabalho. Nós aqui na Cisco somos versados na web”


Antes chamavam o orkut de destruidor de lares...acho que o twitter logo logo vai fazer alguém perder o emprego :P

FONTE: http://uoltecnologia.blog.uol.com.br/
indicação de blog...

sexta-feira, 6 de março de 2009

Arquivos mp3 alheios

Eu sou uma pessoa que não tem quase nenhuma mp3 no computador, em compensação eu fico fuçando músicas alheias pelo iTunes e etc... daquela forma q vc consegue, acessar as músicas das pessoas conectadas na mesma rede que vc está.

A música abaixo é uma das minhas preferidas ultimamente, não costumo mudar meu gosto mas admito quando alguma música nova ou cantora é boa...



:****

quarta-feira, 4 de março de 2009

Genial... auhauhauhauahuahuaa




Morri!!!

ahuHAUhauHUhuahuHAUhauhUhauhA
ahuHAUhauHUhuahuHAUhauhUhauhA
ahuHAUhauHUhuahuHAUhauhUhauhA


HERE

:***

Google lovers ;)






Nerdson não vai a escola


P.S.: Hj tem LOST! uhuuuuuuuu

:***

domingo, 1 de março de 2009

Polaroid

Eu sempre fiz no photoshop as fotografias tipo polaroid para colocar nas páginas web que eu faço...
Alguém teve a idéia de fazer um programa que gera uma "polaroid"... aproveitem para baixar que ainda é free... está em versão beta...

Link: Poladroid

quinta-feira, 26 de fevereiro de 2009

Gmail é como banho...todos os dias!!!!



Google investiga bloqueio de três horas do Gmail

Eu não sei se todo mundo chegou a perceber que o gmail ficou fora do ar no dia 24/02 (carnaval -feriado)... sim eu estava em casa sem fazer nada pq eu odeio carnaval... e como todo santo dia eu acesso meu email do gmail... é óbvio que isso me causou um princípio de crise de abstinência googlelística....

O Google está investigando as causas do bloqueio do serviço de e-mail Gmail, que deixou milhões de pessoas sem ter acesso à sua caixa de entrada durante mais de três horas (sim, isso foi o suficiente mara me deixar nervosa...).

Quem entrava nas contas do Gmail logo após o acesso ter sido normalizado descobria que o sistema tinha uma ferramenta que exigia que se introduzissem caracteres em um espaço para seguir a outra página, um teste conhecido como Captcha, usado para determinar se o usuário é humano.

Possivelmente o bolsista que ficou cuidando se o servidor do google estava funcionando, saiu para curtir o carnaval e deixou todo mundo na mão... previsivel!!!


Fonte: Folha online

sexta-feira, 20 de fevereiro de 2009

Explicando a classe do post anterior

A única coisa que uma pessoa precisa saber para usar uma classe é como usar os métodos!! Não precisa nem saber programar... hauhauhuah
Mas é sério... heheheh, passo-a-passo...explicando a classe de controle de erros do post anterior


VEJA o RESULTADO e TESTE AQUI (coloque menos de 3 caracteres e ele mostrará o erro)


Crie um arquivo onde vc terá campos de preenchimento, isso servirá para testar os métodos da classe, vc terá que colocar antes de efetuar as inclusões em banco de dados, ou testes de campos por exemplo os seguintes passos:


include ClassNew.php;

// Teste se está sendo submetida a página

if($salvar){
//nome do campo que foi feito o preeenchimento
$campo="Nome";
//instancia o objeto...coloque assim mesmo
$variavel_periodo = new ClassNew;
/*aqui em baixo a variável $form_nome é
o nome do input text*/
$variavel_periodo->setNome($form_nome, $campo);
/*o valor dentro do parenteses deve ser o número
mínimo de caracteres q você quer que o campo
em questão ($form_nome) deve ter, neste exemplo eu
coloquei 3.*/
$variavel_periodo->setTammin(3);
$variavel_periodo->verifica();
$erro.=$variavel_periodo->PegaErros();
if($erro){
echo $erro;
}
}

(exemplo do campo)
Nome



Agora o que vai aparecer na tela caso a pessoa (usuário do sistema) preencha o campo com menos de 3 caracteres (no caso desse exempo) é a variável $erro que vai mostrar a mensagem que vai vir de lá de dentro da classe dizendo o seguinte:

O campo "Nome" tem menos de "3" caracteres!!

Essa classe me facilitou a vida em 200% agora não preciso mais fazer um milhão de "if's" para testar se todos os campos obrigatórios de um sistema estão sendo preenchidos corretamente...

Espero ajudar! Baixe o arquivo de testes
:-)

Au revoir

quarta-feira, 18 de fevereiro de 2009

Classe de controle de erros

Sou a favor do conceito de que o conhecimento deve ser de graça... então estou postando aqui uma das classes que fiz...

Fiz essa classe para usar nos sistemas que desenvolvi, fiz baseada em uma classe de um framework open source... desde a primeira vez que comecei a fazer um sistema ficava de cara com um monte de "if's" para controlor (filtrar) a entrada de dados e os erros...isso me facilitou e tmbm diminui qualquer projeto em no mínimo 40%


class ClassNew{
var $nome=null;
var $tammin=null;
var $campo=null;
var $erro;
function setNome($nome,$campo){
$this->nome = $nome;
$this->campo= $campo;
}
function setTammin($tammin){
$this->tammin = $tammin;
}
function verifica(){
$length=strlen($this->nome);
$tam=$this->tammin;
if($length < $tam){
$this->erro.=
"O campo".$this->campo."tem".$this->tammin.
"caracteres";
}
}
function PegaErros(){
return $this->erro;
}
}
?>

Depois é só aplicar os métodos
Ex.:

include "ClassNew.php";
if($salvar){
$campo="Período";
$variavel_periodo = new ClassNew;
$variavel_periodo->setNome($form_periodo, $campo);
$variavel_periodo->setTammin(3);
$variavel_periodo->verifica();
$erro.=$variavel_periodo->PegaErros();
$campo2="Data";
$variavel_data = new ClassNew;
$variavel_data->setNome($form_data, $campo2);
$variavel_data->setTammin(10);
$variavel_data->verifica();
$erro.=$variavel_data->PegaErros();
if($erro){
echo $erro;
}
}
?>


Depois disso é só verificar se a variável é true ou false... :-)
Espero que ajude!

Auf wiedersehen!!!!!



mais detalhes no próximo post...

;)

terça-feira, 17 de fevereiro de 2009

Flash - MovieClip Anti-Aliasing

Me responda, pq essa coisa vem desabilitada!?!?!?
Levei quase uma semana tentando descobrir como fazer para que as imagens rotacionadas no flash não ficassem todas distorcidas e com serrilhado...
Finalmente depois de um milhão de pesquisas Googlelísticas não descobri...fui descobrir no manual do Flash que vem dentro dele mesmo...
Até registrei o momento...

As imagens estavam ficando com serrilhado cada vez que movie clip rotacionava elas no evento onRollOver.
A maneira como resolvi foi a seguinte:
Selecionei a imagem na Library do Flash, e cliquei com o botão direito do mouse em Properties (vide imagem abaixo)



Logo após, abriu uma caixa onde selecionei o checkbox com a opção Allow Smoothing (vide imagem abaixo)



Pronto, agora seu movie clip ou sua imagem não vão distorcer quando você colocar alguma evento para eles....

Auf Wiedersehen!!!

quarta-feira, 11 de fevereiro de 2009

Só pra que todo mundo saiba... e acesse!!!



Fiz um outro blog, pra relatar as coisa boas e as ruins de estar morando na Europa...

Nesse blog eu vou colocar alguns relatos... não to querendo me exibir não, mas é que passei tanto trabalho pra me adaptar nos primeiros meses que acho útil relatar algumas coisas em um blog pras pessoas não pensarem que morar em outro país é a oitava maravilha do mundo...

Mas é claro, vou colocar várias coisas legais por lá também

Aproveitem e dêem uma olhada...e já coloquem nos seus favoritos... ando com preguiça de atualizar mas essa semana dou um jeito.

clica ai: PAPO FURADO

Até breve

segunda-feira, 9 de fevereiro de 2009

Junções... Parte II

Outer join (RIGHT JOIN)
Quando usar?
Inclui no resultado todos os registros da tabela à direita mesma que não possuam relação com a tabela à esquerda.
Ex.:
SELECT categ_salarial.kcd_categ, emp.nm_emp
FROM emp RIGHT OUTER JOIN categ_salarial
ON (categ_salarial.kcd_categ=empl.cd_categ);


Outer join (FULL JOIN)
Mostra todos os registros das tabelas mesma que não haja relação entre elas.
Ex.:
SELECT categ_salarial.kcd_categ, emp.nm_emp
FROM emp FULL OUTER JOIN categ_salarial
ON (categ_salarial.kcd_categ=empl.cd_categ);


Self Join
Quando deseja-se fazer uma relação com a própria tabela (auto-relacionamento)
Ex.:
SELECT funcion.nm_emp, gerencia.nm_emp
FROM emp gerencia, emp funcion
WHERE gerencia.cd_chefe = funcion.kcd_emp;