Google Analytics el popular servicio de Google para hacer el seguimiento de visitas a una web, tiene entre las muchas caracterÃsticas la de poder hacer seguimiento de visitas de archivos flash, en esta ocasión haremos una revisión de la manera de imple
10 consejos a tener en cuenta para optimizar nuestro sitio antes de enviarlo a Google. Siguiendo estos consejos podremos hacer que Google registre mejor nuestro sitio web…
Ubuntu Screencasts es un proyecto de documentación previsto para la siguiente versión de Ubuntu, pero que ahora mismo cualquiera puede disfrutar. Su objetivo es sencillo: mostrar mediante vÃdeos las tareas básicas que la mayorÃa de los usuarios de Ub
A December 2006 survey has found that 28% of internet users have tagged or categorized content online such as photos, news stories or blog posts. On a typical day online, 7% of internet users say they tag or categorize online conten
Sluggish internet speeds may be a thing of the past, but instant page loads are still the stuff of the future. Christian Heilmann has some tips for delivering faster, smoother pages to your visitors today… What makes web sites slow?… Things to do to m
Juan Pablo Puerta (Un gaditano en Silicon Valley) nos cuenta al detalle dos interesantes opciones para poder establecer conexiones sin tener que pagar las abusivas tarifas que se establecen en Aeropuertos, Hoteles, etc.
me he decidido a escribir una serie de artÃculos en los que tratare de desglosar el proceso de creación de un formulario de contacto que se pueda utilizar en cualquier pagina web.En este primer articulo quisiera tratar la estructura y presentación del
One of the nice things about Flickr is that because of their open API a whole host of developers have built more and more interesting things to do with the site. It’s interesting to me today that so many of the ways that I use Flickr…
Chad Hurley ha anunciado que Youtube compartirá ingresos con los usuarios que suban sus contenidos. Y esto lo hace a la vez que señala que tiene casi preparada su muy esperada tecnologÃa para detectar contenidos con copyright…
Me sorprende que, desde hace más de un año, exista la posibilidad de trackear los clics en adsense con google analytics y no la haya descubierto hasta hace una semana. Con este javascript se pueden conocer datos interesantes, como por ejemplo:
En búsquedas como ‘george bush’ (ver captura) nos podemos llegar a encontrar en la parte inferior de la página de resultados hasta tres espacios (este de ‘búsquedas relacionadas’) y dos ‘One Boxes’ (el de la hemeroteca de Google News, y el del buscador
Closures son bloques de código que pueden ser pasados a una función y que pueden manejar variables que están definidas en el mismo ámbito. Algo que puede ser bastante útil cuando queremos repetir un código que solo se ejecutará en un lugar determinado y no queremos definir una función a nivel de clase para poder usarla.
Un vistazo a un ejemplo nos podrá ayudar de mejor manera:
function replace_in_array ($search, $replacement, $array) {
$map = function ($text) use ($search, $replacement) {
if (strpos ($text, $search) > 50) {
return str_replace ($search, $replacement, $text);
} else {
return $text;
}
};
return array_map ($map, $array);
}
Como se puede ver se trata de definir una función con una serie de parámetros, indicar qué variables del mismo ámbito puede usar y una vez definida, realizar la llamada a la función.
Como se puede ver, existen dos scripts dentro de npm: build que compila el js y extrae los CSS, y dev, que arranca el servidor de webpack habilitando HMR (🎶 ¡ya no puedo vivir sin él! 🎶).
Ambas configuraciones de webpack usan un script en común (webpack.config.common.js):
const webpack = require( 'webpack' );
const path = require( 'path' );
// Carga los ficheros .vueconst VueLoaderPlugin = require( 'vue-loader/lib/plugin' );
// Configura stylelintconst StyleLintPlugin = require( 'stylelint-webpack-plugin' );
// Para obtener un path para los aliasfunctionresolve( dir ) {
return path.join( __dirname, '.', dir );
}
module.exports = {
mode: 'production',
// Fichero inicial del proyecto
entry: './js/main.js',
// Fichero final para incluir
output: {
filename: 'js/main.js',
publicPath: '/dist/',
},
module: {
// Reglas para los ficheros
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
},
{
test: /\.vue$/,
loader: 'vue-loader',
},
{
test: /\.css$/,
use: [
'css-loader',
'sass-loader',
],
},
],
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new VueLoaderPlugin(),
new StyleLintPlugin( {
files: [ '**/*.{vue,htm,html,css,sss,less,scss,sass}' ],
} ),
],
resolve: {
extensions: [ '.js', '.vue', '.json' ],
alias: {
'@': resolve( '' ),
},
},
};
El frontend se gestiona desde el fichero main.js, que inicializará Vue y añadirá el componente principal:
import Vue from 'vue';
import Buefy from 'buefy';
import'buefy/dist/buefy.css';
import App from './components/App.vue';
import'@/assets/scss/main.scss';
Vue.use( Buefy );
new Vue( {
el: '#app',
components: {
App,
},
render: ( c ) => c( 'app' ),
} );
// accept replacement modulesif ( module.hot ) {
module.hot.accept();
}
Y ya por último el componente App.vue, que muestra simplemente un poco de HTML
Con algunos dÃas de retraso llega la versión 2.0.6 beta 1 del popular sistema de publicación WordPress. De su anuncio se extrae que el nuevo paquete intenta resolver los problemas que algunos usuarios han tenido con la anterior versión 2.0.5, incluido
Para aquellos que estén interesados en trastear con Drizzle y PHP, les puede venir bien este artículo que explica cómo instalar Drizzle en PHP y cómo realizar ejemplos de recuperación de datos e inserciones. Getting Started with Drizzle and PHP
Vía / PHPDeveloper.org