Skip to content

Instantly share code, notes, and snippets.

View jpetitcolas's full-sized avatar

Jonathan Petitcolas jpetitcolas

View GitHub Profile
@jpetitcolas
jpetitcolas / javascript.json
Created March 5, 2018 09:56
React Functional Component Visual Code Snippet
{
"Create new functional component": {
"prefix": "_compo",
"body": [
"import React from 'react';",
"import PropTypes from 'prop-types';",
"",
"export const $1 = ({$2}) => (",
" $3",
");",
@jpetitcolas
jpetitcolas / Dockerfile
Created December 12, 2017 20:47
Docker configuration for Prestashop
# config/php/Dockerfile
FROM php:7.0-fpm
RUN apt-get update
RUN apt-get install -y zlib1g-dev && docker-php-ext-install -j$(nproc) zip
RUN \
apt-get install -y libpng-dev libjpeg62-turbo-dev libfreetype6-dev && \
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
docker-php-ext-install -j$(nproc) gd
const typeFinder = type => function* (params = {}, ref = 'master') {
const search = function* (searchParams) {
const Api = yield initApi;
const reference = ref === 'master' ? Api.master() : ref;
const preparedForm = Api.form('everything')
.ref(reference)
.pageSize(200);
const predicates = [];
@jpetitcolas
jpetitcolas / vagrant-php-project.sh
Created November 30, 2013 09:28
Vagrant bootstraping script for PHP project
#!/usr/bin/env bash
# Install common environment
apt-get update
apt-get install -y curl
# Install Git and configure it (useful when working on Windows)
apt-get install -y git-core
git config --global color.ui auto
git config --global core.filemode false
@jpetitcolas
jpetitcolas / new_gist_file.sh
Created November 26, 2013 16:17
mysqldump of only n records
mysqldump --opt --where="1 limit 1000000" database table > dump.sql
@jpetitcolas
jpetitcolas / array-manipulation.js
Created November 19, 2013 08:44
Array manipulation in Javascript
// Remove an element at desired index
a.splice(desiredIndex, 1);
// Add an element at given index
a.splice(desiredIndex, 0, "My new element");
@jpetitcolas
jpetitcolas / parse.php
Created October 2, 2013 07:06
Parse XML namespaced elements
$sitemap = new \DOMDocument();
$sitemap->loadXml($feedGenerator->generate());
$xpath = new \DOMXPath($sitemap);
$xpath->registerNamespace('image', 'http://www.google.com/schemas/sitemap-image/1.1');
$image = $xpath->evaluate('//image:image');
@jpetitcolas
jpetitcolas / changeset.php
Created September 19, 2013 08:24
Detecting a property change on Doctrine2 listener
private function updateLastUpdateDate(LifecycleEventArgs $eventArgs)
{
$changeSet = $eventArgs->getEntityManager()->getUnitOfWork()->getEntityChangeSet($this);
if (!array_key_exists('status', $changeSet)) {
return;
}
// $statusBefore = $changeSet['status'][0];
// $statusAfter = $changeSet['status'][1];
}
@jpetitcolas
jpetitcolas / vbox-additions.sh
Created August 28, 2013 10:21
How to install Virtual Box addition tools for Debian?
apt-get install build-essential module-assistant
m-a prepare
# Install Guest Additions from VBox menu
mount /media/cdrom
sh /media/cdrom/VBoxLinuxAdditions.run
@jpetitcolas
jpetitcolas / new_gist_file
Created August 1, 2013 07:35
Remember a passphrase in CLI mode
ssh-agent bash
ssh-add