Blogaro!

Tecnologia, geek, ciência e afins

Posts Tagged ‘c++’

Mortes na tecnologia

Thursday, October 20th, 2011
Unix

Unix

Steve Jobs morreu. ok. Muita gente escreveu sobre ele, notícias para todos os lados, homenagens reportagens e até provavelmente logo um filme. Eu não estava pensando em escrever nada sobre isso, até que… talvez meio ofuscado pela morte do primeiro, ou talvez por ser simplesmente um nerd genial e não muito um cara da mídia, morre aos 70 anos de idade Dennis Ritchie.
Bom, escreveram bastante coisa sobre os dois – Ritchie em especial, no meio técnico – e isso é fácil de se ver por ai, mas para os leigos em tecnologia, o Steve Jobs inventou o iphone/ipod/mac. Estes todos usam um sistema operacional chamado UNIX. Adivinha quem criou o unix ? Isso mesmo. A grande maioria dos softwares desenvolvidos usam uma linguagem criada por ele, ou alguma derivada da que ele criou (Nos dois casos, junto com outra pessoa).

Continue Reading…

Cérebro – artigo de luxo

Friday, May 28th, 2010

Eu sei que vão reclamar, mas….

O cérebro em uso, ou seja, aquele que ainda sabe pensar, atualmente, está virando artigo de luxo.

Ultimamente, no mundo do desenvolvimento de software, as pessoas estão cada vez menos gostando de pensar.
De um tempo para cá, empresas de tecnologia tiveram a grande sacada de fazer IDEs e linguagens mais fáceis para desenvolver-se software, frameworks, componentes de tela, de banco, etc, para que os desenvolvedores ganhassem mais produtividade no desenvolvimento de sistemas. Ok, Isso é legal, mas existe um detalhe importante. Ao mesmo tempo que se fizeram frameworks e IDEs que agilizam o desenvolvimento, fizeram também elas de uma forma que qualquer dumb consiga desenvolver um software.

Continue Reading…

Iniciando com Qt

Tuesday, January 19th, 2010

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.

Continue Reading…

Desculpa de programador

Friday, September 25th, 2009

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 ?

Continue Reading…

Parabéns Unix!

Friday, August 21st, 2009

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 ;) Continue Reading…

C++ – Threads

Monday, December 22nd, 2008

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. Continue Reading…

C++ – Mutex / Critical Section

Monday, December 1st, 2008

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. Continue Reading…