Nova sessão no Firefox

Nova sessão no Firefox

jan 21

As vezes estamos fazendo alguns testes em browser e é necessário logar no mesmo sistema com usuários diferentes. Mas se as sessões são as mesmas e o sistema é o mesmo, então podemos usar mais de um browser tipo FF e Chrome e se preferir, usar apenas duas sessões do FF, vá execute assim:

firefox.exe -no-remote -P

E crie um novo “profile” para usar.

Compartilhe este post
  • Print
  • Digg
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • LinkedIn
  • Orkut
ASP.NET MVC 3 – Alguns estudos

ASP.NET MVC 3 – Alguns estudos

set 26

Estava revendo alguns conceitos de ER (Entity Framework) e seguindo o tutorial Creating an Entity Framework Data Model for an ASP.NET MVC Application . A questão é que, lá pelas tantas, na hora de criar a connection string no Web.config o tutorial diz o seguinte:

You don’t have to create a connection string. If you don’t create one, the Entity Framework will automatically create a SQL Server Express database for you. In this tutorial, however, you’ll work with SQL Server Compact, so you need to create a connection string to specify that.

Em tradução livre:
Você não tem que criar a connection string. Se você não criar uma, o Entity Framework irá automaticamente criar uma base de dados do SQL Server Express para você. Neste tutorial, todavia, você trabalhará com o SQL Server Compact, então você precisa criar uma connection string específica para isso.

O problema é que eu não quero trabalhar com o SQL Server Compact e sim com um servidor SQL Server 2008 Express que eu instalei localmente.

Googlando um pouco fiz a seguinte alteração: quando o tutorial acima pede para colocar a connection string eu substituí por essa no Web.config:

1
<add name="SchoolContext" connectionString="data source=ALEXANDRE-PC\SQLMN;initial catalog=School;user id=sa;password=xxxxxxxxx;multipleactiveresultsets=True;App=EntityFramework" providerName="System.Data.SqlClient" />

Lembre-se de não criar a database “School” pois estamos num tutorial de “code first”. Caso já tenha criado, isso acarretará o seguinte erro quando o StudentController for acessado:

Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions.

A solução: exclua a base e deixe que ela seja recriada ou troque a linha abaixo

1
public class SchoolInitializer : DropCreateDatabaseIfModelChanges<SchoolContext>

por:

1
public class SchoolInitializer : DropCreateDatabaseAlways<SchoolContext>

Isso irá recriar a base com a tabela faltante (depois altere para o a primeira linha conforme o original do tutorial para continuar seguindo-o).

Compartilhe este post
  • Print
  • Digg
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • LinkedIn
  • Orkut
Série – Piadas infames –

Série – Piadas infames –

set 26

Sabe quando alguém lhe faz uma pergunta preguiçosa que bem poderia já ter procurado por aí?
Tipo: — como funciona o jQuery?

Então, para isso respondemos com:

Let me google that for you

Abraços,

Compartilhe este post
  • Print
  • Digg
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • LinkedIn
  • Orkut
Cloud Computing

Cloud Computing

set 24

Na semana que passou a minha empresa (MN Soluções) finalmente entrou 100% na era do Cloud Computing.

Alguns fatores contribuíram:

O primeiro fator é um projeto que estamos startamos e, pela sua robustez, levou-nos a optar pela solução do Cloud Computing de imediato.

Em segundo lugar estou com a impressão de que as hospedagens aqui no Brasil estão focando seus planos básicos de hospedagens, em geral, cada vez mais para “sitezinhos”, problemas como limites nas configurações de timeouts e máximos de conexões simultâneas me levam a concluir isso.

A bela supresa da semana (ou “a gota d’agua”) foi que a Locaweb instalou no servidor de meu cliente o tal Proxy HTTP, veja bem, a Locaweb junto com a Uol Host, segundo penso são as gigantes no Brasil em hosting. Então não escrevo contra a empresa mas sim contra a solução HTTP Proxy que, para mim, inviabiliza o meu foco de negócio. Segundo o wiki dela:

Em alguns casos, você pode efetuar uma atualização de seu site e isto pode demorar alguns minutos para ser visualizado em seu navegador. Mas, caso necessite visualizar a alteração no momento, basta acessar o SSL Compartilhado de seu domínio: (…)

No meu caso, o grande problema, é que o cliente de sistemas web ou de sites dinâmicos, quando altera um conteúdo tipo imagem, vídeo, pdf ou qualquer outro tipo leva 10 minutos para verificar a atualização.

Isso gera a impressão ao cliente de que a aplicação web está com problema (aliás no meu primeiro contato com a tecnologia tive exatamente essa impressão… e perdi mais de uma hora procurando um “bug” que não existia!)

Mas o terceiro motivo foi o meu servidor de arquivos e SVN que deu sérios sinais de que não aguentará por muito tempo. Ou seja, fatalmente teria que pará-lo por alguns dias ou investir em outro. Assim, optei por contratar um servidor Cloud.

Após muito estudo fiquei entre o Cloud da Uol Host e o do Rackspace Hosting (internacional).

A Uol tem nesse momento que escrevo um preço promocional no Cloud Windows Server 2008 muito bom, mas é temporário (ela mesmo informa – 3 meses), por outro lado, nos foruns internacionais que pesquisei a Rackspace é indicada juntamente com a goGrid.com como os melhores hostings. Enfim, optei pela Rackspace.

O valor do servidor que eu escolhi ficará um 0.08 USD/hora o que vai custar em torno de 60 USD/mês. Bom, contratei o servidor que foi instalado em 10 minutos, aí pude fazer meu primeiro acesso via TS do windows.

Instalei alguns componentes, verifiquei que as portas estão todas abertas (80, 443, 53 etc).

Como primeira ação concreta instalei o Servidor SVN que na semana que vem estará operante. Com isso, não teremos mais servidor local como o servidor primário da empresa. futuramente estarei configurando meu site e os projetos em homologação no servidor Cloud.

Outro detalhe interessante. Foi-nos atribuído um IP fixo, assim, eu pude entrar na configuração da hospedagem de meu domínio que está na Locaweb e na parte de DNS configurei um Alias (registro A) que redireciona para o Cloud. Aí o acesso pode ser feito, por exemplo, usando: servidor.seudominio.com.br ao inves do número do IP.

Várias possibilidade se abrem. Achei extremamente empolgante.

Compartilhe este post
  • Print
  • Digg
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • LinkedIn
  • Orkut
Magento 1.4.1.x – Apagar todos os pedidos

Magento 1.4.1.x – Apagar todos os pedidos

mai 04

Para apagar todos os pedidos de teste!

/** UPDATE!!!
Estou acrescentando as seguintes tabelas:
downloadable_link_purchased
downloadable_link_purchased_item
Para que ninguém mais perca 5 horas de trabalho com compras de produtos digitais não gravados
**/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
SET FOREIGN_KEY_CHECKS=0;
 
TRUNCATE `catalogsearch_query`;
ALTER TABLE `catalogsearch_query` AUTO_INCREMENT=1;
 
TRUNCATE `sales_flat_creditmemo`;
TRUNCATE `sales_flat_creditmemo_comment`;
TRUNCATE `sales_flat_creditmemo_grid`;
TRUNCATE `sales_flat_creditmemo_item`;
TRUNCATE `sales_flat_invoice`;
TRUNCATE `sales_flat_invoice_comment`;
TRUNCATE `sales_flat_invoice_grid`;
TRUNCATE `sales_flat_invoice_item`;
TRUNCATE `sales_flat_order`;
TRUNCATE `sales_flat_order_address`;
TRUNCATE `sales_flat_order_grid`;
TRUNCATE `sales_flat_order_item`;
TRUNCATE `sales_flat_order_payment`;
TRUNCATE `sales_flat_order_status_history`;
TRUNCATE `sales_flat_quote`;
TRUNCATE `sales_flat_quote_address`;
TRUNCATE `sales_flat_quote_address_item`;
TRUNCATE `sales_flat_quote_item`;
TRUNCATE `sales_flat_quote_item_option`;
TRUNCATE `sales_flat_quote_payment`;
TRUNCATE `sales_flat_quote_shipping_rate`;
TRUNCATE `sales_flat_shipment`;
TRUNCATE `sales_flat_shipment_comment`;
TRUNCATE `sales_flat_shipment_grid`;
TRUNCATE `sales_flat_shipment_item`;
TRUNCATE `sales_flat_shipment_track`;
TRUNCATE `sales_invoiced_aggregated`;
TRUNCATE `sales_invoiced_aggregated_order`;
TRUNCATE `sales_order_aggregated_created`;
TRUNCATE `sendfriend_log`;
TRUNCATE `tag`;
TRUNCATE `tag_relation`;
TRUNCATE `tag_summary`;
TRUNCATE `wishlist`;
TRUNCATE `log_quote`;
TRUNCATE `report_event`;
TRUNCATE `downloadable_link_purchased`;
TRUNCATE `downloadable_link_purchased_item`;
ALTER TABLE `sales_flat_creditmemo` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_creditmemo_comment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_creditmemo_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_creditmemo_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice_comment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_invoice_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_address` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_payment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_status_history` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_address` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_address_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_item_option` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_payment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_shipping_rate` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_comment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_shipment_track` AUTO_INCREMENT=1;
ALTER TABLE `sales_invoiced_aggregated` AUTO_INCREMENT=1;
ALTER TABLE `sales_invoiced_aggregated_order` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_aggregated_created` AUTO_INCREMENT=1;
ALTER TABLE `sendfriend_log` AUTO_INCREMENT=1;
ALTER TABLE `tag` AUTO_INCREMENT=1;
ALTER TABLE `tag_relation` AUTO_INCREMENT=1;
ALTER TABLE `tag_summary` AUTO_INCREMENT=1;
ALTER TABLE `wishlist` AUTO_INCREMENT=1;
ALTER TABLE `log_quote` AUTO_INCREMENT=1;
ALTER TABLE `report_event` AUTO_INCREMENT=1;
ALTER TABLE `downloadable_link_purchased` AUTO_INCREMENT=1;
ALTER TABLE `downloadable_link_purchased_item` AUTO_INCREMENT=1;
 
SET FOREIGN_KEY_CHECKS=1

Fonte: Comentário em http://inchoo.net/ecommerce/magento/delete-test-orders-in-magento/

Compartilhe este post
  • Print
  • Digg
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • LinkedIn
  • Orkut
Favoritos 6 – .htaccess redirect

Favoritos 6 – .htaccess redirect

mai 02

Olha o site que achei: http://www.htaccessredirect.net/index.php.
Ajuda a gerar códigos para o .htaccess

Compartilhe este post
  • Print
  • Digg
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • LinkedIn
  • Orkut
Identificar a versão do Magento

Identificar a versão do Magento

abr 23

Para saber exatamente a versão do Magento que se está usando, basta chamar a função estática getVersion() em app/Mage.php. Para usá-la, é possível, por exemplo, ir na index.php na raiz da aplicação e colocar o código abaixo antes de Mage::run

1
2
echo Mage::getVersion();
die();

Depois basta tirar o código!

Compartilhe este post
  • Print
  • Digg
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • LinkedIn
  • Orkut
Site Pronto

Site Pronto

mar 28

Mais um site pronto pela mnsolucoes.com.br usando Zend Framework.
Para quem quiser conferir e o site do Buffet Belmonte em Campinas/SP, segue o link: http://www.buffetbelmonte.com.br

Compartilhe este post
  • Print
  • Digg
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • LinkedIn
  • Orkut