Archive

Posts Tagged ‘c++’

Iniciando com Qt

January 19th, 2010 thiago No comments

Inicio agora uma série de artigos sobre como programar em Qt.

O que é a Qt ?

A Qt (lê-se cute – igual a fofo mesmo) é uma biblioteca para desenvolvimento de aplicações.
Está contida nela a biblioteca e uma IDE, o qtcreator. É uma ótima IDE, mas não é obrigatória.

Ao invés de começar usando o QtCreator, vamos fazer um projeto simples na mão para que se entenda como tudo funciona por baixo dos panos – E isso é muito importante.

Read more…

Desculpa de programador

September 25th, 2009 thiago No comments

Quem nunca fez isso que compile o primeiro código.

Sendo verdade ou não, isso acontece com muita frequência.
Sabe quando você altera um header de alguma biblioteca e 300 projetos precisam ser recompilados ?

Read more…

Categories: Humor Tags: , ,

Parabéns Unix!

August 21st, 2009 thiago 2 comments

E o unix completa 40 anos!
(terá que fazer exame de próstata!)

Este mês comemoramos os 40 anos do sistema unix.

Nunca vi, nem comi, eu só ouço falar

Há algum tempo atrás, eu estava em uma palestra da microsoft, aonde o palestrante logo após apresentar o windows 2003 server disse: “Todos estão trocando seus servidores unix pelo windows 2003 server”. GRANDE MENTIRA. Quem tem sistema unix e trabalha com ele não troca. Acho que é possível perceber o quanto esse sistema tem um nome forte.
O Unix é um dos sistemas operacionais (como linux, windows, Mac OSX) que mais influenciou a tecnologia que temos hoje. Há 40 anos atrás foi criado o Unix, por Ken Thompson e Brian Kernighan, depois sendo reescrito usando a linguagem C, criada por Dennis Ritchie para ser “portável”.

PS: Os nomes Kernighan e Ritchie são dos escritores daquele livrinho rosa de C que todos adoram. Não é mera coincidência ;) Read more…

Categories: Tecnologia Tags: , , ,

C++ – Threads

December 22nd, 2008 thiago 10 comments

Continuando a série “O que fazer e o que não fazer em C++”, vamos hoje falar de threads. Threads, famosas threads.

As threads tem um estigma forte de “só use se realmente for necessário, e eu concordo com isso, mas o caso é que geralmente é preciso usar threads para várias coisas.

Podemos separá-las em dois grupos básicos:
1. Threads seriais
2. Threads concorrentes

Neste caso, as problemáticas são as concorrentes. Vamos entender o porquê.
Threads seriais não precisam de sincronização.  Podemos citar como exemplo uma thread que recebe mensagens via socket e coloca em uma fila, e outra thread vai remover pacotes dessa fila. O único cuidado que temos é de colocar corretamente os locks na fila usada para não ocorrer uma leitura de memória inválida. Read more…

Categories: Tecnologia Tags: , ,

C++ – Mutex / Critical Section

December 1st, 2008 thiago 5 comments

Saluton!
Este é o primeiro de uma série de artigos de C++ sobre o que fazer e o que nunca fazer em c++.

É claro que fazer ou não fazer não é uma lei, mas uma boa prática, pois temos sistemas que devido a certos requisitos ou situações não podemos fazer as coisas da forma que gostariamos.

Para começar, vamos falar de mutex ou critical sections.
O que são e para que servem ?

Critical Section é uma forma de garantir que um trecho de código será acessado por somente uma thread/processo por vez, garantindo assim que uma thread não apagará algo que outra está lendo, por exemplo.
Para ficar mais claro, imaginemos uma fila de mensagens, aonde uma thread recebe mensagens via socket e põe um uma fila, e outra consome e processa. Se não tivermos uma critical section garantindo que só uma delas acessa um trecho de código por vez pode ocorrer da thread de processamento retirar uma mensagem da fila de leitura e a thread de recebimento tentar inserir uma nova mensagem depois dela por não saber que a mensagem já foi pegada e assim perdendo a mensagem quando esta for liberada. Read more…

Categories: Tecnologia Tags: ,