Procurando algo?

sexta-feira, 7 de janeiro de 2011

As empresas sabem realmente o que estão fazendo?

No início de 2011 voltei a procurar por um novo emprego depois da calmaria em meu emprego atual.

Me candidatei a diversas vagas de análise, desenvolvimento e até suporte. Achei vagas boas até, com bons salários, mas por algum motivo nada se concretizou ainda. Recebí ligações, conversei por um bom tempo ao telefone, enviei CVs em português e em inglês.

Algumas vagas eram extremamente boas, mas o fato de ser suporte, me chateia. Quero desenvolver!

A primeira era perfeita, multinacional, salário alto, suporte em inglês e Unix. Tudo OK. Mesmo sendo suporte, me candidatei, afinal o salário era muito bom.

Em uma delas era suporte em inglês em São Bernardo do Campo. Salário razoável, mas continua sendo suporte. Perguntei ao headhunter se haveria a possibilidade de migrar a carreira pra dev depois de um tempo, ele disse que sim. Vamos ver... meu nome está lá.

Uma outra era análise, indicação de amigo, contratação certa, teoricamente perfeita. Mas era uma tecnologia ultrapassada e ainda em Barueri, 90km de distância.

Uma coisa já decidí, largo meu emprego mas não largo a faculdade! Isso vai mudar minha vida, tenho certeza disso! Estou até indo bem, passando em todas as disciplinas com notas boas, tudo OK para ter um bom Índice de Aproveitamento Acadêmico no final e quem sabe trabalhar na Google :D

Então, se um emprego ameaça meu rendimento na faculdade, fico com um pé atrás. Talvez não devesse, mas fico.

Não tenho experiência profissional comprovada em desenvolvimento. Então até vaga para Júnior fica difícil na área. O que tem abaixo de Jr. então? :D

Fui chutado de todos os estágios e programas de trainee aos quais me candidatei, mas esse ano me candidato novamente. Não vão se livrar tão fácil assim de mim :D

E pra finalizar esta postagem, de vez em quando me pergunto se as empresas sabem realmente o que estão fazendo. Talvez elas estejam deixando um talento passar batido por falta de informação e ou por processo seletivo falho.

Tenho consciência de minha capacidade, um dia chego lá :D

quinta-feira, 28 de outubro de 2010

O Jantar dos Filósofos

Tenho aprendido muita coisa na faculdade. Estou no 3º semestre de Análise e Desenvolvimento de Sistemas na FATEC, e na disciplina de Sistemas Operacionais o professor, que é tarado por Java, propôs que resolvêssemos o clássico problema dos filósofos jantando (criado por Dijkstra) em Java. (óbvio)

Eis minha implementação inicial:

Classe principal (Jantar)
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.util.concurrent.Semaphore;

import javax.swing.*;

public class Jantar {
public static int maxComendo, comendo;
public static JLabel lblMaxn;
public static int nFil;
public static Semaphore mutex;
public static Filosofo[] filosofos;

public static void main(String[] args) {
maxComendo = comendo = 0;

nFil = Integer.parseInt(JOptionPane.showInputDialog(null, 
"Quantos filósofos vão jantar?", 
"Quantidade de filósofos", 
JOptionPane.QUESTION_MESSAGE));
System.out.println("Quantidade de filósofos: " + nFil);

JFrame mesa = new JFrame("Mesa de jantar");

mutex = new Semaphore(1);
filosofos = new Filosofo[nFil];

JPanel info = new JPanel();
info.add(new JLabel("Filósofos: " + nFil + "    "));
JLabel lblMaxtxt = new JLabel("Máximo Comendo: "); 
lblMaxn = new JLabel("0");
info.add(lblMaxtxt);
info.add(lblMaxn);
mesa.add(info, BorderLayout.NORTH);

popularMesa(mesa,filosofos);
mesa.setVisible(true);

for (int i = 0; i < filosofos.length; i++) {
   filosofos[i].start();
  }
 }

 private static void popularMesa(JFrame mesa, Filosofo[] filosofos) { 
  JPanel painel = new JPanel();
  painel.setLayout(
    new GridLayout(
      (int)Math.ceil(Math.sqrt(nFil)), 
      (int)Math.ceil(Math.sqrt(nFil))));
  
  for (int i = 0; i < nFil; i++) {
   System.out.println("Adicionando filósofo " + (i+1) + " à mesa.");
   filosofos[i] = new Filosofo();
   filosofos[i].setNumero(i);
   painel.add(filosofos[i].label);
  }
  
  mesa.add(painel);
  mesa.pack();
  mesa.setLocationRelativeTo(null);
  mesa.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }

}
Classe Filósofo
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.util.concurrent.Semaphore;

import javax.swing.*;

public class Jantar {
public static int maxComendo, comendo;
public static JLabel lblMaxn;
public static int nFil;
public static Semaphore mutex;
public static Filosofo[] filosofos;

public static void main(String[] args) {
maxComendo = comendo = 0;

nFil = Integer.parseInt(JOptionPane.showInputDialog(null, 
"Quantos filósofos vão jantar?", 
"Quantidade de filósofos", 
JOptionPane.QUESTION_MESSAGE));
System.out.println("Quantidade de filósofos: " + nFil);

JFrame mesa = new JFrame("Mesa de jantar");

mutex = new Semaphore(1);
filosofos = new Filosofo[nFil];

JPanel info = new JPanel();
info.add(new JLabel("Filósofos: " + nFil + "    "));
JLabel lblMaxtxt = new JLabel("Máximo Comendo: "); 
lblMaxn = new JLabel("0");
info.add(lblMaxtxt);
info.add(lblMaxn);
mesa.add(info, BorderLayout.NORTH);

popularMesa(mesa,filosofos);
mesa.setVisible(true);

for (int i = 0; i < filosofos.length; i++) {
   filosofos[i].start();
  }
 }

 private static void popularMesa(JFrame mesa, Filosofo[] filosofos) { 
  JPanel painel = new JPanel();
  painel.setLayout(
    new GridLayout(
      (int)Math.ceil(Math.sqrt(nFil)), 
      (int)Math.ceil(Math.sqrt(nFil))));
  
  for (int i = 0; i < nFil; i++) {
   System.out.println("Adicionando filósofo " + (i+1) + " à mesa.");
   filosofos[i] = new Filosofo();
   filosofos[i].setNumero(i);
   painel.add(filosofos[i].label);
  }
  
  mesa.add(painel);
  mesa.pack();
  mesa.setLocationRelativeTo(null);
  mesa.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }

}
Quer o programa pronto ou o código fonte?

quarta-feira, 15 de setembro de 2010

Primeiras letras maiúsculas

Que tal um pouco de C#?

Bom, hoje tive uma curiosidade e pesquisei sobre métodos de tornar a primeira letra de cada palavra maiúscula.

Ví soluções diferentes, e a que mais tem um usando cadeia caracteres. Vejam:
private string Maiuscula(string value)

{

 char[] resultado = value.ToCharArray();

 
 // Torna o primeiro caracter maiúsculo
 resultado[0] = char.ToUpper(resultado[0]);

 for (int i = 1; i < resultado.Length; ++i)

 {
  if (char.IsWhiteSpace(resultado[i - 1]))
   // Torna o caracter maiúsculo se precedido de espaço

   resultado[i] = char.ToUpper(resultado[i]);
  else

   // Torna todos os outros caracteres minúsculos
   resultado[i] = char.ToLower(resultado[i]);

 }

 return new string(resultado);

}


Interessante, não? Também pode-se utilizar no .NET uma classe chamada StringBuilder, que é muito boa para formar strings de outras strings. Vejam:


public static string Maiuscula(string value)

{
 StringBuilder result = new StringBuilder(value);

 
 // Torna o primeiro caracter maiúsculo
 resultado[0] = char.ToUpper(resultado[0]);


 for (int i = 1; i < result.Length; ++i)

 {
  if (char.IsWhiteSpace(resultado[i - 1]))
   // Torna o caracter maiúsculo se precedido de espaço
   resultado[i] = char.ToUpper(resultado[i]);
  else
   // Torna todos os outros caracteres minúsculos

   resultado[i] = char.ToLower(resultado[i]);

 }
 return resultado.ToString();

}



E aí, qual acham que é mais eficiente e tem melhor performance?

terça-feira, 19 de janeiro de 2010

Pagode japonês


Não acredito na letra hahahaha

O Grupo se chama Y-no e a música é "Querido meu amor" (O.O)

sexta-feira, 11 de dezembro de 2009

Violão a quatro mãos



Com certeza eles se divertiram bastante tocando isso, pois eu me divertí assistindo. :D