Mensagens - diogoosorio

Páginas: 1 2 3 ... 10
1
Desenvolvimento / Re: Aplicação facebook - C / JAVA
« em: 04/Ago/2012 01:02 »
Tu estás a ser claro, só não estás é consciente daquilo que estás a dizer.

Citar
Apps on Facebook are web apps that are loaded in the context of Facebook in what we refer to as a Canvas Page. You can build your app using any language or tool chain that supports web programming, such as PHP, Python, Java or C#.


Podes escrever a tua aplicação onde quiseres, na linguagem que quiseres. O que o Facebook faz é carregar a tua aplicação numa iframe.

Portanto respondendo diretamente à tua pergunta (e independentemente da linguagem que estás a utilizar) - para conseguires utilizar a App, a tua App tem de responder a pedidos HTTP. Tens de conseguir "apontar" o teu browser para o ponto de entrada da tua aplicação e ela tem de responder qualquer coisa.

Tipicamente esta tarefa é delegada para um pedaço de software, chamado um servidor HTTP (Apache, IIS, Lighty, ...). No caso de um programa escrito em C, CGI é a solução - http://httpd.apache.org/docs/2.2/howto/cgi.html.

2
Do manual:

Citar
Use of this extension is discouraged. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:

A seguir lê:

http://pt.php.net/manual/en/book.pdo.php

--

Em relação ao teu código, isso é mesmo à campeão. :)

E se a função mysql_connect() falhou? E se a função mysql_select_db() falhou? E se a função mysql_query() falhou?

Posso-te dizer que a 3ª falhou de certeza. Mais uma vez do manual:

Citar
For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

The returned result resource should be passed to mysql_fetch_array(), and other functions for dealing with result tables, to access the returned data.

Use mysql_num_rows() to find out how many rows were returned for a SELECT statement or mysql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

mysql_query() will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query.

--

Se PHP é a 1ª linguagem em que estás a mexer, tenta ir para outra coisa antes (Java, C#, ...). PHP potencia más práticas e o pedaço de código que tens ai em cima é um exemplo claro desta situação.

Boa sorte!

3
Desenvolvimento / Re: Ajuda com Código
« em: 03/Jul/2012 23:15 »
http://jsfiddle.net/PBPET/3/

Código: (css) [Seleccione]
.geral {
   width: 900px;
   margin-right: auto;
   -moz-border-radius-topleft: 0px;
   -moz-border-radius-topright: 0px;
   -moz-border-radius-bottomleft: 20px;
   -moz-border-radius-bottomright: 20px;
   border-top-left-radius: 0px;
   border-top-right-radius: 0px;
   border-bottom-left-radius: 20px;
   border-bottom-right-radius: 20px;
   margin-left: auto;
   background-color: red;
   height: 900px;
}

O que não faltam para ai são geradores deste tipo de classes CSS. E convenhamos que é um daqueles problemas que um bocadinho de Google, coiso... mas pronto, como já deves ter percebido "inventaste" propriedades CSS que não existem. :)

4
Desenvolvimento / Re: Funcionar como YOUTUBE?
« em: 03/Jul/2012 20:33 »
São duas coisas distintas, capturar os snapshots e depois mostrá-los.

Se queres realmente capturar snapshots do vídeo, o ffmpeg faz-te isso. Dá uma vista de olhos na documentação.

Em relação ao mostrares depois o snapshot no site... Das duas uma, ou alteras o código do player que estás a utilizar para mostrar o snapshot antes do utilizador carregar no play, ou então mostras a imagem antes e quando o utilizador clica na imagem, trocas a imagem pelo player e inicias o video.

----

A minha recomendação seria esqueceres os snapshots, a não ser que haja uma razão muito forte para o fazeres (ex receberes os vídeos da comunidade). Pede ao teu programador para na tua BD associar uma imagem a cada vídeo (e no momento em que fazes o upload do vídeo, envias também uma imagem).

Depois ou mexes no código do player, ou fazes qualquer coisa do género:

Código: (javascript) [Seleccione]
<div class="hidden" id="video-player">
<embebed src="..." ....>
</div>
<div class="video-thumb" id="video-thumb">
<img src="imagem-thumb-do-video" alt="Video XPTO" />
</div>

<script type="text/javascript">
$('#video-thumb').click(function(){
$(this).css('display', 'none');
$('#video-player').css('display', 'inline');
});
</script>

Neste 2º caso o desafio é mesmo "disparar" o player. Se tiveres isso escrito em HTML5, deverá ser relativamente linear, se estiver em Flash (Actionscript) bem... não faço ideia...

5
PHP / Re: gravar pdf em mysql db
« em: 17/Jun/2012 13:52 »
digamos que actualmente sao recebidos +- 600 pdf's dia, seria melhor entao armazenar na bd ou numa pasta?

Sem não existir um motivo de força, sistema de ficheiros. :)

Só estava a marcar um ponto, as coisas não são tão lineares como se estavam a colocar aqui.

6
PHP / Re: gravar pdf em mysql db
« em: 17/Jun/2012 13:16 »
Não é mais fácil gravares o path do pdf?
Gravar ficheiros na BD não costuma ser muito eficiente.

Não é uma coisa linear. Depende da aplicação, depende do projecto, depende dos ficheiros que vais armazenar - regra geral é a conclusão a que a malta chega.

Há uns tempos li um estudo da MS, baseado no MSSQL em relação a isto. Se bem me recordo, do ponto de vista de eficiência chegaram à conclusão que ficheiros até 256KB ficavam melhor na BD, ficheiros com mais de 3MB no sistema de ficheiros.

Mas do topo da cabeça há algumas *vantagens* que podem advir de armazenar a informação em blob's - escalabilidade (ie um sistema de ficheiros atinge determinada capacidade e depois? Symlink's para outras máquinas, discos externos, ??? - os próprios RDBMS incluem mecanismos de balanceamento de carga), backups (?), ...

Mas honestamente falo sem grande conhecimento de causa, ainda não tive nenhum projecto onde guardasse este tipo de informação directamente na BD.

Para projectos pequenos, também sou da opinião que guardar os ficheiros no sistema de ficheiros é mais simples...

Em relação ao artigo, a ver se o encontro já o coloco aqui...

EDIT - Tinha-o aqui num bookmark perdido. Boa leitura - http://research.microsoft.com/apps/pubs/default.aspx?id=64525

7
PHP / Re: gravar pdf em mysql db
« em: 17/Jun/2012 12:07 »
Verifica o tipo de dados BLOB/MEDIUMBLOB no MySQL.

Um ficheiro pdf é um ficheiro binário. Basicamente pegas no conteúdo do ficheiro e guarda-lo numa coluna com o tipo de dados mencionado acima. Para mostrares o ficheiro novamente, vais buscar a informação à BD e informas o browser de que o que estás a mostrar é um ficheiro PDF.

Qualquer coisa assim:

Código: (php) [Seleccione]
<?php
$fileName 
strip_tags($_FILES['mypdf']['name']);
$ext substr($fileNamestrrpos($fileName'.') + 1strlen($fileName));

if(
$_FILES['mypdf']['error'] === ERR_NO_ERROR && $ext == 'pdf'){
$file file_get_contents($_FILES['mypdf']['tmp_name']);
$fileSize filesize($_FILES['mypdf']['tmp_name');
$sql "INSERT INTO my_table ('file_name', 'file_contents', 'file_size') VALUES (?, ?, ?)";
$stmt $db->prepare($sql);
$stmt->bindParam(1$fileNamePDO::PARAM_STRING);
$stmt->bindParam(2$filePDO::PARAM_LOB);
$stmt->bindParam(3$fileSizePDO::PARAM_INT);

if($stmt->execute(array($fileName$file$fileSize))){
// Tudo OK
}
}

Código: (php) [Seleccione]
<?php
$stmt 
$db->query('SELECT file_contents, file_name, file_size FROM my_table LIMIT 1');
$data $stmt->fetch();

header('Content-Length: ' $data['file_size']);
header('Content-type: application/pdf');
header('Content-disposition: inline; filename=' $data['file_name']);
header('Content-length: ' $data['file_size']);
echo 
$data['file_contents'];
exit;


8
Marketing / Re: Campanhas de Takeover em websites
« em: 05/Mai/2012 15:31 »
IKEA @ Sapo Desporto


9
Desenvolvimento / Re: Menu com imagens
« em: 02/Abr/2012 08:04 »
Código: (javascript) [Seleccione]
$('#imagem1').click(function(){
if(!$('#submenu').is(':visible')){
$('#submenu').slideDown('slow');
}
});

$('#imagem2').click(function(){
if($('#submenu').is(':visible')){
$('#submenu').slideUp();
}
});

10
HTML + CSS / Re: Conflito Coda-Slider e Lightbox
« em: 30/Mar/2012 22:12 »
Portanto estás à espera nós criemos uma página, importemos as bibliotecas, leiamos a documentação para colocar ambas as bibliotecas a fazer qualquer coisa e depois torçamos os erros na expectativa que o erro com que tu te estás a deparar seja replicado?

A malta ajuda, mas o mínimo é mostrares a página onde estás a ter problema, ou que repliques o problema noutro lado qualquer. Até lá penso que ninguém aqui conheces as bibliotecas de cor de maneira a conseguir dizer-te qual o problema... :)


11
Vamos fazer uma discução séria e limpa ou vão continuar com os ataques pessoais ?

Arroz outra vez?

12
WordPress / Re: Um banner para cada país
« em: 10/Mar/2012 11:59 »
Passa a função acima para o functions.php do teu tema. Chama a função onde queres que o banner apareça, dentro do ficheiro do teu tema. Isto não é uma solução "chave-na-mão" (lol), é apenas uma ideia para como podes resolver o problema.

Escrevi a função aqui num instante, é provável que até contenha erros. Se não serve espera mais um pouco, pode ser que alguém conheça uma solução mais "user friendly" (um plugin ou algo do género).

Boa sorte!

13
WordPress / Re: Um banner para cada país
« em: 10/Mar/2012 11:06 »
Dá uma vista de olhos: http://www.php.net/manual/en/book.geoip.php

Uma solução escrita agora rapidamente. Basicamente a ideia é colocares todos os anúncios separados numa pasta chamada ads (podes também definir esta pasta, criando uma opção no WP).

Por exemplo para um mesmo anúncio chamado sidebar criarias um ficheiro sidebar_pt.php, outro sidebar_br.php e ainda um sidebar_default.php. Se o visitante for de Portugal, a função carrega o 1º, se do Brasil o 2º, senão carrega o default.

Onde queres que os anúncios te apareçam, basta chamares no tema:

Código: (php) [Seleccione]
show_ad_by_country( 'sidebar' );
show_ad_by_country( 'footer' );

O argumento que passares à função será o prefixo do ficheiro (sidebar_pt.php/footer_pt.php).

Código: (php) [Seleccione]
<?php

if( !function_exists'show_ad_by_country' ) ){

/**
 * Shows a given ad depending on the geolocation
 * of the user. All the ads should be placed within
 * an independent file that has the following
 * format {prefix}_{2 letter ISO}.php
 *
 * @param String $prefix The file prefix
 * @return boolean
 */
function show_ad_by_country($prefix ''){

// The geoip library is required
if( !in_array'geoip'get_loaded_extensions() ) ){
return false;
}

// Get the client's IP and country
$client_ip $_SERVER['REMOTE_ADDR'];
$country geoip_country_code_by_name$client_ip );

// Define the ads location
if( !( $location get_option'showad_files_location' ) ) ){
$location get_stylesheet_directory() . '/ads';
}

// Try to load the file
$file  $location '/' $prefix '_' strtolower$country ) . '.php';
$default $location '/' $prefix '_default.php';

if( file_exists$file ) ){
include $file;
return true;
} elseif ( file_exists $default ) ){
include $default;
return true;
}


return false;
}

}

Não testei o código, mas deve estar a funcionar. Também podes fazer o mesmo através de Javascript - qualquer browser decente também te oferece a localização do utilizador (se bem que é um pouco mais "intrusivo", porque tens de pedir autorização ao mesmo).

14
O consumidor tem cada vez mais poder e é essa a (verdadeira) magia da Internet, dar voz e visibilidade a quem antes não tinha nenhuma (por mais incorrectas que as argumentações possam ser). É um equilíbrio muito delicado e julgo que é uma das grandes razões que lá fora (e cá dentro a uma menor escala) se vêm cada vez mais pessoas que lidam apenas com a imagem no Mundo digital das marcas (gestão de Social Media) é exactamente essa .

Pessoalmente sou da opinião que a censura tem muito potencial para correr mal. Casos da Ensitel, da EDP foram exemplo disso a larga escala (hello Streisand). A verdade é que se tens o azar de apanhar uma pessoa que até se saiba "mexer" na Internet, ao censurares tens uma hipótese muito grande da coisa correr mal e em vez de um comentário mau, passas a ter dezenas (aos quais não conseguirás obviamente dar resposta).

Por outro lado também não sou apologista de que se deva "baixar as calças", sempre que alguém vem argumentar qualquer coisa negativa. É um equilíbrio delicado e consome tempo, mas sou apologista de que nessas situações contra argumentar com a análise da situação de quem está "do outro lado" (a Marca) de forma educada e objectiva ainda é a melhor política.

Num segundo momento, convidar quem te está a "atacar" para uma conversa pessoal (na Internet a malta esquece-se que quem está por detrás das empresas também são pessoas) - a maioria das pessoas tornam-se muito mais razoáveis quando falas pessoalmente com elas por telefone.

Se tudo falhar e se de facto julgas que a razão está do teu lado, apresentas os factos da maneiras que os vês e tentas minimizar os danos. Os tempos dos "DMCA" aos comentários que não são do agrado de quem é visado neles estão no seu fim...

15
Desenvolvimento / Re: CMS abertos são um perigo
« em: 26/Fev/2012 23:33 »
Por falar em CMS, anda para aí um que é uma porcaria de todo o tamanho.. um dos maiores se não o maior portal nacional até o usa.. burros pah. (Bricolage CMS - Open-source)

SAPO, certo? :)

Em relação ao tópico, nada a acrescentar. De alguém "profissional" esperava-se mais até agora só li um role de "bitaites" inflamados para os quais ainda não consegui entender bem o propósito. Apresentação de dados concretos para suportar as teorias também algo que não abunda por aqui.

Cada um vende o que pode. À falta de engenho regurgitam-se argumentos sem fundamento e incute-se o medo - há sem dúvida quem defenda que a ignorância de um cliente é o maior activo que se pode ter. E quando as pessoas não sabem, acreditam em todo o disparate que os "profissionais" lhes dizem.

Deixo também a dica de um outro potencial cliente - http://www.whitehouse.gov/ - usam Drupal e claramente só têm o site de pé, porque são uma entidade idónea e bem vista em todo o Mundo (é por demais claro que com a alarvidade de código aberto que se encontra por trás do site, só o têm no ar porque nunca, nunca sofreram um ataque).

Para todos vós, escória incompetente que denigre a entidade que é a Internet utilizando gestores de conteúdo e tecnologia de código aberto em geral, manquem-se da vossa ignorância e arrependam-se consultando o "profissional" mais próximo da vossa residência.


É uma pena porque a temática até dava um tópico de discussão interessante, mas não (de todo) nos moldes aqui apresentados.

Está provado que com malta detentora da verdade absoluta é impossível ter-se uma discussão construtiva. Principalmente quando o único argumento apresentado é: "fui a um colégio que tinha o seu site em baixo porque eu fui lá e vi e era Joomla e então CMS de código aberto são uma porcaria e eu é que sou o maior programador/analista de segurança do Mundo e as verdades doem e vocês não percebem nada disto"...

De valor era fechar-se este antro de lixo e começar-se um onde exista uma discussão com pés e cabeça (onde de facto existam dados a analisar e argumentos a debater). Just my 2 cents. :)

Páginas: 1 2 3 ... 10