Copiado!

Omniref Adds JavaScript To Its Code Annotation Platform

Omniref
YC-backed Omniref gave its code annotation and reference platform a big boost this week with the addition of support for JavaScript, the popular programming language used to make interactive browser-based apps and backend server code using Node.js.
Essa é apenas a segunda língua para bater a plataforma. De acordo com Omniref co-fundador Tim Robertson, a partida passou as últimas semanas a indexação da totalidade (bem, 97 por cento) do NPM , o mais popular gerenciador de pacotes JavaScript. Tudo dito, eles puxado em mais de 600 mil versões de pacotes disponíveis - ou seja, se você codificar com JavaScript usando basicamente qualquer framework popular, que está em Omniref olhar através ou fazer perguntas sobre.
O grande número de desenvolvedores que usam JavaScript deve reforçar inscrições do Omniref, que atualmente pairam em torno de 7.000. Mesmo com uma comunidade que tamanho, Robertson diz que a maioria das perguntas são respondidas dentro de um ou dois minutos no site, com exceção de "coisas mais obscuras, como perguntas sobre versões mais antigas do código que a maioria das pessoas não usam mais." Em Nesses casos, Robertson diz que a equipe vai tentar chegar às pessoas que sabe que vai ter a resposta, mas que está se tornando cada vez mais raro.
Além de expandir o corpo de código que os desenvolvedores podem fazer referência no site, a equipe vem trabalhando em fruta ao alcance em toda a sua plataforma que ele sabia que tinha que lidar com quando se falou pela primeira vez em dezembro .
Tudo o perfil social apresenta Robertson e eu discutimos no mês passado - mostrando coisas como contribuições pessoas fizeram, os projetos que seguem e manter no GitHub - foram adicionados desde nossa última conversa. Omniref acrescentou ainda uma tabela de classificação do usuário como uma forma de "dar às pessoas de crédito para contribuir para a comunidade", embora Robertson observa a equipe não tem certeza se essa é a melhor maneira de fazê-lo e está explorando outras opções para a promoção dos seus mais úteis aos usuários .
A equipe Omniref está olhando para outras vias para obter o código para a sua plataforma além de simplesmente indexar todas as versões de pacotes para idiomas específicos. Uma avenida que eles estão olhando é fornecer extensões para desenvolvedores que já construiu sites de documentação para o seu próprio código. Inicialmente, essas extensões vai deixá-los organizar a documentação usando recursos de referência cruzada bacana de Omniref. Mais tarde, essas mesmas extensões irá permitir que os desenvolvedores usam recursos de anotação do gênio-like da inicialização em suas próprias bases de código.

NEW JAVASCRIPT OBFUSCATOR AFIRMA SER O MAIS DIFÍCIL DE DEOBFUSCATE


Javascript2img.com lançou o que afirma ser o melhor dos principais obfuscators Javascript. Através de uma forma de mascaramento que torna o código fonte ininteligível para a olho nu, tais obfuscators levantar a barreira para inspeção indesejável de Javascript que é outra forma detectável através da visualização de arquivos HTML e .js. Embora seja quase infalível, obfuscators pode ser útil em situações em que fácil inspeção do código fonte pode levar à exposição de informações sensíveis que os desenvolvedores preferem ser menos visível (como chaves de API e segredos de aplicação).
É importante notar que a "segurança por obscuridade" é defeatable e não para ser invocada como a única abordagem para garantir ativos digitais, tais como APIs ou qualquer código-fonte que chama-los. Mais ao ponto, incluindo os segredos da API, como credenciais de login ou chaves de API em JavaScript do lado cliente é altamente desaconselhado. Enquanto obfuscators ofuscar o próprio código-fonte-Javascript, quaisquer dados (dados de aplicativos, chaves de API, as credenciais de login, etc.) que o código-fonte está passando do lado do cliente para o lado do servidor deve ser deobfuscated antes de ser enviado em pedir para o endpoint API do lado do servidor para desserializar corretamente os dados. Mesmo quando os dados são criptografados, é detectável como explicamos em  como os hackers crack APIs supostamente seguros e privados .
Mas há casos em que essas credenciais não são tão sensíveis como com outros onde a ofuscador Javascript viria a calhar. Já para não falar ofuscando server-side Javascript (node.js) como uma medida adicional de segurança para proteger o código fonte proprietário. Em outras palavras, há um tempo e um lugar para a obscuridade entre as muitas camadas de segurança que somam ativos digitais bem protegidos. Considerando obscuridade não e muitas vezes pode não podem deter o mais determinado dos hackers, que levanta a barreira de hackers casuais que preferem aproveitar as metas mais suaves. Dependendo de suas respectivas agendas e intenções, esses hackers podem causar danos igualmente perturbadora quanto o mais determinado hacker. 
No caso de Javascript2img.com, o processo é relativamente simples. Leve o Javascript código que você quer ofuscar, cole-o na forma de ofuscação em Javascript2img.com, clique no botão Obfuscate e Javascript2img.com retorna um pedaço de código que, se salva em um arquivo PNG, produziria uma imagem PNG legítimo ( Javascript2img.com mesmo exibe esta imagem para você). Mas, em vez de salvar o código em um arquivo PNG, você simplesmente substituí-lo em seu código fonte para o Javascript real que você ofuscado. Qualquer Javascript intérprete ainda vai saber o que fazer com ele. 
De acordo com Sergi Sole, co-fundador da sede em Barcelona Rede Mídia Local e um dos autores do Obfuscator, Javascript2img.com faz um trabalho melhor de ofuscar Javascript do que outros obfuscators líderes. Sole disse  WD2  "[Ele] é o mesmo que http://javascriptobfuscator.com/ , http://www.jsobfuscate.com , etc., mas usa um algoritmo complexo e mais difícil. Temos um desafio em nosso site para tentar deobfuscate para um pequeno pedaço de código ofuscado pelos nossos algoritmos e ninguém fez isso. " Dirigindo-se a falibilidade da obfuscators, Sole disse: "Não é impossível, é claro. Mas é um pouco difícil de fazer."
Em termos de como ele é feito, Sole disse: "Nós injetar o código dentro de um arquivo PNG usando seis algoritmos distintos. Então, se você descobrir como deobfuscate um desses, você ainda tem que descobrir os outros cinco."
Sole disse  WD2  que Javascript2img.com foi desenvolvido basicamente se coçar.Era necessário algo assim para seus outros projetos. Agora que o site está instalado, ele pretende rentabilizá-lo com anúncios. Enquanto isso, uma questão importante a ser respondida quando se trata de qualquer ofuscador online é ou não do operador do site é manter uma cópia do código ofuscado. Quando perguntado sobre a confiabilidade, Sole respondeu que "nenhuma informação é retida [por nós], nenhuma fonte [code], não há [endereços IP], nada." Mesmo assim, você ainda tem que levar sua palavra para ela.
Uma API para um ofuscador como este pode vir a calhar. Por exemplo, não é difícil imaginar as chamadas de API Obfuscator sendo construído em um fluxo de trabalho app dev Javascript.Mas Sole não pensa infra-estrutura da Javascript2img.com está pronto para a carga potencial que pode ser criado por um API. Assim, por agora, é uma operação manual (embora isso não iria parar a um terceiro a construção de uma API baseada em raspador).

Trabalhando com Facebook SDK para JavaScript

Introdução

Hoje em dia muitos sites oferecem integração com o Facebook para melhorar a experiência do usuário. Características como autenticação Facebook, exibindo gosta ou comentários widgets, postar algo na parede de um usuário são partes desta integração. O SDK do Facebook para JavaScript fornece funcionalidade que pode ser consumida a partir do script do lado do cliente para alavancar essa 
Criar uma nova App
Criar uma nova App
Não vamos entrar em muitos detalhes do processo de criação de aplicativos. Tudo que você precisa para trabalhar com o restante deste artigo é uma ID App - um identificador numérico para um aplicativo do Facebook para ser integrado em seu site. Você pode pegar este ID App do dashboard do aplicativo recém-criado (ou já existente).

Personalize SharePoint 2013 Pesquisas

Introdução

Personalização de pesquisa no SharePoint 2013 pode ser conseguido de várias maneiras. A forma mais comum é a personalização de busca modelos de exibição e aplicá-las ao sair da parte de resultados de pesquisa caixa web.
Neste artigo, vamos aprender a personalizar usando o código. Personalização por meio de código pode ser obtido de duas maneiras diferentes: usando CSOM 
Vamos entender busca arquitetura brevemente antes de explorar código. 
SPSearch
Figura 1 : O modelo CSOM
O lado direito da Figura 1 mostra os vários sabores disponíveis com CSOM; OData representa o endpoint RESTful para acessar dados. No SharePoint 2010, o serviço web foi acessado pelo uso de '_vti_bin / client.svc'; com 2013, os serviços podem ser acessados ​​usando '_api'.

Propriedade rastreada e gerenciado

No SharePoint 2010, havia dois tipos de servidor de pesquisa disponíveis, rápido e Enterprise. Com SP2013, é tudo fundidos em um servidor da empresa. Para a busca para retornar resultados, dois tipos de propriedades desempenha um papel importante, propriedades rastreadas e propriedades gerenciadas. Os usuários podem pesquisar apenas em propriedades gerenciadas.
Metadados extraído de listas e documentos constitui a propriedade rastreada. Propriedade rastreada pode ser estruturado de dados, tais como colunas de lista ou palavras-chave como não estruturados extraídos de documentos. A propriedade rastreada pode ser adicionado a propriedade gerenciada múltipla e propriedade rastreada múltiplo também podem ser mapeados para única propriedade gerenciada.
Nota: propriedade gerenciada é criado automaticamente para colunas de site que contém dados durante o rastreamento.

Refinadores

As refinarias são baseados na agregação de propriedade gerenciada e contagem é calculado com base em todos os resultados de uma consulta de pesquisa, através de apenas alguns podem ser recuperadas. As refinarias são usados ​​para detalhar os resultados da pesquisa.
Vamos entender como usar as APIs do REST para realizar uma pesquisa. Os parâmetros básicos que podem ser usados ​​para buscar conjunto de resultados são:
O seguinte trecho de código usa o método JQuery Ajax para buscar os resultados de pesquisa usando REST. Na linha 3, "URL" é o parâmetro de consulta para pesquisa e Linha 5 direciona o resultado a ser devolvido em formato JSON.
 1. $ .ajax (
2. {
3. url: " http: // servidor / site / _api / pesquisa / consulta QUERYTEXT = 'consulta '",
4. método: "GET",
5. cabeçalhos: {
. 6 "aceitar": "application / json; OData = verbose"
7.}
. 8 Sucesso: onSuccess,
9. Erro: onError
10.}
11.);
Linhas 8 e 9 tem as definições de sucesso e erro que são executados uma vez que a consulta é executada.

CSOM Usando JavaScript

Para usar CSOM em JavaScript, uma referência à necessidade 'search.js' para ser incluído; este está localizado na '_layouts / 15 / SP.search.js'. Neste exemplo, o resultado é obtido com base em critérios e também alguns refinadores.
Para começar, registrar os SP.Search.js usando o seguinte comando:
RegisterSod ("search.js", + _spPageContextInfo.webAbsoluteUrl
/_layouts/15/SP.search.js "");
O próximo trecho de código recupera o conjunto de resultados com base na palavra-chave 'casa' e também recebe valores de refinamento para metadados gerenciados chamado 'FileType'; Em outras palavras, as refinarias.
 1. var ctx SP.ClientContext.get_current = ();
2. var kquery = new
exec = new Microsoft.SharePoint.Client. Search.Query.SearchExecutor (CTX);
. 6 resultado var = exec.executeQuery (kquery);
7. ctx.executeQueryAsync (function ()

8. {
. 9 resultValues ​​var = result.m_value.ResultTables [0];
. 10 var resultRefiner = result.m_value.ResultTables [1];
. 11. $ ("# resultDiv") anexar ('');
12. $ .each (resultValues.ResultRows, function () {
13. $ ("# resultDiv") anexar ('
.');
. 14. $ ("# resultDiv") anexar ('
' + this.title + '</ td>');
. 15. $ ("# resultDiv") anexar ('
' + this.Path + '</ td>');
. 16. $ ("# resultDiv") anexar ('</ tr>');
17.});
. 18. $ ("# resultDiv") anexar ('</ table>');
. 19. $ ("# refinerDiv") anexar ('');
20. $ .each (resultRefiner.ResultRows, function () {
21. $ ("# refinerDiv") anexar ('
.');
22. $ ("# refinerDiv"). Append ('
' + this.RefinementName +
'</ Td>');
23. $. (Quot; #refinerDiv ") anexar ('
(' + this.RefinementCount +
') </ Td>');
. 24. $ ("# refinerDiv") anexar ('</ tr>');
25.});
. 26. $ ("# refinerDiv") anexar ('</ table>');
27.}
Função 28. (sender, args)
29. {});


Vamos analisar o código em detalhes. Linha 1 obtém o objeto contexto atual. Para criar um objeto do tipo KeywordQuery ( Microsoft.SharePoint.Client.Search.Query.KeywordQuery ), arquivos SP.Search.js precisam ser referenciado. A criação do objeto KeywordQuery leva o contexto atual como um parâmetro de entrada (Linha 2).
O objeto KeywordQuery tem duas propriedades, set_queryText e set_refiners . Use a set_queryTextpropriedade (Linhas 3 e 4) para definir a palavra-chave e / ou a condição de consulta e use set_refinerspara especificar as refinarias a serem recuperados para os critérios de pesquisa. Estes refinadores pode ser usado para perfurar os dados mais abaixo.
Linha 5 cria o objeto de busca e executor linha 6 usa executeQuery método para executar a pesquisa.A pesquisa ainda não é executada nesta fase; a pesquisa é executada rodando ctx.executeQueryAsync (linha 7).
Se a pesquisa é executada sem erros, um conjunto de tabelas de resultados é retornado. ResultTables [0] é os resultados da pesquisa retornou e as refinarias são preenchidos em ResultTables [1]. Neste exemplo, a linha 9 armazena os resultados da pesquisa e o mesmo está em loop através de e exibido na UI (linha 12-17). Linha 10 armazena os valores refinador eo mesmo é em loop através e exibido na UI (linhas 20-25).

Resumo

Neste artigo, nós cobrimos a personalização de uma pesquisa usando CSOM e REST. Isso lhe dá a flexibilidade para desenvolver aplicativos baseados em pesquisa. Nós também abordou como as refinarias podem ser recuperadas e estes podem ser ainda utilizado para detalhar a pesquisa.Podemos também usar sourceId para restringir os resultados da pesquisa de uma fonte resultado particular.

Referências