terça-feira, 19 de junho de 2012
Erro 404 Magento Connect (Magento Downloader)
Primeiro, se você viu esse erro antes de aparecer a tela de login, é apenas um problema de permissão. Coloque a pasta downloader/ com permissão 755 e o arquivo index.php dentro dela com 644 e pronto.
Se após tentar de tudo, você depois de informar os dados de acesso no magento connect não consegue conexão, o problema é no servidor. Aparentemente algum problema com a conexão com o MySQL. Utilizei o componente pdo.so definido no php.ini na pasta raíz do magento. Porém essas configurações não foram herdadas na pasta downloader/. Foi só copiar o php.ini com as configurações de módulos necessários para a minha instalação do magento para a pasta downloader/ e pronto. Funcionou!
sábado, 2 de junho de 2012
A importância da análise de cada caso particular no desenvolvimento de sistemas
É difícil imaginar desenvolver um site de conteúdo simples utilizando contrato de escopo aberto (é claro que dependendo da necessidade, se houver funcionalidades que são um pouco fora do comum e são muito específicos do negócio do cliente), mas um sistema onde as funcionalidades são variáveis e são muito dependentes do negócio do cliente, ou seja, onde será mais trabalhoso utilizar um sistema pronto e adaptar às necessidades do que criar do zero (leia-se criar do zero desenvolver utilizando uma framework, então não totalmente do zero) na minha opinião é a primeira opção que deve ser utilizada.
Recebi um telefonema de uma pessoa com quem trabalhei a algum tempo. Essa pessoa queria que eu fizesse um site para o condomínio. Fui até lá e não era um simples site a ser feito, e sim um sistema que gerencia reservas, cadastro do condômino, automóveis, mural de mensagens e várias coisas. Parece simples? Primeiro erro.
Muitas vezes quando visualizamos o sistema com essas funcionalidades em mente parece ser algo simples. Mas tem um detalhe que muitas vezes esquecemos e é muito importante: O Back-end, ou área do administrador. Nessa área deveremos mais cedo ou mais tarde incluir ACLs (Lista de controle de acesso) para que cada tipo de usuário possa acessar as funcionalidades à ele destinadas (nesse caso: administrador, síndico, porteiro).
O administrador deve poder fazer tudo, inclusive excluir registros, adicionar e editar. Há registros que não desejamos eliminar nunca do sistema, nesse caso deveremos colocar um campo 'ativo' por exemplo para indicar se o registro deve ou não aparecer... E por aí vai!
Além do Back-end, o front-end possui muitos itens que esquecemos como o desenvolvimento da interface, a integração de formulários com ajax e por aí vai...
Sem perguntar muito e sem anotar nada pensei em um preço menor, mas por experiência aumentei o valor, e acharam alto, mas mesmo assim acordaram o valor passado menos um pouco de barganha. Pelo trabalho que já tive estou fazendo esse sistema mais pelo portfólio do que pelo valor pago, pois está saindo bastante barato.
Depois de considerado terminado o sistema, faltando alguns itens, enviei por e-mail para apresentá-lo ao síndico. Me ligaram e disseram que estava OK, só algumas mudanças...
Muitas coisas não foram especificadas, como as regras para as reservas. O formulário que me passaram do condômino não estava bom, teve que ser alterado, o layout da página também, o mural, os classificados....
Meu erro, não colher corretamente os requisitos. É claro que eu tinha idéia do sistema, e até desenvolvi corretamente, mas muitos detalhes passaram por questões de funcionalidades não especificadas.
A partir desse momento comecei a marcar encontros semanais com o Síndico para irmos melhorando o sistema, e dessa forma está quase terminado. É um sistema que me toma bastante tempo e por esse motivo o valor que cobrei inicialmente não foi bom. Mantenho a minha palavra e guardo como experiência.
A partir disso enumero algumas dicas:
- Utilize um contrato de escopo aberto, é algo incrível no desenvolvimento de software. Quem não sabe o que é isso, leia: http://www.improveit.com.br/xp/praticas/contrato. Uma das coisas mais interessantes são os entregáveis semanais pois é possível avaliar os requisitos e melhorar o sistema de acordo com as necessidades, além de receber um bom valor pelo trabalho.
- Cuidado com os clientes que não são experientes com computadores, esse é o caso, o cliente não é muito familiarizado com algumas ferramentas o que prejudica o processo de desenvolvimento, como por exemplo comunicação por e-mail. Se possível tente instruir o seu cliente a trabalhar da melhor forma, utilizando ferramentas boas e produtivas disponíveis.
- Avalie bem antes de colocar o preço no serviço. Se possível peça um tempo para pensar, mas dê um prazo para enviar a proposta e não fure com esse prazo! Se você não é um programador com portfólio grande, ou é iniciante, não coloque preços altos, mas também não peça valores simbólicos. Peça um valor que te manterá financeiramente enquanto você faz o sistema. Se quiser fazer somente por portfólio, procure alguém que não possa pagar e tenha uma idéia legal e faça de graça. Acredite, no momento que você cobra R$300,00, você ficará pensando que está tendo todo aquele trabalho por R$300,00 e não lembrará muito do seu portfólio. Quando nada é cobrado, você sabe e tem em mente porque está fazendo aquele trabalho. Motivação é muito importante.
Se o cliente não aceitar o seu preço não faça o trabalho, você tem medo que esse seja a sua única oportunidade? Não é, existem muitas pessoas que querem fazer sistemas mas não tem orientação de como começar ou onde ir buscar, em quem confiar, etc. Vá em busca de outros trabalhos e conseguirá, avalie o cliente, avalie a idéia, dê preços menores com base na situação dele, mas lembre-se: Reverta sua motivação para a boa idéia do cliente e não para o valor que você irá receber. - Dê prazos maiores do que o que realmente leva para fazer o trabalho, o cliente quer urgente? Todos querem, mas ele não irá encontrar ninguém que faça o que ele quer bem feito e na velocidade que ele diz que precisa. Diga isso a ele e se ele não aceitar o seu prazo não faça o trabalho. Em casos que você acha que vale a pena, dê o prazo máximo, mas prepare-se para trabalhar mais de 10 horas por dia. E dando prazos maiores não é diferente, comece agora!
- Redija um contrato. Isso dá profissionalismo, faça um padrão e vá melhorando a cada trabalho.
- Aceite desafios. Não sabe nem por onde começar? Seja sincero, diga ao cliente que nunca trabalhou com isso mas tem conhecimentos suficientes para pesquisar e fazer um bom trabalho. E vá atrás, não fique esperando cair do céu. Se achar que não tem tempo para descobrir, ou o cliente precisa com uma urgência real, não aceite o trabalho, seja sincero com o cliente. Ele irá te indicar para outra pessoa.
quinta-feira, 10 de maio de 2012
PrettyPhoto is not a funcion
Mas sempre que eu clicava na imagem era redirecionado para a url da própria imagem (já que é o comportamento padrão caso não sejam carregados os scripts da PrettyPhoto). Porém o script do PrettyPhoto estava linkado e aberto corretamente pelo browser como pude observar no FireBug, assim como o jQuery.
Verifiquei que o erro apresentado era de que "PrettyPhoto is not a function" que significa que a função prettyPhoto que é definida no script PrettyPhoto.js não existe. Mas se ela está declarada porquê não existe?
Depois de buscar bastante, encontrei a solução aqui: http://www.wptavern.com/forum/troubleshooting/1961-thumbnail-linking-3.html - Último Post #24
Então troquei o código
$(document).ready(function() {
$("a[rel^='prettyPhoto']").prettyPhoto();
});
por
jQuery(document).ready(function($) {
$("a[rel^='prettyPhoto']").prettyPhoto();
});
Ainda estou procurando por uma explicação exata do porque não ter funcionado sem passar o objeto jQuery($) por parâmetro. Assim que identificar o porque eu posto aqui. Por enquanto serve como uma dica para salvar o seu dia!
sábado, 10 de março de 2012
#1025 - Error on rename of - MySQL - Erro ao deletar foreign key
ALTER TABLE nome_da_tabela DROP FOREIGN KEY nome_da_foreign_key
Pronto, após esse passo, se ainda houver o índice é só deletá-lo com a mesma instrução acima mudando FOREIGN KEY por INDEX.
Se não criou a foreign key com um nome definido por você veja a lista de índices para saber o nome.
Essa postagem não é uma tradução, mas encontrei a solução nesse artigo: http://wolfram.kriesing.de/blog/index.php/2006/mysql-says-1025-error-on-rename-of-but-means
terça-feira, 27 de dezembro de 2011
Certificação Digital - MEI - Como emitir seu certificado digital (e-CNPJ)
Para emitir um certificado digital para sua empresa é necessário escolher uma empresa especialista em certificação digital como a Certsign. Fiz a emissão do meu certificado de ontem para hoje e vou listar os passos para adquirir o seu:
1º. A Certsign está com uma promoção especial para micro e pequenos empresários, o valor é de R$189,00 do tipo A3 (que é fornecido no Token). Válido por um ano, mais 6 meses no valor promocional. Ou seja, no total a validade é de 1 ano e meio.
2º Efetue a compra do certificado, o pagamento pode ser feito em até 3x sem juros no cartão ou a vista no boleto. A desvantagem do boleto é a demora na confirmação do pagamento.
3º Após isso é necessário agendar o comparecimento a um ponto de verificação para levar a documentação da sua empresa. Isso é feito através desse link: http://www.certisign.com.br/suporte/certificadosdigitais/e-cnpj/Agendamento que você recebe ao confirmar sua compra.
4º Veja os documentos necessários: http://www.certisign.com.br/suporte/certificadosdigitais/e-CNPJ/Validacao%20e%20Documentos Vou detalhar para o MEI os documentos necessários. Todos os outros passos são válidos para qualquer empresa, mas os documentos listados abaixo são específicos para a validade do MEI:
- (A) Documentos da empresa:
- Certificado de condição de Microempreendedor individual, pode ser o que você imprime no momento que emitiu seu CNPJ, ou pode imprimir novamente no http://www.portaldoempreendedor.gov.br. Deve levar uma cópia também. Esse documento é o que substitui o contrato social.
- Comprovante de CNPJ, impresso em http://www.receita.fazenda.gov.br/pessoajuridica/cnpj/cnpjreva/cnpjreva_solicitacao.asp Levar cópia.
- (B) Documentos do empresário (todos com cópia, menos foto 3x4):
- RG
- CPF
- Título de Eleitor (opcional)
- Comprovante de endereço (conta de água, luz, telefone fixo ou móvel e etc.)
- Foto 3x4 recente
sexta-feira, 7 de outubro de 2011
Novo Kindle
Quando visitei o site da Amazon tive a surpresa de ver o novo kindle (os novos kindles) que iniciam com seu preço de $79 (dóllares), a versão com propaganda. Somente disponível a versão sem teclado que acabei adquirindo mas não no site da Amazon e sim em um site de compras coletivas. No site da Amazon também vi a versão Touch e o Kindle Fire, que acredito ser uma revolução no mercado de Tablets.
Um ponto que me chamou a atenção foi o texto da página inicial, que diz (tradução livre): "Existem dois tipos de empresas: Aquelas que trabalham duro para fornecer seus produtos a um custo mais elevado e as que trabalham duro para vender os seus produtos pelo menor preço possível. A Amazon se encaixa no segundo grupo". E qualquer pessoa que visite o site e veja o valor de $199 por um produto com a qualidade aparente do Kindle Fire, com os recursos descritos, perceberá que essa frase não é conversa de vendedor.
Segundo o Diário de Pernambuco, cada venda do Kindle gera um prejuízo para a Amazon: "Observadores da indústria afirmam que a varejista está, na verdade, tendo um prejuízo de pelo menos US$ 10 em cada unidade vendida. A IHS iSuppli disse que os componentes empregados na fabricação do Kindle Fire custam US$ 191,65 . Despesas de fabricação adicionais levam o custo total para US$ 209,63.". Fonte: http://www.diariodepernambuco.com.br/nota.asp?materia=20111026080713
Review
O Kindle é realmente um aparelho que impressiona ao observar seu papel eletrônico (e-paper ou e-ink), quanto mais luz melhor. Esse é um ponto bom e ruim, pois não é possível ler no escuro, mas a impressão é que estamos mesmo lendo um livro.
Se você quer um aparelho em que o foco é a leitura, o Novo Kindle é perfeito. O teclado da 3ª geração somente faz falta ao tentar navegar na internet ou na primeira vez que o ligamos e temos que digitar nossos dados para registro. Ainda é possível enviar seus documentos pessoais e receber via wi-fi no Kindle.
Quando nos registramos na Amazon através do Kindle recebemos um e-mail para onde podemos enviar documentos (inclusive PDF) e receber convertidos no Kindle. Todos os jornais possuem um período de 14 dias de teste, e achei muito melhor receber um jornal todo dia pela manhã em um dispositivo portátil do que em papel que serve muito para a desorganização. É uma pena que são poucos editores que aderiram ao formato digital.
Existem muitos livros em Português, além disso é possível baixar PDFs do site Domínio Público e enviar para o seu e-mail do Kindle e receber o livro convertido.
Basicamente é isso, recomendo o Kindle para leitura, é perfeito. Ao invés de possuir uma pilha de livros que ocupa bastante espaço, você pode ter milhares de livros em um dispositivo fino, bonito e portátil. Qualquer dúvida, se estiver pensando em comprar um, só enviar um comentário com sua dúvida.
quinta-feira, 22 de setembro de 2011
Como configurar o retorno automático do PagSeguro em dois ou mais sites
Se você chegou à essa página através de algum motor de busca deve estar a procura de uma solução para um problema comum, com a versão 1 da API do PagSeguro.
Nessa API somente podemos ter configurado uma url de retorno do PagSeguro. Basicamente funciona bem, mas se tivermos dois sistemas distintos que efetuam as operações em bancos de dados diferentes, teremos um problema.
Para resolver essa solução temos que utilizar um critério de diferenciação de cada um dos sites. Acho interessante utilizar o campo “VendedorEmail”, você pode ter diversos e-mails cadastrados no PagSeguro, ao enviar o cliente via POST para a página de pagamento do PagSeguro, você envia o email do vendedor, no campo “email”.
Inicialmente achei que estava incorreto e acabei fazendo a diferença pela Referência, já que a referência era sempre o número do pedido, coloquei um “c_” para um site e assim por diante, no início da referência. E funciona bem.
Com PHP podemos fazer um redirecionamento temporário que reenvia os dados via POST, mas utilizar essa opção me fez perder muito tempo. Acontece que utilizando a biblioteca curl do PHP (que o PagSeguro utiliza para enviar o POST para a url de retorno) por algum motivo esse redirecionamento temporário não acontece, logo não funciona.
Então ao invés de fazer um redirecionamento temporário, utilizo curl para enviar os dados à página correta. Para exemplificar:
if (count($_POST) > 0) {
if (strpos($_POST['Referencia'], 'c_') !== false) {
$url = "http://www.site1.com.br/retorno_pagseguro.php";
} else {
$url = "http://www.site2.com.br/pagseguro/PagSeguroRetorno.php";
}
$ch = curl_init();
$fields_string = '';
$count = 0;
foreach ($_POST as $key=>$item) {
if ($count > 0)
$fields_string .= '&';
$fields_string .= $key . '=' . $item;
$count++;
}
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST, count($_POST));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
$result = curl_exec($ch);
curl_close($ch);
} else {
header("Location: http://www.site.com.br/mensagem-de-conclusao");
}
?>
Esse é o código que nos interessa, como expliquei acima, prefixei a referência com “c_”, então verifico se existe essa string no campo Referencia, utilizando a função strpos que retorna false, caso o segundo parâmetro string não esteja dentro do primeiro parâmetro string. Então se ele estiver eu defino que a url a ser enviado o POST é a url do primeiro sistema (a ordem não importa), podem ser informadas quantas páginas forem necessários, quantos sistemas você necessitar utilizar na mesma conta.
A última url é a url a qual o usuário será redirecionado quando voltar ao site, essa página deve ser única para todos os sistemas, pois nenhum dado de GET ou POST é enviado.
Com curl enviamos o POST, percorro o array $_POST para formatar a string que é necessária para definir o cabeçalho de envio e por fim chamo a função curl_exec que irá enviar o POST.
Dessa forma, você pode adaptar sua lógica com qualquer sistema.
Se tiver dúvidas ou precisar de ajuda para algum problema específico só enviar a dúvida nos comentários.
terça-feira, 7 de junho de 2011
JavaScript Orientado a objeto: Passando métodos de objetos como parâmetros para setInterval e setTimeout
Como passar métodos por parâmetro
É possível programar em javascript orientado a objetos. Nesse post não vou entrar nos detalhes de orientação à objetos. Mas se você desejar passar um método por parâmetro dentro de seu objetos para uma das funções acima?
Primeiro, há outra forma de passar a função por parâmetro: (Iremos referenciar sempre setInterval, mas tudo que se aplica à essa, se aplica a setTimeout. A diferença entre as duas está no tópico anterior)
setInterval(funcao, 1000). Ou seja, passa uma função apenas pelo nome, nesse caso é passado a referência da função.
Dado a seguinte classe:
<script type="text/javascript">
function Classe() {
var intervalo = 1; // Intervalo em segundos
this.metodo = function() {
alert("Estou dentro de um setInterval!");
}
// Aqui vai o método que chama o setInterval e passa o this.metodo como parâmetro
this.set = function() {
setInterval(this.metodo, intervalo*1000); // Transforma segundos em milisegundos multiplicando por 1000
}
}
var c = new Classe();
c.set();
</script>
Esse código funciona?
Funciona!
MAS
Se quiséssemos chamar um outro método dentro do Classe.metodo e ainda passar parâmetros para o método passado na função, NÃO FUNCIONA!
Mudando a classe anterior:
<script type="text/javascript">
function Classe() {
var intervalo = 1; // Intervalo em segundos
this.metodo = function(msg) {
this.metodo2(msg); // Chamando um outro método para exibir o alert
}
this.metodo2 = function(msg) {
alert(msg);
}
// Aqui vai o método que chama o setInterval e passa o this.metodo como parâmetro
this.set = function(msg) {
setInterval(this.metodo(msg), intervalo*1000); // Transforma segundos em milisegundos multiplicando por 1000
}
}
var c = new Classe();
c.set('Estou dentro de um setInterval');
</script>
Primeiro, esse código gerará um erro, você não está passando uma referência da função para setInterval e sim o valor resultante da função, nesse caso undefined. Esse problema é fácil de resolver:
setInterval(function() {this.metodo(msg);}, intervalo*1000);
Ótimo, agora estou passando a referência de uma função que executa o método em seu corpo. Mas ainda causará um erro. A função this.metodo2() não está definida!
Isso acontece porquê o this.metodo está sendo chamado repetidamente dentro do contexto do objeto window, ao qual pertence a função setInterval e setTimeout (window.setInterval, window.setTimeout) e não dentro do contexto do objeto. Dessa forma, os métodos chamados dentro do método passado por parâmetro estarão dentro do contexto de window.
A SOLUÇÃO
Devemos passar uma cópia do objeto para a função chamada em setInterval ou setTimeout dessa forma:
<script type="text/javascript">
function Classe() {
var self = this; // Essa é a cópia do objeto
var intervalo = 1; // Intervalo em segundos
this.metodo = function(msg) {
this.metodo2(msg);
}
this.metodo2 = function(msg) {
alert(msg);
}
// Aqui vai o método que chama o setInterval e passa o this.metodo como parâmetro
this.set = function(msg) {
setInterval(function() {self.metodo(msg);}, intervalo*1000); // E aqui enviamos o método no contexto desse objeto
}
}
var c = new Classe();
c.set('Estou dentro de um setInterval');
</script>
var self = this;
setInterval(function() {self.metodo(msg);}, intervalo*1000);sábado, 28 de maio de 2011
Google Maps API - Parte 1 - Gerando mapas estáticos (apenas imagens)
<img src="http://maps.google.com/maps/api/staticmap?center=Brasilia,DF&zoom=14&size=256x256&sensor=false" alt="Mapa do Distrito Federal, Brasil">
sábado, 21 de maio de 2011
Controle de tempo - NeoTriad
domingo, 15 de maio de 2011
Controle de Finanças - Contas OnLine
As vezes fazemos o controle de contas a pagar ou receber de memória, mas comumente esquecemos uma ou outra o que nos leva a pensar que vai sobrar uma grana no final do mês (ou que vai faltar, no caso de esquecer as contas a receber, porém esse é um erro bem menos comum..).
O controle utilizando papel e caneta é algo muitas vezes inviável, pois todos já sabemos o quanto é difícil manter papéis de forma organizada: como escrever, aonde guardar, que padronização utilizar e etc. Ou mesmo utilizando arquivos eletrônicos, o que muitas vezes ainda incorrerá em questões desse tipo.
Durante uma busca por esse tipo de ferramenta, encontrei o Contas On-line, que é um sistema de gerenciamento financeiro que possui diversos recursos e ao mesmo tempo tem uma interface simplificada, ou seja, fácil de usar e aprender.
Entre os recursos que se destacam no Contas On-line estão:
- Lançamentos automáticos (cadastro de contas fixas e parcelamentos)
- Organização de centros de custo/lucros
- Integração com pagamentos em Cartão de Crédito
- E diversos outros
E o preço é justo, o plano básico com até 45 lançamentos por mês é grátis, e pode ter dois usuários cadastrados. O maior plano é de 1200 lançamentos mensais que sai por um valor de R$50,00 por mês, permitindo 20 usuários por conta.
sábado, 14 de maio de 2011
Sistema de exibição de dicas (tooltips) com javascript
// Executa a função passada por parâmetro quando a página é carregada$(document).ready(function() {// Atribui uma função para o evento onmouseover do elemento imagem$('div.dica img').mouseover(function(e) {var el = $('div.dica .texto-dica');// Atribui ao elemento de texto o valor do atributo alt da imagem, que contém o texto da dicael.html($(this).attr('alt'));// Exibe o elemento com o textoel.show();// Ajusta com css para que o elemento se localize na posição Y e X do mouseel.css({'position':'fixed','top':e.pageY,'left':e.pageX});});// Quando o usuário tirar o mouse da imagem, retira o elemento com o texto$('div.dica img').mouseout(function(){var el = $('div.dica .texto-dica');// Esconde o elemento com textoel.hide();});});

<div class="dica"><img src="dica.png" alt="A dica deve ser escrita aqui" /> <div class="texto-dica"></div> </div>
.dica { display:inline; } .texto-dica { display:none; background:#FFF; border:1px solid #333; padding:4px; width:200px; text-align:justify; }
sábado, 7 de maio de 2011
O Gmail é grande
- Em um minuto ganhamos 510B de espaço em disco para armazenar nossos e-mails
- Em uma hora ganhamos em média 30KB a mais de espaço.
- Em um dia ganhamos em média 717KB.
- Em uma semana ganhamos em média 5MB
- Em um mês (30 dias) ganhamos em média 21MB.
- E em um ano ganhamos em média 255MB.
segunda-feira, 8 de novembro de 2010
Microempreendedor Individual (MEI)
Se você possui uma loja virtual com pouco volume de vendas, mas que possua o interesse de crescer, seria interessante se você tivesse um CNPJ para dar mais credibilidade aos seus clientes, inclusive podendo emitir notas fiscais.
Melhor ainda, é poder ter esses benefícios pagando pouco imposto. Um valor fixo mensal, total de R$6,00 - R$1,00 de ICMS, imposto para Comércio e Indústria e R$5,00 de ISS, imposto para prestadores de serviço. O valor total mensal a ser pago é de R$62,10. Os outros R$56,10 são da contribuição mensal para a previdência social, garantindo ao MEI todos os benefícios de quem contribui para a previdência, como auxílio doença, auxílio maternidade, aposentadoria por idade (após 15 anos de contribuição) e outros.
Muitas pessoas tem a curiosidade de como criar uma empresa pela internet. A verdade é que não existe uma empresa que exista exclusivamente na internet. É necessário haver um local para atendimento ao público, recebimento de correspodências e diversos outros fatores. Como MEI você poderá registrar o seu endereço residencial como endereço da empresa. Apenas para solicitar o Alvará definitivo haverá burocracia, porém é possível. Lembrando que a partir do momento que você registra uma empresa com o seu endereço residencial como comercial, este passa a ser um endereço público, ou seja, os dados de endereço da sua empresa serão públicos para quem desejar consultar informações sobre esta.
Para saber mais informações sobre o Empreendedor Individual, acesse: http://www.portaldoempreendedor.gov.br
No Sebrae, há um curso online sobre o assunto. É bem simples, educativo, contem as informações essenciais sobre o programa, não muito detalhado. Para fazer o curso, acesse: http://www.ead.sebrae.com.br/
Os passos para se cadastrar como MEI são os seguintes:
- Não é essencial, mas extremamente recomendável, que você faça uma consulta prévia na Administração Regional da Cidade em que pretende abrir o negócio. Aqui em Taguatinga, pode ser feito na agência da Secretaria das Cidades no Na Hora, no Shopping Top Mall. A consulta prévia é necessária para saber se é possível que se exerça atividade econômica em seu endereço.
- Acesse o Portal do Empreendedor: http://www.portaldoempreendedor.gov.br - No menu, clique em "Formalize-se"
- Entre as opções, você pode ler o Manual para preenchimento do formulário. Para iniciar o preechimento vá em "Para realizar uma nova inscrição - Clique aqui".
- Preencha todos os dados necessários, verifique atentamente, pois é burocrático alterar qualquer dado futuramente. Não há opção para escolher um nome empresarial (Razão Social), esse será composto pelo seu nome completo seguido do seu CPF. Do mesmo modo, não é possível escolher um nome Fantasia. Escrevi um artigo sobre como alterar essa informação depois de registrado o MEI. Clique aqui para ler.
- Ao final do preenchimentos das informações e confirmação. Será emitido o Certificado de Condição de Microempreendedor Individual, esse certificado é importante e deve ser impresso. Por exemplo, para abertura de contas bancárias, será solicitado esse Certificado. E serve ainda como Alvará provisório.
- Após o registro, compareça à Secretaria da Fazenda para registrar gratuitamente a inscrição estadual. Esse registro demora para sair, e atualmente está sendo realizado pela receita em um período pré-definido. Portanto compareça o mais cedo possível à Secretaria e solicite sua inscrição estadual, mas o prazo que antes era de até 10 dias úteis, chega a um mês, dependendo da data de registro do MEI. Geralmente as inscrições estaduais são registradas no próximo mês ao registro do CNPJ, mas mesmo assim você deve comparecer à Secretaria da Fazenda e solicitar a sua.
- Após essas operações você estará com sua empresa formada.
Para emitir notas fiscais é necessário possuir a inscrição estadual e então dar entrada com a solicitação de autorização para emitir notas fiscais ou solicitar nota fiscal avulsa. Esse procedimento deve ser feito na Secretaria da Fazenda.
Logo atualizarei esse artigo com mais informações. Ainda estou esperando minha inscrição estadual, provavelmente receberei essa semana.
Qualquer dúvida, estou disponível para responder as dúvidas que por ventura você possa ter com relação à condição de microempreendedor individual.
Como registrar nome fantasia para o microempreendedor individual (MEI)
Texto antigo:
Depois de me registrar como Microempreendedor individual, tive dificuldades para conseguir alterar o nome fantasia. Na internet existem várias perguntas sobre esse assunto e em nenhum lugar há informações claras de como conseguir registrar o nome fantasia.
Antes de realizar o registro, fui no Sebrae saber mais informações. Sobre o nome fantasia já perguntei como acrescentaria, o atendente me disse que eu deveria ir até a junta comercial no Setor de Autarquias Sul e realizar a alteração do nome fantasia, e deveria ser pago uma taxa de R$30,00.
Na Junta Comercial, que também é o Sebrae, me informaram que um contador deveria preencher o formulário para alteração e então encaminhar o mesmo para a Junta Comercial, e depois sim, seria realizado a alteração (nesse caso inclusão, porém mesmo assim chamada alteração).
Compareci a um escritório de contabilidade que atende ao MEI, porém os contadores também tinham poucas informações sobre o programa. Tentaram me ajudar, procurando o formulário para alteração do nome fantasia do MEI no site da Junta Comercial, porém não encontraram.
Finalmente, voltei ao Sebrae para tentar buscar informações sobre o processo, e com sorte a atendente do lado tinha a informação de como proceder para a alteração. Imprimiu os passos para mim, executei e deu tudo certo. Abaixo mostro os passos para incluir o nome fantasia no CNPJ para o MEI:
- Acesse o site http://www.receita.fazenda.gov.br
- No menu esquerdo do site, clique em "Download de programas"
- Em seguida clique em "Baixar o receitanet"
- Faça download do Programa Receitanet 2010.02 B. Atenção! Não baixe o Receitanet Java, para funcionar com o programa CNPJ é necessário o Receitanet, o Receitanet Java não funciona.
- Instale o programa Receitanet.
- Em seguida, volte à página inicial http://www.receita.fazenda.gov.br
- Novamente no menu esquerdo, clique em "Download de programas" e clique em "Programas para empresas"
- Clique em "CNPJ - Cadastro Nacional de Pessoa Jurídica"
- Baixe e instale o programa CNPJ.
- Abra o programa CNPJ (Não é necessário abrir o Receitanet, ele serve para enviar o formulário via internet para a receita)
- No menu superior, clique em "Documentos" -> "Novo"
- Marque a caixinha "Pessoa Jurídica e demais Entidades".
- Nos campos que aparecem, marque "Alteração cadastral"
- Informe seu CNPJ, UF de origem e município de origem.
- O Formulário será criado, você tem três janelas: "Eventos", "Identificação", "Representante/preposto"
- Em "Eventos", marque a caixinha "Dados cadastrais / Situações especiais". Você deverá informar o código do evento, que para a alteração do nome fantasia é o código 221 - Alteração do título do estabelecimento (nome fantasia). Em "data do evento" informe a data atual, que é a data de envio desse formulário.
- Em "Identificação", informe seu CNPJ, Código da Natureza Jurídica (MEI - 213-5). Informe o nome fantasia pretendido (deve conter no máximo 55 caracteres), e o NIRE (esse número está no certificado de condição de Microempreendedor individual, ao lado do CNPJ).
- Em "Representante / preposto", marque a caixinha "Representante". Preencha seu nome e CPF.
- Pronto, o formulário está preenchido. No menu superior, clique em "Documentos" -> "Gravar para Transmissão". Selecione o documento na lista e clique em "OK". Antes de enviar você receberá uma informação sobre a data, se quiser ler mais clique em sim, porém a data a ser preenchida deve ser a data atual, do envio do documento, então nesse caso, se já tem certeza dessa informação, clique em "Não", e confirme o seu envio, clicando em "Enviar". (Obs: se você clicar em "Sim", para ver informações sobre a data, terá que abrir novamente o documento e clicar em "gravar transmissão" para concluir o processo).
Para acompanhar o processo, acesse: http://www.receita.fazenda.gov.br/PessoaJuridica/CNPJ/fcpj/consulta.asp
Informe os números impressos do documento.
Ainda não acabou, quando o DBE (Documento Basico de entrada) estiver disponível, você deve imprimí-lo, assinar e reconhecer firma em cartório e entregar pessoalmente na Receita Federal.
Aqui em Brasília, em um desses endereços:
Brasília: SAS Qd. 03 Bloco O Térreo
Taguatinga: QSD - Área Especial Comércio - Lote 4 - Ed SPAZZIO DUO - Taguatinga Sul
sexta-feira, 20 de novembro de 2009
[Dica] - Como alterar a versão de Action Script de um arquivo Fla
Não penei muito, pesquisei rapidamente no Google e não encontrei nada (acho que não soube procurar direito). Mas fui ver algumas opções do arquivo e acabei encontrando uma forma para alterar a versão do action script que será utilizada. A seguir os passos para alterar (Simples!);
Menu File (Arquivo) -> Publish Settings... (Configurações de publicação) -> Flash -> Script: Coloque a versão que desejar.
sábado, 2 de maio de 2009
FLISOL DF - 25 de Abril de 2009 - 3ª Edição
Esse é o 5º evento sobre software livre que frequentei, um desses eventos foi a segunda edição do FLISOL DF no ano passado.
De cara, na chegada do evento percebi que estavam bem mais organizados que no ano anterior. Acabei chegando depois da abertura do evento, pois não consegui acordar cedo o suficiente para chegar às 09:00. No ano passado, houve atraso de uma hora, acabei confiando que iria acontecer novamente, mas quando cheguei lá corri para pegar a primeira palestra que eu tinha selecionado, pois já tinha começado.
A primeira palestra que escolhi foi "Joomla no mercado de trabalho - Um CMS de sucesso!" ministrada por Washington Ribeiro. Ao chegar no Laboratório TUX onde foi realizada a palestra, o local já estava lotado, tive que pegar uma cadeira para me sentar na sala, enfim, deu tudo certo. Gostei da palestra, muito interessante, mas abordou aspectos fundamentais sobre o Joomla, nada de tão específico nem prático. Houve também uma discussão sobre filosofia do Software Livre que foi divertida e educativa, até mesmo a mulher do palestrante que é professora de inglês e estava filmando a palestra entrou no papo, e se saiu bem.
Depois do fim da palestra ao meio dia, fui para casa almoçar, pois a minha casa é na rua da FAJESU.
Voltei novamente para o evento às 13:00 para tentar a palestra Proxy Squid ou Desenvolvendo aplicações PHP com Zend Framework. Havia uma fila de pessoas à espera dos palestrantes, enquanto isso descobri que a sala em que havia a palestra "Desenvolvendo aplicaçõe sPHP com Zend Framework" ficava no andar de cima. Fui até lá, no entanto a sala já estava lotada. Voltei para tentar a palestra Proxy Squid, no entanto o palestrante não veio mesmo, também o palestrante que iria ministrar "Zabbix: monitorando serviços e economizando milhões" não compareceu ao evento. Em instantes o Prof. Ronald veio avisar que havia tentando contactar os dois, sem sucesso, e que os participantes que estavam no aguardo podiam ir à outras salas para ver as outras palestras.
Bom, gostaria de fazer um comentário sobre os palestrantes que não vieram. Esse é um evento em que eles doam seu tempo para compartilhar conhecimento, então não recebem nada em termos financeiros para ministrar as palestras no evento. Se acontece algum imprevisto, não há problema em faltar ao evento, mas é de fundamental importância que isso seja avisado aos organizadores do evento, pois na falta da informação deixam o evento desorganizado, e a culpa muitas vezes cai sobre os organizadores, injustamente. De qualquer forma, pode ser que os palestrantes tenham tido algum problema que os impossibilitou de avisar.
Apesar disso, o evento foi muito bom, continuemos os comentários...
A palestra sobre Latex foi adiantada devido ao ocorrido, no entanto o palestrante preferiu aguardar um pouco até dar a hora de início da palestra por conta das pessoas que viriam no horário.
Ministrada pelo professor Alexandre Zaghetto, foi a melhor palestra que assisti no evento. Muito bem explicada e sobre um assunto muito interessante que eu não tinha tido contato ainda que é o Latex. Uma linguagem de marcação para a produção de documentos estilizados de acordo com algum padrão.
Ao final da palestra sobre Latex, assisti a palestra "Desenvolvendo aplicações Desktop com PHP-GTK". O palestrante não parecia estar bem à vontade (me lembrei muito de quando eu apresento trabalhos na Faculdade), um pouco nervoso. Muitas pessoas sairam da sala antes da palestra terminar. Me desculpem, caso alguém não pense assim, mas na minha opinião, sair antes da palestra terminar é falta de educação, e ainda incentiva o palestrante a desistir. Por mais que eu não estivesse muito satisfeito com a palestra eu fiquei até o fim. A palestra não foi longa, 30 minutos. Uma explicação básica sobre o funcionamento do PHP-GTK com exemplos.
Agora vem uma das melhores partes, fora a palestra sobre Latex. Ganhei uma camisa e uma bolsa de estudos da Training tecnologia (Infelizmente não vou poder fazer o curso devido ao valor que ainda é alto e me pegou em um mês atribulado financeiramente. Mas adoraria fazer pois é com Julio Neves)!! Nem acreditei quando vi meu nome lá escrito no sorteio (apesar de ser o 50º). É a primeira vez que ganhei alguma coisa sorteada em algum evento. Fiquei feliz!! hehe.
Finalizando, gostaria de parabenizar a organização do evento que nesse ano cumpriu seu papel e o evento foi super organizado. Parabéns de verdade! Ao mesmo tempo gostaria de pedir desculpas por não participar da organização, pois moro na rua da FAJESU, tão perto. Mas andei super oculpado esses dias, na realidade até hoje. Deveria ter escrito essa postagem no sábado do FLISOL, mas só consegui hoje. A correria está grande.
Gostaria de parabenizar todos os palestrantes que se disporam à ir ao evento compartilhar conhecimento, parabéns especial ao professor Alexandre que ministrou a palestra sobre Latex muito bem. E também parabéns à todas as pessoas envolvidas no evento direta ou indiretamente. O FLISOL DF foi muito bom, está a cada ano melhor, vamo que vamo!
Longa vida ao Software Livre!
segunda-feira, 26 de novembro de 2007
Solução para pagamentos online. Receber pagamentos com cartão de crédito e boleto bancário sem ser empresa.
O que vou indicar aqui não tem foco somente para pessoas físicas, mas pode ser utilizado também em empresas, que podem reduzir o alto custo de manutenção com as empresas de cartões crédito.
A solução que apresento à você leitor, é o PagSeguro.
O que é PagSeguro?
Transações internacionais são possíveis com o PayPal que é uma companhia de pagamentos online, mas necessita do uso de cartão de crédito internacional.
Criado com o nome de BRPay, o atual PagSeguro era a solução para pagamentos online no Brasil.
Conheci o BRPay, no entanto usufrui de seus recursos pois não conhecia as ferramentas de integração. Eu imaginava que só havia o carrinho de compras personalizado do BRPay.
Ao ler um documento informando sobre como receber pagamentos online, fui informado sobre duas companhias que faziam esse serviço, então soube sobre o muito mais que eu poderia fazer com o BRPay. Personalizar a comunicação entre os meus sites e as transações efetuadas.
Obs: Mencionei duas empresas que fazem o serviço, mas nesse artigo me concentrarei na BRPay(PagSeguro), porque já mantenho sites operando com esse serviço.
No entanto, quando acessei o BRPay para acessar o meu cadastro (já o tinha feito há algum tempo para comprar um E-book que utilizava o sistema BRPay para receber pagamentos) me deparei com a PagSeguro. A minha primeira impressão quanto ao nome foi ruim, no entanto, agora acho melhor por estar no nosso idioma.
A UOL comprou a BRPay e trocou o nome para PagSeguro. As propagandas do PagSeguro estão sendo bastante veiculadas, está ficando cada vez mais forte, e se tornará comum na internet.
Soluções de Integração PagSeguro
Bom, o webmaster que tentou integrar o PagSeguro como meio de pagamento do seu site deve ter tido problemas, principalmente por uma grande falha que na minha opinião o PagSeguro tem: a falta de um usuário para testes. A integração do PagSeguro com o seu site não é algo tão simples, é preciso ter paciência e saber muito bem o que está fazendo.
Por enquanto vou abordar de forma sucinta, ou seja, de forma teórica a maneira de fazer a integração.
Se você apenas vai redirecionar o usuário para a página do PagSeguro para o pagamento, sem que ele tenha que voltar à sua página, é bem simples, você só precisa enviar os dados através de um formulário pelo método "POST". Envia os dados do usuário (opcional) e os dados dos itens que foram escolhidos, total da compra e frete. Esses dados estão bem explicitados no link: "meios de integração avançadas", no site do PagSeguro.
O problema: Retorno automático
Nesse problema se vão dias, pois não há uma explicação detalhada na página do PagSeguro sobre como funciona o retorno automático. O mesmo funciona da seguinte maneira:
O site envia os dados ao PagSeguro, o usuário realiza o pagamento, e enquanto estão sendo exibidos os detalhes da transação do PagSeguro ao usuário, o PagSeguro envia um POST por "trás", escondido, com os dados da transação, você recebe os dados e pode armazená-los em um banco de dados, ou fazer o que quiser com eles.
Em breve, estarei explorando mais a fundo, e mostrarei uma aplicação prática em ASP..
Aguardem...
Quem quiser conhecer o pagseguro, acesse: http://www.pagseguro.com.br
Continua....
terça-feira, 20 de novembro de 2007
Dreamweaver perde senha, dreamweaver não salva senha, dreamweaver não guarda senha ftp!!
Então, a solução é baixar e instalar a atualização para ele disponível em: http://www.adobe.com/support/dreamweaver/downloads_updaters.html
Provavelmente você irá escolher a opção Inglês que é a primeira. Salve, instale e pronto! Problema resolvido.
quinta-feira, 18 de outubro de 2007
Web 2.0
Por muito tempo tive essa dúvida, apenas ouvia falar sobre web 2.0. Ao pesquisar encontrava várias controvérsias sobre o que é a web 2.0, blogs e mais blogs falando sobre o assunto mas cada um levando sua opinião individual sem conceituar corretamente a web 2.0. Em algumas dessas opiniões é salientado o fato de que a web 2.0 somente existirá quando os sites seguirem o padrão W3C. Na minha opinião é um comentário válido porém equivocado, pois a questão de webstandards é a tecnologia por trás da web 2.0, mas não é fundamental para que a web 2.0 exista.
Li artigos de revistas falando sobre o assunto, as matérias dizem que a web 2.0 é uma nova era da internet, onde as pessoas podem interagir umas com as outras no ambiente virtual, e que o "cara" que começou essa nova tecnologia foi o Google.
Essas matérias que li eram corretas, no entanto, ainda estava em dúvida. Pensei: "Já li muito sobre web 2.0, sei o que é, mas se alguém me perguntar o que é web 2.0?".
Não conseguiria responder com um conceito que pudesse ser objetivo e auto-explicativo.
No dia 15 de outubro de 2007, assistindo ao Jornal Hoje da Rede Globo, em uma matéria sobre vagas para profissionais de TI. Um profissional de Recife, Mozart Araújo, especializado em criação de aplicativos para dispositivos móveis, falou sobre como era promissor a área em que trabalhava e enfatizou também a web 2.0. Então ele conseguiu na minha opinião expor o conceito de web 2.0 em poucas palavras e de forma objetiva: "...web 2.0, onde são criadas aplicações altamente complexas para ser rodadas dentro do browser”.
Então, o conceito de web 2.0:
Basicamente, temos quatro elementos: AJAX, WebStandads, JavaScript, Linguagem de servidor.
AJAX
Considero o principal elemento da Web 2.0 (ou o mais chamativo). Lembrando que não é uma tecnologia, AJAX significa Assyncronous JavaScript And XML. Ou seja, é o uso de JavaScript para fazer requisições assíncronas ao servidor sem que seja necessário recarregar a página. Esse objeto do JavaScript busca a página XML e manipula o DOM (Document Object Model - É a hierarquia de elementos da linguagem html que pode ser controlada por linguagens de script do lado cliente) com código JavaScript.
WebStandards
Já publiquei um artigo falando sobre webstandards, que tem o principal objetivo de manter um padrão no desenvolvimento de páginas para a internet, no que diz respeito a linguagem (X)HTML. Os principais objetivos e vantagens são:
- Separação de código de marcação e estilização, através das folhas de estilo CSS
- Melhor desempenho, menos linhas de código
- Código mais limpo, e melhor visualização do código, possibilitando uma melhor manutenção por outros profissionais
- Acessibilidade, prover acesso à deficientes visuais, estando de acordo com as regras da W3C. Para que pessoas sem visão possam acessar a internet através de leitores de tela
- O controle dos objetos pelo DOM através de linguagens script client-side, se torna mais eficiente, eliminando possíveis erros
JavaScript
Existem outras linguagens de script client-side, como VBScript e JScript (ambos da Microsoft), porém JavaScript é o mais utilizado e vem da família de linguagens com a sintaxe de C. Com JavaScript é possível criar interações com o cliente, pois o código é executado diretamente no navegador do usuário.
Linguagem de servidor
Sem uma linguagem rodando no servidor seria praticamente impossível criar algo interessante. Dentre as mais usadas estão:
ASP: Active Server Pages - Páginas ativas de servidor. Não é uma linguagem, é um ambiente para execução de scripts, VBScript (padrão), JScript, ou JavaScript (diferente de ser no cliente, é código javascript rodando no servidor, no ambiente ASP).
Quem quiser ler a matéria referida, do Jornal Hoje, acesse o endereço: http://jornalhoje.globo.com/JHoje/0,19125,VJS0-3076-20071015-305991,00.html