Недавно было открыто несколько новых метапрограмных техник в C++, позволяющих реализовать рефлексию, работающую "из коробки". В докладе я расскажу об этих техниках, покажу примеры использования и расскажу об их применимости в C++17. Желающие уже сейчас могут начать экспериментировать с рефлексией, используя библиотеку https://github.com/apolukhin/magic_get
Хочется чего-то новенького, необычного? Тогда добро пожаловать в мир чудеc C++17:
if constexpr (auto& [number, ok] = variable; ok)
return "Hi"
else
return number + 42;
Вы услышите о новом стандарте C++, обнаружите для себя новые полезные классы, функции и возможности языка. Для каждой новинки я приведу примеры использования, расскажу о нюансах и подводных камнях.
А ещё вы узнаете о том, как проходят заседания комитета по стандартизации C++ и сможете задать интересующие вас вопросы связанные с нововведениями С++17 и С++Next.
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016Loïc Knuchel
Vous commencez à en entendre parler de plus en plus mais vous avez encore du mal à voir ce que c’est et à comprendre de que ça change concrètement, ce talk est fait pour vous !!!
La programmation fonctionnelle est une manière de programmer basée sur les fonctions qui permet de faire du code vraiment modulaire, améliorer la qualité et limiter les bugs. Vous ne me croyez pas ? Venez voir cette session !
Недавно было открыто несколько новых метапрограмных техник в C++, позволяющих реализовать рефлексию, работающую "из коробки". В докладе я расскажу об этих техниках, покажу примеры использования и расскажу об их применимости в C++17. Желающие уже сейчас могут начать экспериментировать с рефлексией, используя библиотеку https://github.com/apolukhin/magic_get
Хочется чего-то новенького, необычного? Тогда добро пожаловать в мир чудеc C++17:
if constexpr (auto& [number, ok] = variable; ok)
return "Hi"
else
return number + 42;
Вы услышите о новом стандарте C++, обнаружите для себя новые полезные классы, функции и возможности языка. Для каждой новинки я приведу примеры использования, расскажу о нюансах и подводных камнях.
А ещё вы узнаете о том, как проходят заседания комитета по стандартизации C++ и сможете задать интересующие вас вопросы связанные с нововведениями С++17 и С++Next.
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016Loïc Knuchel
Vous commencez à en entendre parler de plus en plus mais vous avez encore du mal à voir ce que c’est et à comprendre de que ça change concrètement, ce talk est fait pour vous !!!
La programmation fonctionnelle est une manière de programmer basée sur les fonctions qui permet de faire du code vraiment modulaire, améliorer la qualité et limiter les bugs. Vous ne me croyez pas ? Venez voir cette session !
В своих прошлых докладах (http://cpp-russia.ru/?p=198, и http://cpp-russia.ru/?page_id=1239) я рассказывал о C++ без исключений, как с эти жить, как работать. Этот доклад является продолжением этой серии. Я рекомендую освежить в памяти предыдущие доклады, чтобы наша работа была более продуктивной. Мы обсудим механизмы создания, копирования и перемещения объектов, механизмы аллокации и деаллокации памяти, а также обработку ошибок и исключений. Также мы обсудим проблемы и неудобства, которые испытывает программист, когда пишет код без исключений. В конце, я попытаюсь показать, как можно проектировать структуры данных, контейнеры для удобной работы в средах с исключениями и без исключений.
Introduce the core conceptions of javascript, including prototype chain, constructor, execution context, variable object, scope chain, closure and this.
Practical JavaScript Programming - Session 3/8Wilson Su
JavaScript is one of the most popular skills in today’s job market. It allows you to create both client- and server-side applications quickly and easily. Having a solid understanding of this powerful and versatile language is essential to anyone who uses it.
“Practical JavaScript Programming” does not only focus on best practices, but also introduces the fundamental concepts. This course will take you from JavaScript basics to advanced. You’ll learn about topics like Data Types, Functions, Events, AJAX and more.
На докладе вы узнаете:
как ликвидировать Ахиллесову пяту ваших unit test’ов;
о достоинствах и недостатках SinonJS в рамках современной теории unit test'ирования;
почему теория - это по-настоящему важно;
чем отличается SinonJS от других инструментов тестирования и для чего он вообще нужен;
какими принципами стоит руководствоваться при создании заглушек независимо от test framework'а;
как быстро и легко начать использовать SinonJS на вашем проекте уже сейчас.
Know each horse in your castle!
Bluemap Consulting Group es un colaborador estratégico que tiene como misión ayudar a empresas e instituciones a solucionar problemas o necesidades dentro de las áreas corporativa, comercial y de marketing.
В своих прошлых докладах (http://cpp-russia.ru/?p=198, и http://cpp-russia.ru/?page_id=1239) я рассказывал о C++ без исключений, как с эти жить, как работать. Этот доклад является продолжением этой серии. Я рекомендую освежить в памяти предыдущие доклады, чтобы наша работа была более продуктивной. Мы обсудим механизмы создания, копирования и перемещения объектов, механизмы аллокации и деаллокации памяти, а также обработку ошибок и исключений. Также мы обсудим проблемы и неудобства, которые испытывает программист, когда пишет код без исключений. В конце, я попытаюсь показать, как можно проектировать структуры данных, контейнеры для удобной работы в средах с исключениями и без исключений.
Introduce the core conceptions of javascript, including prototype chain, constructor, execution context, variable object, scope chain, closure and this.
Practical JavaScript Programming - Session 3/8Wilson Su
JavaScript is one of the most popular skills in today’s job market. It allows you to create both client- and server-side applications quickly and easily. Having a solid understanding of this powerful and versatile language is essential to anyone who uses it.
“Practical JavaScript Programming” does not only focus on best practices, but also introduces the fundamental concepts. This course will take you from JavaScript basics to advanced. You’ll learn about topics like Data Types, Functions, Events, AJAX and more.
На докладе вы узнаете:
как ликвидировать Ахиллесову пяту ваших unit test’ов;
о достоинствах и недостатках SinonJS в рамках современной теории unit test'ирования;
почему теория - это по-настоящему важно;
чем отличается SinonJS от других инструментов тестирования и для чего он вообще нужен;
какими принципами стоит руководствоваться при создании заглушек независимо от test framework'а;
как быстро и легко начать использовать SinonJS на вашем проекте уже сейчас.
Know each horse in your castle!
Bluemap Consulting Group es un colaborador estratégico que tiene como misión ayudar a empresas e instituciones a solucionar problemas o necesidades dentro de las áreas corporativa, comercial y de marketing.
be.as Manufacturing enhances the capabilities in SAP Business One for manufacturing planning, control and implementation in small businesses and mid-sized companies in different ways – as much as necessary and as little as necessary – exactly enough to ensure that the desired efficiency and flexibility are retained.
For more information about be.as and SAP Business One, please contact us at:
Tel: +65 63977258
Email: info@BlueOceanSys.com.sg
www.BlueOceanSys.com.sg
We love to hear from you. Thank you.
How we introduced and implemented Kanban for both a software and a system engineering team @ nine.ch, a leading provider for managed Linux server in Switzerland.
EnerTekGlobal Environmental monitoring services Peru Alan Clarke
Bienvenido a EnerTek Consultoría Ingeniería Global
De Perú a Laos, Rusia a Ghana, EnerTek es un proveedor de clase mundial de la ingeniería ambiental y de las soluciones de energía sostenible. Sean servicios de consultoría o instalaciones in situ, nuestro equipo de ingenieros expertos y altamente calificados está dispuesta a responder a sus necesidades.
EnerTek tiene una reputación creciente de entregar a tiempo y dentro del presupuesto. Por lo tanto EnerTek es el contratista de elección en los sectores que requieren una consultoría comprensiva para la ingeniería del medio ambiente con muestras, diseño y servicios de supervisión.
Office: 01.447.7015
info@enertekglobal.com
www.enertekglobal.com
Note: For international calls, enter your country's exit code and then (51) for Peru.
Address
Malecon Balta 720
Miraflores District
Lima, Peru
Presentación en la Semana de la Internacionalización de la Universidad de Cádiz de Sol Santamaría, consejera Eures, que nos desveló lo que necesitamos para trabajar en Europa.
8. 1997 : Version 1 La version initiale
1999 : Version 3 Le JavaScript tel que vous le connaissez
2009 : Version 5 Mode strict
2011 : Version 5.1 Début de l’unification
2015 : Version 6 Harmony
9. A partir de la version 6 : 1 version par an
nommage en fonction de l’année
11. 3 nouveautés qui vont changer votre manière de coder
Modules, classes et promesses
7 nouveautés qui vous simplifie la vie
String templates, destructuring, paramètres par défaut, fat arrow functions, block
scoping et constantes, paramètres rest et spreading
La nouveauté qui donne mal à la tête
Itérateurs et générateurs
12. Tous les trucs dont je n’ai pas le temps de parler en 50min
Proxy, Map/Set, Symbol, tableaux typés et plein d’autres choses
Comment utiliser tout ça dès maintenant
Navigateurs, nodeJs, compiler vers ES5
120. var myGlobale = "hello";
function myFunction() {
var param1 = "value1";
if(true) {
let param2 = "value2";
}
console.log(myGlobale);
console.log(param1);
console.log(param2);
}
121. var myGlobale = "hello";
function myFunction() {
var param1 = "value1";
if(true) {
let param2 = "value2";
}
console.log(myGlobale);
console.log(param1);
console.log(param2);
}
122. var myGlobale = "hello";
function myFunction() {
var param1 = "value1";
if(true) {
let param2 = "value2";
}
console.log(myGlobale); // affiche "hello"
console.log(param1); // affiche "value1"
console.log(param2); // ReferenceError: param2
is not defined
}
133. function sum(a, b, ...values) {
var sum = a + b;
values.forEach((value) => sum += value);
return sum;
}
sum([1,2,3]); // renvoi "1,2,3undefined"
134. function sum(a, b, ...values) {
var sum = a + b;
values.forEach((value) => sum += value);
return sum;
}
sum(...[1,2,3]); // 6
135. function sum(a, b, ...values) {
var sum = a + b;
values.forEach((value) => sum += value);
return sum;
}
var myArray = [1,2,3];
sum(...myArray); // 6
213. /**
* Hook to have ES6 in node js...
* The real stuff starts in startES6.js
*/
require("babel/register");
var startEs6 = require("./startES6");
startEs6();
219. Les changements qui vont impacter votre code :
Modules
export function myFunction()
import {myFunction} from 'module'
Classes
class MyClass extends Parent {}
Promesses
var prom = new Promise(function(resolve, reject)) {}
prom.then(otherPromise);
Générateurs
function* myGenerator {
yield 'value';
}
220. Les changements qui vont vous simplifier la vie :
String templates
`hello ${world}`
Destructuring
var [val1,val2] = ['value1','value2'];
var {prop1,prop2} = {prop1:'value1', prop2: 'value2'};
Paramètres par défaut
function myFunction(param1, param2 = 'value') {}
Fat arrow functions
(param) => { expr; }
221. Les changements qui vont vous simplifier la vie :
Block scoping
let scopedVar = "value";
const scopedConst = "value";
Paramètres Rest
function myfunction(param1, ...params) {}
Spreading
...['value1','value2']