l’art des sides projects

89
L’art des sides projects

Upload: quentin-de-quelen

Post on 15-Aug-2015

135 views

Category:

Small Business & Entrepreneurship


0 download

TRANSCRIPT

L’art des sides projects

Baptiste JaminDev fullstack

Etudiant en IMR1 à l’Enssat.

Orange & Freelance

@baptistejamin

Quentin de QuelenDev frontend / iOS

Etudiant IMR1 ENSSAT

Apizee & Freelance

@Quentin_dQ

Les side projects

“Pour apprendre le travail d’équipe

“Pour s’éclater techniquement

“You are the boss

“Car c’est cool

“Car c’est cool

“C’est bien sur un CV

“Sur un malentendu ça peut

marcher

Nos side projects

Total : 7 projets

Randomail

Commencé en 2012Mail jetable3e version

+8000 utilisateurs+12000 mails/jour

https://randomail.net/

Projet Android

Place your screenshot here

Projet iOS

lannion BusCréée en 2014Prix étudiant innov@lannion

Quelques jeux vidéosFrog Creator (Open Source)

Place your screenshot here

YoolCréé en 2014Coup de coeur du jury, SWNA

http://getyool.co

L’origine du Yool

“Go back to the Yool

“Le Yool ça ne s’explique pas ça se vit

Maître Yoolda

Projet Android

Place your screenshot here

Projet iOS

Behind the scenes

Des post-it, partout partout partout !

Pour la communication

http://asana.com/

Pour la communication

http://slack.com

Pour la communication

Pour la communication

http://www.whatsapp.com

Tout le monde a le pouvoir!

Be friends

Une phrase à retenir

No talk, all action

Parlons d’action, justement

Dans un side project, le plus important, ça n’est pas l’idée, mais l’exécution

1: acheter un mac

Le dev

Une partie importante du side project

1: acheter un macVous êtes une équipe

1: acheter un macMettez vous d’accordsur vos langages et conventions

1: acheter un mac

Tout le monde doit toucher à tout

Conseils pour faire son app Android

Que des bons, évidemment

Un problème une librairire

Android Query

ImageView tbView = (ImageView) view.findViewById(R.id.icon); if(tbView != null){ tbView.setImageBitmap(R.drawable.icon); tbView.setVisibility(View.VISIBLE); tbView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { someMethod(v); } }); }

AQuery aq = new AQuery(view); aq.id(R.id.icon)

.image(R.drawable.icon)

.visible()

.clicked(this, "someMethod");

Avant: Après:

https://github.com/androidquery/androidquery

Picasso

Picasso.with(context)

.load(url)

.resize(50, 50)

.centerCrop()

.into(imageView)

https://github.com/square/picasso

Material Design

https://github.com/navasmdc/MaterialDesignLibrary

Android Studio<3 Gradlecompile 'com.squareup.picasso:picasso:2.5.2'

Conseils pour iOS

Think different

Objective C

NSArray *unsortedArray = @[@"Ahmed", @"Marwa", @"Siva", @"Paul", @"Otto", @"Sam", @"Candy"];NSSortDescriptor* sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:nil ascending:NO selector:@selector(localizedCompare:)]; NSArray* sortedArray = [unsortedArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];//SortedArray = [Siva, Sam, Paul, Otto, Marwa, Candy, Ahmed]

Swift

let names = ["Ahmed", "Marwa", "Siva", "Paul", "Otto", "Sam", "Candy"]reversed = sort(names, {>})// reversed = [Siva, Sam, Paul, Otto, Marwa, Candy, Ahmed]

Un problème une librairire

http://www.swifttoolbox.io

SwiftToolbox : Agrégateur de librairie

https://github.com/Alamofire/Alamofire

librairies

Material Kit

https://github.com/nghialv/MaterialKit

SwiftyJSON

https://github.com/lingoer/SwiftyJSON

Without SwiftyJSON

let jsonObject : AnyObject! = NSJSONSerialization.JSONObjectWithData(dataFromTwitter, options: NSJSONReadingOptions.MutableContainers, error: nil)if let statusesArray = jsonObject as? NSArray{ if let aStatus = statusesArray[0] as? NSDictionary{ if let user = aStatus["user"] as? NSDictionary{ if let userName = user["name"] as? NSDictionary{ //Finally We Got The Name

} } }}

With SwiftyJSON

let json = JSON(data: dataFromNetworking)if let userName = json[0]["user"]["name"].string{ //Now you got your value}

Toucan

https://github.com/gavinbunney/Toucan

Gestion de dépendances : Cocoa Pods

https://guides.cocoapods.org/

Gestion de dépendances : Carthage

https://github.com/Carthage/Carthage

Conseils pour les devs web

Developers, Developers

Wow.js

http://mynameismatthieu.com/WOW/

https://angularjs.org

http://ionicframework.com

Cobalt

http://cobaltians.com

Partie Native(Objective C)

Partie Web(Ionic)

sudo npm install -g cobaltians

cobaltians create myApp HelloWorld

Conseils pour un backend

Scalable, cela va de soi

Node.JSEVERYWHERE

ES6 avecbabel

https://babeljs.io

DiviserPourMieux règner

Le refactoring c’est vital

A B

C D

digitalocean.com

Vous êtes un développeurPAS SYSADMIN

Votre travail s’arrête aprèsgit push

Donc utilisez des outils pour déployer automatiquement

Dokku (heroku like)https://github.com/progrium/dokku

Ou votre propre workflow...

https://github.com/mywaystar/hooky

[ERROR@production] Events Server Exception (6a0177205f10e1516a7df890fc18c47d)

Baptiste Jamin bug créé 2 days ago

NOTE: THIS ISSUE HAS BEEN AUTOMATICALLY OPENED.

TypeError: Cannot read property 'constructor' of null

at md5 (/root/yool_api/node_modules/MD5/md5.js:9:16)

at module.exports (/root/yool_api/node_modules/MD5/md5.js:154:42)

at /root/yool_api/lib/controllers/users/getProfile.js:25:65

at /root/yool_api/node_modules/mongodb/lib/mongodb/collection/query.js:164:5

at Cursor.nextObject (/root/yool_api/node_modules/mongodb/lib/mongodb/cursor.js:773:5)

at commandHandler (/root/yool_api/node_modules/mongodb/lib/mongodb/cursor.js:741:14)

at /root/yool_api/node_modules/mongodb/lib/mongodb/db.js:1903:9

at Server.Base._callHandler (/root/yool_api/node_modules/mongodb/lib/mongodb/connection/base.js:453:41)

at /root/yool_api/node_modules/mongodb/lib/mongodb/connection/server.js:487:18

at MongoReply.parseBody (/root/yool_api/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)

Growth hacking

Le marketing des temps moderne pour propulser son idée

http://ifttt.com

http://zapier.com

http://bufferapp.com

a=document.querySelectorAll('.js-follow-btn');for(i=0;i<a.length;i++)a[i].click()

Outils de lancement

Préparez-vous à tout quantifier

http://instabug.com

http://mailchimp.com

L’échec c’est cool

Non… vraiment!

Merci :)