Lecture 3 from the IAG0040 Java course in TTÜ.
See the accompanying source code written during the lectures: https://github.com/angryziber/java-course
Discusses more Java basics and Object Oriented Programming.
Core Java Developer Certification helps demonstrate an individual's overall comprehension and expertise of Java programming language. VSkills Core Java Developer Certification holders have more than a working familiarity with Java programs—they are technically skilled to take advantage of the breadth of features efficiently and effectively.
http://www.vskills.in/certification/Certified-Core-Java-Developer
Java Course 7: Text processing, Charsets & EncodingsAnton Keks
Lecture 7 from the IAG0040 Java course in TTÜ.
See the accompanying source code written during the lectures: https://github.com/angryziber/java-course
Do you know the difference between charset & encoding? Every programmer nowadays MUST understand these terms, how they work, and how to use them. Otherwise we constantly face broken software refusing to work with international characters properly.
(5) cpp abstractions essential_operatorsNico Ludwig
- The Copy-Operator=
- The "Rule of Three"
- Lvalues and C++11 Rvalues
- (C++11: The "Rule of Five")
- Equality Operators
- Comparison Operators and Equivalence
- Non-Member Function Operators and Friends
- The Output Operator
Presentation by Dr. Cliff Click, Jr. Mention Java performance to a C hacker, or vice versa, and a flame war will surely ensue. The Web is full of broken benchmarks and crazy claims about Java and C performance. This session will aim to give a fair(er) comparison between the languages, striving to give a balanced view of each language's various strengths and weaknesses. It will also point out what's broken about many of the Java-versus-C Websites, so when you come across one, you can see the flaws and know that the Website isn't telling you what it (generally) claims to be telling you. (It's surely telling you "something," but almost just as surely is "not realistically" telling you why X is better than Y).
Lecture 6 from the IAG0040 Java course in TTÜ.
See the accompanying source code written during the lectures: https://github.com/angryziber/java-course
Gives an overview how a software developer should organize their daily work, apart from technical skills.
Introduces Agile software development practices from XP and Scrum.
In my presentation at Megro.es #3, I talked about:
* introduction to kontainer-js, MP4 library written in ES2015
* advantage of publish-time transpilation
Lecture 3 from the IAG0040 Java course in TTÜ.
See the accompanying source code written during the lectures: https://github.com/angryziber/java-course
Discusses more Java basics and Object Oriented Programming.
Core Java Developer Certification helps demonstrate an individual's overall comprehension and expertise of Java programming language. VSkills Core Java Developer Certification holders have more than a working familiarity with Java programs—they are technically skilled to take advantage of the breadth of features efficiently and effectively.
http://www.vskills.in/certification/Certified-Core-Java-Developer
Java Course 7: Text processing, Charsets & EncodingsAnton Keks
Lecture 7 from the IAG0040 Java course in TTÜ.
See the accompanying source code written during the lectures: https://github.com/angryziber/java-course
Do you know the difference between charset & encoding? Every programmer nowadays MUST understand these terms, how they work, and how to use them. Otherwise we constantly face broken software refusing to work with international characters properly.
(5) cpp abstractions essential_operatorsNico Ludwig
- The Copy-Operator=
- The "Rule of Three"
- Lvalues and C++11 Rvalues
- (C++11: The "Rule of Five")
- Equality Operators
- Comparison Operators and Equivalence
- Non-Member Function Operators and Friends
- The Output Operator
Presentation by Dr. Cliff Click, Jr. Mention Java performance to a C hacker, or vice versa, and a flame war will surely ensue. The Web is full of broken benchmarks and crazy claims about Java and C performance. This session will aim to give a fair(er) comparison between the languages, striving to give a balanced view of each language's various strengths and weaknesses. It will also point out what's broken about many of the Java-versus-C Websites, so when you come across one, you can see the flaws and know that the Website isn't telling you what it (generally) claims to be telling you. (It's surely telling you "something," but almost just as surely is "not realistically" telling you why X is better than Y).
Lecture 6 from the IAG0040 Java course in TTÜ.
See the accompanying source code written during the lectures: https://github.com/angryziber/java-course
Gives an overview how a software developer should organize their daily work, apart from technical skills.
Introduces Agile software development practices from XP and Scrum.
In my presentation at Megro.es #3, I talked about:
* introduction to kontainer-js, MP4 library written in ES2015
* advantage of publish-time transpilation
JavaScript : What is it really? AND Some new features in ES6Aayush Shrestha
I built this presentation for Prime ICT Meetup that happened in Kathmandu on June, 2016.
Here, I talk about What JavaScript really is and about some new features introduced in ES6.
The first part of the slides are taken/influenced from David Crockford's talk called "Really. JavaScript" : https://www.youtube.com/watch?v=lTWGoL1N-Kc
Getting started with ES6 : Future of javascriptMohd Saeed
Motivation: Why should we use ES6?
ES6 Features
What to be covered next?
How to use ES6 Features today?
Transpilers ( source-to-source Compiler)
Famous Build Tools
Intro to ES6 and why should you bother !Gaurav Behere
The presentation walks you through the latest changes in JavaScript, that came as a part of ES6 recommendations.
Intro to few new changes suggested & why should we as JS developer, bother.
A short introduction (with many examples) to the Scala programming language and also an introduction to using the Play! Framework for modern, safe, efffcient and reactive web applications.
Miller Columns (used in iPhone and Mac Finder) are an elegant way of displaying and navigating a tree. This talk describes a JavaScript implementation of Miller Columns, and why JavaScript needs modules and a standard library.
Our favorite language is now powering everything from event-driven servers to robots to Git clients to 3D games. The JavaScript package ecosystem has quickly outpaced past that of most other languages, allowing our vibrant community to showcase their talent. The front-end framework war has been taken to the next level, with heavy-hitters like Ember and Angular ushering in the new generation of long-lived, component-based web apps. The extensible web movement, spearheaded by the newly-reformed W3C Technical Architecture Group, has promised to place JavaScript squarely at the foundation of the web platform. Now, the language improvements of ES6 are slowly but surely making their way into the mainstream— witness the recent interest in using generators for async programming. And all the while, whispers of ES7 features are starting to circulate…
JavaScript has grown up. Now it's time to see how far it can go.
The important parts of the front end development sphere including CSS3, advanced JavaScript, libraries such as jQuery, RequireJS and Promises. And finally, chrome developer tools for successful debugging and editing.
Immunizing Image Classifiers Against Localized Adversary Attacksgerogepatton
This paper addresses the vulnerability of deep learning models, particularly convolutional neural networks
(CNN)s, to adversarial attacks and presents a proactive training technique designed to counter them. We
introduce a novel volumization algorithm, which transforms 2D images into 3D volumetric representations.
When combined with 3D convolution and deep curriculum learning optimization (CLO), itsignificantly improves
the immunity of models against localized universal attacks by up to 40%. We evaluate our proposed approach
using contemporary CNN architectures and the modified Canadian Institute for Advanced Research (CIFAR-10
and CIFAR-100) and ImageNet Large Scale Visual Recognition Challenge (ILSVRC12) datasets, showcasing
accuracy improvements over previous techniques. The results indicate that the combination of the volumetric
input and curriculum learning holds significant promise for mitigating adversarial attacks without necessitating
adversary training.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
Terzaghi's soil bearing capacity theory, developed by Karl Terzaghi, is a fundamental principle in geotechnical engineering used to determine the bearing capacity of shallow foundations. This theory provides a method to calculate the ultimate bearing capacity of soil, which is the maximum load per unit area that the soil can support without undergoing shear failure. The Calculation HTML Code included.
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERSveerababupersonal22
It consists of cw radar and fmcw radar ,range measurement,if amplifier and fmcw altimeterThe CW radar operates using continuous wave transmission, while the FMCW radar employs frequency-modulated continuous wave technology. Range measurement is a crucial aspect of radar systems, providing information about the distance to a target. The IF amplifier plays a key role in signal processing, amplifying intermediate frequency signals for further analysis. The FMCW altimeter utilizes frequency-modulated continuous wave technology to accurately measure altitude above a reference point.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
We have compiled the most important slides from each speaker's presentation. This year’s compilation, available for free, captures the key insights and contributions shared during the DfMAy 2024 conference.
4. History (1)
JavaScript was created in 1995 by Brendan Eich for Netscape.
It was developed as Mocha and released as LiveScript.
It was quickly renamed to JavaScript, as a
marketing move due to Java’s popularity.
New name caused a significant
misunderstanding of the language.
Language was created „in a week” and released incomplete.
Ambitious design influenced by Java, Perl, Scheme and Self.
5. History (2)
Microsoft released JScript for IE 3.0 in 1996.
Browser Wars: CSS, DOM, Scripting, Dynamic HTML ...
Netscape delivered JavaScript to Ecma International for
standardization in 1996.
ECMAScript was accepted as the compromised trade name.
6. History (3)
Release Year Changes
1 1997 First edition
2 1998
Editorial changes to keep the specification
fully aligned with ISO/IEC 16262
international standard
3 1999
Added regular expressions, better string
handling, new control statements, try/catch
exception handling, tighter definition of
errors, formatting for numeric output and
other enhancements
4 -
Abandoned due to political differences
concerning language complexity.
7. History (4)
Release Year Changes
5 2009
Adds strict mode, a subset intended to
provide more thorough error checking,
avoid error-prone constructs and clarifies
many ambiguities. Adds some new
features, such as getters and setters and
library support for JSON.
5.1 2011
Aligned with third edition of the ISO/IEC
16262:2011.
6 2015 ECMAScript Harmony or ES6 Harmony.
7 ... Work in progress.
10. Tooling
JS-to-JS transpiler is currently required to run ES6.
Transpiler compiles code from the latest version into older
versions of the language.
As browser support gets better
ES7 and ES8 will be transpilled
into ES6 and beyond.
Transpilers like Babel also provide
human-readable output.
12. Let & Const
Let and const are alternatives to var when declaring variables.
Let is block-scoped instead of lexically scoped to a function.
Let is hoisted to the top of the block, while var declarations
are hoisted to top of the function.
for(let i = 0, l = list.length; i < l; i++) {
// do something with list[i]
}
console.log(i); // undefined
13. Let & Const
Const is also block-scoped, hoisted and must be initialized
Assigning to const after initialization fails silently
(or with an exception under strict mode).
const MY_CONSTANT = 1;
MY_CONSTANT = 2 // Error, attempt to change
const SOME_CONST; // Error, not initialized
Object properties can still be changed
const MY_OBJECT = {some: 1};
MY_OBJECT.some = 'body';
14. Template Strings
Template strings provide syntactic sugar for constructing
strings similar to string interpolation features in Perl, Python..
var text = (
`foo
bar
baz`)
var name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`
15. Destructuring
Destructuring provides binding using pattern matching,
with support for matching arrays and objects.
// Array matching
var list = [ 1, 2, 3 ]
var [ a, , b ] = list // a=1, b=3
[ b, a ] = [ a, b ] // a=3, b=1
// Object matching
var robotA = { name: "Bender" };
var robotB = { name: "Flexo" };
var { name: nameA } = robotA;
console.log(nameA); // "Bender„
var { name: nameB } = robotB;
console.log(nameB); // "Flexo"
// Fail-soft matching
var [missing] = [];
console.log(missing); // undefined
16. Object Literals
Object literals are extended with several new features:
var obj = {
// __proto__
__proto__: theProtoObj,
// Shorthand for ‘handler: handler’
handler,
// Methods
toString() {
// Super calls
return "d " + super.toString();
},
// Computed (dynamic) property names
[ 'prop_' + (() => 42)() ]: 42
};
18. Arrow Functions
Arrows are a function shorthand using the
param => return_value syntax:
// Expression bodies
var odds = evens.map(v => v + 1);
var nums = evens.map((v, i) => v + i);
var pairs = evens.map(v => ({even: v, odd: v + 1}));
// Statement bodies
nums.forEach(v => {
if (v % 5 === 0)
fives.push(v);
});
19. Arrow Functions
Arrow functions inherit THIS value from the enclosing scope:
this.nums.forEach((v) => {
if (v % 5 === 0)
this.fives.push(v)
})
In ES5 we have to use self/that trick:
var self = this;
this.nums.forEach(function (v) {
if (v % 5 === 0)
self.fives.push(v);
})
21. Classes (1)
ES6 classes are syntactic sugar over the
prototype-based OO pattern.
Classes are a well-debated feature of ES6.
Some believe that they go against the prototypal nature of
JavaScript, while others think they lower the entry barrier
for beginners and people coming from other languages.
22. Classes (2)
class Vehicle {
constructor(name) {
this.name = name;
this.kind = 'vehicle';
}
getName() {
return this.name;
}
}
// Create an instance
let myVehicle = new Vehicle('rocky');
24. Iterators
let fibonacci = {
[Symbol.iterator]() { // default iterator for an object.
let pre = 0, cur = 1;
return {
next() { // required method
[pre, cur] = [cur, pre + cur];
return { done: false, value: cur }
}
}
}
}
25. For .. of Loop
For .. of loop is new loop for all iterables.
It starts by calling the [Symbol.iterator]() method
which returns a new iterator object.
An iterator object can be any object with a next() method.
for (var n of fibonacci) {
// truncate the sequence at 1000
if (n > 1000)
break;
console.log(n);
}
26. Map + Set
// Maps
var m = new Map();
m.set("hello", 42);
m.set(s, 34);
m.get(s) == 34;
// Sets
var s = new Set();
s.add("hello").add("goodbye").add("hello");
s.size === 2;
s.has("hello") === true;
27. WeakMap + WeakSet
Weak collections allow GC collection of their keys.
// Weak Maps
var wm = new WeakMap();
wm.set(s, { extra: 42 });
wm.size === undefined
// Weak Collections are not enumerable and do not have size
// Weak Sets
var ws = new WeakSet();
ws.add({ data: 42 });
// If data has no other references, it can be GC collected
29. Modules (1)
Language-level support for modules for component definition.
Codifies patterns from AMD, CommonJS, RequireJS ...
Runtime behaviour defined by a host-defined default loader.
Implicitly async model – no code executes until requested
modules are available and processed.
30. Modules (2)
// lib/math.js
export function sum(x, y) {
return x + y;
}
export var pi = 3.141593;
// app.js
import * as math from "lib/math";
alert("2π = " + math.sum(math.pi, math.pi));
32. Promises
Promises are used for asynchronous programming.
Promises are first class representation of a value that may
be made available in the future.
It is a proxy for a value that will eventually become available.
Promises are used in many existing JavaScript libraries.
33. Promises
function resolveUnderThreeSeconds (delay) {
return new Promise(function (resolve, reject) {
setTimeout(resolve, delay);
// once a promise is settled, it’s result can’t change
setTimeout(reject, 3000);
})
}
resolveUnderThreeSeconds(2000); // resolves!
resolveUnderThreeSeconds(7000);
// fulfillment took so long, it was rejected.
35. Future releases (1)
ES7 is due 12 months after ES6.
TC39 (the ECMAScript standard committee)
is embracing 12 month release cycle.
New, naming convention:
ES6 = ES2015
ES7 = ES2016
ES8 = ES2017 ...
Completed features will be published once a year,
others will be scheduled for the next release.
36. Future releases (2)
„ECMAScript is a vibrant language and the evolution of the
language is not complete. Significant technical enhancement
will continue with future editions of this specification.”
... ES 5 specification
37. Future releases (3)
New proposed features for ES7:
• concurrency and atomics,
• zero-copy binary data transfer,
• number and math enhancements,
• observable streams,
• better metaprogramming with classes,
• class and instance properties,
• operator overloading,
• value types (first-class primitive-like objects),
• records, tuples, traits ...