Alternatives of JPA
Requery provide simple Object Mapping & Generate SQL to execute without reflection and session, so fast than JPA, simple and easy to learn.
Spring Data Requery is alternatives of Spring Data JPA
Requery is lightweight ORM for DBMS (MySQL, PostgreSQL, H2, SQLite, Oracle, SQL Server)
Spring Data Requery provide Query By Native Query, Query By Example and Query By Property like Spring Data JPA
Spring Data Requery is better performance than JPA
Alternatives of JPA
Requery provide simple Object Mapping & Generate SQL to execute without reflection and session, so fast than JPA, simple and easy to learn.
Spring Data Requery is alternatives of Spring Data JPA
Requery is lightweight ORM for DBMS (MySQL, PostgreSQL, H2, SQLite, Oracle, SQL Server)
Spring Data Requery provide Query By Native Query, Query By Example and Query By Property like Spring Data JPA
Spring Data Requery is better performance than JPA
Connect 2016-Move Your XPages Applications to the Fast LaneHoward Greenberg
Are your XPages applications performing like a Florida senior citizen driving in the left lane at 55 mph? A key to speeding up your XPages applications is knowledge of the JSF lifecycle, partial refresh and partial execution. This session will cover these concepts and then apply them to optimizing an XPages application. Learn how to use tools to measure the performance of your XPages and determine where the bottlenecks are. Several sample applications will be analyzed along with alternative programming choices to improve their performance. Learn how to dramatically increase your XPages performance and make your users happy - you might even get a speeding ticket after this session!
Im zweiten Teil seiner OData Session zeigt Rainer Stropek, wie man eigene OData-Provider entwickelt. In einem durchgängigen Beispiel demonstriert er, wie man erst einen LINQ-Provider und darauf aufbauend einen OData-konformen REST Service erstellt und von verschiedenen Programmiersprachen und Tools darauf zugreift. In der Session werden Grundkenntnisse von OData und LINQ vorausgesetzt.
Presented at BJUG, 6/12/2012 by Roger Brinkley
This talk is on 55 new features in Java 7 you (probably) didn't hear about in an ignite format of one per minute. No stopping, no going back....Questions, sure but only if time remains (otherwise save for later).
A presentation at Twitter's official developer conference, Chirp, about why we use the Scala programming language and how we build services in it. Provides a tour of a number of libraries and tools, both developed at Twitter and otherwise.
Using Kotlin, to Create Kotlin,to Teach Kotlin,in SpaceGarth Gilmour
Talk delivered at the Kotliners 2020 conference. Covering how Instil used the Kotlin Space DSL to automatically populate Space instances used in coding workshops.
A new compact XML algorithm without any dependencies. Its implemented as a rubygem to provide Non-native XML parser for particular usages. RubyGem at http://rubygems.org/gems/xml-motor and https://github.com/abhishekkr/rubygem_xml_motor
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.
C7 Victim rights’ and the right to a fair trialVSE 2016
(Alex Sas, Slachtofferhulp Nederland)
Human rights play an important role in the criminal procedure. Traditionally, they provide protection to the accused. These rights are firmly anchored in the European Convention on Human Rights. But what about the rights of the victim? The European Directive sets out the rights assigned to the victim, but how do they relate to the rights of the accused? Is the victim also entitled to a fair trial?
Anne-Marie Wolf (ASP/Wolf Advocaten), Edwin Bosch (ASP/VBS Advocaten) & Alex Sas (Slachtofferhulp Nederland)
We would like to take you with us in our daily experiences and show you some of the problems we meet in giving the victim good protection during the criminal trial (safety, privacy, avoid secondary victimization).
During the workshop we hope to work with:
• A debating session (plenary debate with participant using voting cards or interactive voting methods);
• A casuistic session (discussion relevant issues using real life cases or victims’ stories);
• further on we hope to get some support of case managers working in Victim Support Holland
We (Anne-Marie Wolf & Edwin Bosch) are both members of the board of the association of ASP (Advocaten voor Slachtoffers van Personenschade / Lawyers working with victims off personal injury) and both personal injury lawyers, specialist in the support of victims of severe criminal misconduct (modern slavery, rape).
Connect 2016-Move Your XPages Applications to the Fast LaneHoward Greenberg
Are your XPages applications performing like a Florida senior citizen driving in the left lane at 55 mph? A key to speeding up your XPages applications is knowledge of the JSF lifecycle, partial refresh and partial execution. This session will cover these concepts and then apply them to optimizing an XPages application. Learn how to use tools to measure the performance of your XPages and determine where the bottlenecks are. Several sample applications will be analyzed along with alternative programming choices to improve their performance. Learn how to dramatically increase your XPages performance and make your users happy - you might even get a speeding ticket after this session!
Im zweiten Teil seiner OData Session zeigt Rainer Stropek, wie man eigene OData-Provider entwickelt. In einem durchgängigen Beispiel demonstriert er, wie man erst einen LINQ-Provider und darauf aufbauend einen OData-konformen REST Service erstellt und von verschiedenen Programmiersprachen und Tools darauf zugreift. In der Session werden Grundkenntnisse von OData und LINQ vorausgesetzt.
Presented at BJUG, 6/12/2012 by Roger Brinkley
This talk is on 55 new features in Java 7 you (probably) didn't hear about in an ignite format of one per minute. No stopping, no going back....Questions, sure but only if time remains (otherwise save for later).
A presentation at Twitter's official developer conference, Chirp, about why we use the Scala programming language and how we build services in it. Provides a tour of a number of libraries and tools, both developed at Twitter and otherwise.
Using Kotlin, to Create Kotlin,to Teach Kotlin,in SpaceGarth Gilmour
Talk delivered at the Kotliners 2020 conference. Covering how Instil used the Kotlin Space DSL to automatically populate Space instances used in coding workshops.
A new compact XML algorithm without any dependencies. Its implemented as a rubygem to provide Non-native XML parser for particular usages. RubyGem at http://rubygems.org/gems/xml-motor and https://github.com/abhishekkr/rubygem_xml_motor
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.
C7 Victim rights’ and the right to a fair trialVSE 2016
(Alex Sas, Slachtofferhulp Nederland)
Human rights play an important role in the criminal procedure. Traditionally, they provide protection to the accused. These rights are firmly anchored in the European Convention on Human Rights. But what about the rights of the victim? The European Directive sets out the rights assigned to the victim, but how do they relate to the rights of the accused? Is the victim also entitled to a fair trial?
Anne-Marie Wolf (ASP/Wolf Advocaten), Edwin Bosch (ASP/VBS Advocaten) & Alex Sas (Slachtofferhulp Nederland)
We would like to take you with us in our daily experiences and show you some of the problems we meet in giving the victim good protection during the criminal trial (safety, privacy, avoid secondary victimization).
During the workshop we hope to work with:
• A debating session (plenary debate with participant using voting cards or interactive voting methods);
• A casuistic session (discussion relevant issues using real life cases or victims’ stories);
• further on we hope to get some support of case managers working in Victim Support Holland
We (Anne-Marie Wolf & Edwin Bosch) are both members of the board of the association of ASP (Advocaten voor Slachtoffers van Personenschade / Lawyers working with victims off personal injury) and both personal injury lawyers, specialist in the support of victims of severe criminal misconduct (modern slavery, rape).
C4 Cross border support for cross border victims: a knowledge sharing experimentVSE 2016
(Sonja Leferink, Slachtofferhulp Nederland)
This workshop session (90 minutes) is meant as an introduction to the effectiveness and also the fun of knowledge sharing sessions by addressing an urgent topic that needs a cross border strategy: support for cross border victims.
According to the EU directive, member States are obliged to provide non-residents with the same rights and provisions as nationals after victimisation. There is a European helpline for victims but it is operated in only a few countries. There is no structure or procedure in place to ensure that non-resident victims (such as tourists) receive information, support and compensation after having returned to their home country.
During this workshop we will identify the most urgent problems concerning the cross border support of victims. By applying simple but effective methods we will draw up a series of possible solutions that will be relatively easy and cheap to implement.
We want to finish by drafting a proposal for the Executive Board of the VSE for improving cross-border victim support by offering our analysis and solutions.
A3 What do victims want regarding restorative justice and how can we meet the...VSE 2016
(Mariëlle van der Berg, Victim in Focus, SIB)
Restorative Justice practices can meet a number of needs of victims. For example regarding compensation, recovery, restoration, participation, justice and protection. In this workshop we want to focus on the conditions of these needs and the role of Victim Support organisations and other partners to meet those conditions. Necessary conditions for a righteous restorative justice practice.
Restorative Justice in the Netherlands has two variants: Restorative Justice as a part of the criminal procedure (we call mediations) and restorative Justice positioned independently of/parallel to the criminal procedure (we call victim offender contact[1]).
In this workshop we give attention to 3 types of victims, assorted by their needs:
1. Victims who do not want mediation or victim offender contact at all
Victim Support and Victim in Focus are doing research on the reasons why victims do not want to engage in mediation or victim offender contact. In the workshop we present the research results and the implications these results have for the procedures of Victim Support and other partners.
2. Victims who want contact with the offender but explicitly independent to the criminal procedure
In this case victim offender contact is the option. But what if third parties, for example lawyers, connect the victim offender contact to the current criminal procedure? Is this shade side uncontrollable? How can we help victims to meet their rights?
3. Victims who want mediation, so that they can influence the course and outcome of the criminal procedure
Comparable research between the systems in the Netherlands, Austria and Finland gives insight in the effects of victim oriented, offender oriented and a neutral approach to mediation/victim offender contact. What are the cons and dangers of these approaches for victims’ rights? Do victims always know the consequences of their choices? How can we assure they have all the necessary information and they feel the freedom to choose?
How victims needs are met on all these 3 topics, will be discussed in the workshop by three different cases and three speakers. The focus will be on what Victim Support and other partners can do for victims in the light of restorative justice and in that way help them to recover from the crime.
B8 Cross-cultural and comparative victimologyVSE 2016
(Eva Mulder & Antony Pemberton, Intervict. Also representatives from APAV and LINC will participate in this workshop)
To what extent do cultural differences and diverse historical trajectories lead to different understandings, valuation and experiences of victimisation and the reaction to victimisation? This is the topic of a second workshop. It presents and discusses key findings from project IVOR (Implementing Victim-Oriented Reform of the Criminal Justice System in the European Union) which sought to ascertain the progress made in the development of the position of victims of crime across Europe. This project was led by APAV, in cooperation with INTERVICT, the Leuven Institute of Criminology (LINC) and VSE.
IVOR concerned three interrelated work-streams. The state of the art concerning the transposal of the EU-directive into legislation and practice, a review of the current empirical evidence base of the provisions of the Directive across Europe and an analysis of the different context in EU member states. The highlights of each of the results of the work-streams will be presented.
Subsequently we will invite participants to reflect with us, how given the diverse contexts in EU member states, and the relative lack of empirical research across large parts of the EU, we could best go about improving the position of victims, to achieve the Directive’s goal of minimum standards across the European Union. Can we advance on the current one-size-fits-all approach still underlying the EU’s efforts, and if so how?
B5 The recovery-phase in the aftermath of mass violence or terrorismVSE 2016
(Annelieke Drogendijk, Impact & Rob Sardemann, Slachtofferhulp Nederland)
The recovery-phase of a terrorist attack can range up to years and requires thoughtful strategic planning and action to address the impact of a terrorist attack for victims. Disaster recovery is an essential part of emergency management and a complex and challenging process that involves many stakeholders. Victim service providers, mental health specialists, the criminal justice system, investigation agencies and governmental departments must work together in the recovery-phase in the aftermath of mass violence or terrorism. In this workshop we will elaborate in what way the Netherlands is prepared for the recovery phase. We will also describe the recovery-phase after the shooting down of flight MH17 and share lessons learned.
A1 Youngsters victimization prevention: how to prevent online grooming and un...VSE 2016
(Elise Corbari, LIBRA)
Youngsters are always “online”, how they use technology to improve their sexual knowledge? What is the meaning of online relations for adolescents? How can a victim support service prevent unsafe behaviours in order to make adolescents aware about potentialities and risks of the online behaviours?
B2 Ondersteuning van slachtoffers van terrorisme / grensoverschrijdend slacht...VSE 2016
(An Verelst, Victim Support Europe & Victor Jammers, Slachtofferhulp Nederland)
Burgers van de Europese Unie worden steeds mobieler. Daarmee neemt ook de kans toe dat iemand slachtoffer wordt van een misdrijf in het buitenland. Naar schatting gaat het in de Europese Unie jaarlijks om circa twee miljoen burgers. Victim Support Europe heeft een studie uitgevoerd naar grensoverschrijdend slachtofferschap. Wat zijn de knelpunten die slachtoffers in die situaties ervaren bij het uitoefenen van hun slachtofferrechten? Denk daarbij aan aspecten als taal en cultuur, maar ook het feit dat een strafproces op honderden of duizenden kilometers afstand plaatsvindt. En wat zijn mogelijke oplossingen? Die vraagstukken doen zich ook voor na terroristische aanslagen als in Parijs en Brussel. Extra complicatie daarbij is het feit dat het vaak om grote aantallen slachtoffers in korte tijd gaat, die lang niet allemaal goed geregistreerd worden. Wat moet er voor deze slachtoffers georganiseerd worden voor de korte, middellange en lange termijn?
B8 Cross-cultural and comparative victimologyVSE 2016
(Eva Mulder & Antony Pemberton, Intervict. Also representatives from APAV and LINC will participate in this workshop)
To what extent do cultural differences and diverse historical trajectories lead to different understandings, valuation and experiences of victimisation and the reaction to victimisation? This is the topic of a second workshop. It presents and discusses key findings from project IVOR (Implementing Victim-Oriented Reform of the Criminal Justice System in the European Union) which sought to ascertain the progress made in the development of the position of victims of crime across Europe. This project was led by APAV, in cooperation with INTERVICT, the Leuven Institute of Criminology (LINC) and VSE.
IVOR concerned three interrelated work-streams. The state of the art concerning the transposal of the EU-directive into legislation and practice, a review of the current empirical evidence base of the provisions of the Directive across Europe and an analysis of the different context in EU member states. The highlights of each of the results of the work-streams will be presented.
Subsequently we will invite participants to reflect with us, how given the diverse contexts in EU member states, and the relative lack of empirical research across large parts of the EU, we could best go about improving the position of victims, to achieve the Directive’s goal of minimum standards across the European Union. Can we advance on the current one-size-fits-all approach still underlying the EU’s efforts, and if so how?
D4 Cross-border cases, especially murder abroadVSE 2016
(Marjo Searle-van Leeuwen, FNG-VOVK)
Cross-Border cases, especially murders abroad, cause untold extra problems for the bereaved families. Not only are they affected by the deep trauma of the murder of a loved one, but they are extremely vulnerable and need practical as well as emotional support in order to cope. They face enormous difficulties in repatriating the body, obtaining information, translating documents and understanding the judicial processes in another country, another language, another culture. There is no clear and established way to provide support, it has not been incorporated into most existing Victim Support organisations.
The UK Peer Support organisation "Murdered Abroad" (up to now known as SAMM-Abroad) has offered support and assistance, based on the experiences of their more than 200 members. In the Netherlands a group has been working in close relationship with SAMM-Abroad for the last 15 years, within the context of the FNG-VOVK formed by parents/relatives of murder victims. It is clear that there is at the moment a difference in levels of support, and that by taking better account of the needs of the bereaved, services could be made more effective.
What those needs are for Cross-Border cases will be discussed using a survey of the experiences of more than 50 of the families bereaved by murder abroad: "Who cares for the Families'.
Practical tips for building apps with kotlinAdit Lal
Kotlin with Android
Code snippets and explanation of how kotlin can help do better with less code, it would help to understand the various Kotlin-specific behaviors
This talk would help people to take a swing at kotlin and see it in action
Spring Day | Spring and Scala | Eberhard WolffJAX London
2011-10-31 | 09:45 AM - 10:30 AM
Spring is widely used in the Java world - but does it make any sense to combine it with Scala? This talk gives an answer and shows how and why Spring is useful in the Scala world. All areas of Spring such as Dependency Injection, Aspect-Oriented Programming and the Portable Service Abstraction as well as Spring MVC are covered.
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)lennartkats
Modern IDEs increase developer productivity by incorporating many different kinds of editor services. These can be purely syntactic, such as syntax highlighting, code folding, and an outline for navigation; or they can be based on the language semantics, such as in-line type error reporting and resolving identifier declarations. Building all these services from scratch requires both the extensive knowledge of the sometimes complicated and highly interdependent APIs and extension mechanisms of an IDE framework, and an in-depth understanding of the structure and semantics of the targeted language. This paper describes Spoofax/IMP, a meta-tooling suite that provides high-level domain-specific languages for describing editor services, relieving editor developers from much of the framework-specific programming. Editor services are defined as composable modules of rules coupled to a modular SDF grammar. The composability provided by the SGLR parser and the declaratively defined services allows embedded languages and language extensions to be easily formulated as additional rules extending an existing language definition. The service definitions are used to generate Eclipse editor plugins. We discuss two examples: an editor plugin for WebDSL, a domain-specific language for web applications, and the embedding of WebDSL in Stratego, used for expressing the (static) semantic rules of WebDSL.
An interactive Liferay (DXP) 7 Tech Meet up was codified by Azilen Technologies on 18th March, 2017 at Ahmedabad Management Association.
Those who have missed the direct confrontation can explore few of the knowledge elements here in the Presentation.
Slides from a talk and live-coding session about Koin, a pragmatic and lightweight Dependency Injection framework for Kotlin. This talk was given at Auckland Android Community on Dec 5.
https://www.meetup.com/Android-Meetup/events/256734688/
4. • Designed and developed by JetBrains
• Statically-typed programming language
• Compiles to JVM bytecode, runs on JVM
• v1.0 released on February 16, 2016
• Latest version 1.0.2 (Android Lint
Checks, method count reduced ~1500)
13. Kotlin Android Extensions
• Part of Kotlin IDEA plugin
• View binder library similar to
Butterknife
• Plugin for the Kotlin compiler
• Based on extensions properties
16. • Aims to eliminate NPE danger in code
• NPE can be thrown explicitly or by
usage of !! operator (for NPE lovers
:))
• By default references cannot be null
• Allow null with ? operator
17. Do not allow null values
data class Clip(val title: String)
data class FeedPost(var clip: Clip)
var data = FeedPost(Clip(null)) //Won't compile
Allow null values
data class Clip(val title: String?)
data class FeedPost(var clip: Clip?)
var data = FeedPost(Clip(null)) //Will compile
Results to
var data:FeedPost? = fetchFromBackend()
//Some code that maybe sets data reference
textView.text = (data?.clip?.title)
Java
if(data != null && data.clip != null && data.clip.title != null) {
//Code that uses data
}
What about this?
fun setText(title:String) {
}
setText(data?.clip?.title!!)
23. • A higher-order function takes
functions as parameter, or returns a
function
• A lambda expression or an anonymous
function is a function that is not
declared, but passed immediately as
an expression
24. Lambda syntax for MenuItemClickListener
var menuItemClickListenerLambdaFunction: (MenuItem) -> Boolean = { menuItem -> true }
Concise version
var menuItemClickListenerLambdaFunction = { menuItem: MenuItem ->
if (menuItem.itemId == R.id.menu_settings) {
true
}
false
}
MenuItemClickListener in Java
OnMenuItemClickListener onMenuItemClickListener = new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
return false;
}
};
25. Compared to lambdas in Java
• Retrolambda (replaces lambdas with
anonymous class through bytecode
manipulation)
• Compile with Android N (lambda is
compiled into class with constructor
and method)
• Increasing method count and creating
pressure on GC
• Kotlin generates bytecode from
lambdas using inline functions
27. • Inside kotlin.sequences
• Similar to Java 8 Streams API
• Implemented as extension functions
• zip, map, reduce, filter etc…
28. Suppose we have a collection of video clips, where
each clip has an id. We would like to store ids of
clips where the title length is less than 10
characters in a separate collection
Java
for(Clip item : items) {
if(item.getTitle().length() < 10) {
ids.add(item.getId());
}
}
Kotlin
items.map { it -> it.id }.filter { it -> it.length < 10 }.forEach { it -> ids.add(it) }
items.map { it.id }.filter { it.length < 10 }.forEach { ids.add(it) }
31. • Add functionality to a class without
extending it
• Support through extension functions
and extension properties
• Get rid of StringUtils, ViewUtils
classes
32. Extension properties
val <Context> Context.context: android.content.Context?
get() = getApplicationContext()
val <Activity> Activity.view_pager: android.support.v4.view.ViewPager?
get() = findViewById(R.id.view_pager) as android.support.v4.view.ViewPager?
33. • Prefix function name with class name
that we are extending
• All class methods and fields are
available inside the extension
function
• No actual classes are modified.
Functions are callable with the dot-
notation on instances of this class
Extension Functions
34. Example 1
Java
public static float convertDpToPixel(Context context, float dp){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
return dp * ((float)metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT);
}
Kotlin
fun Context.dpToPx(dp: Float): Int {
val resources = this.resources
val metrics = resources.displayMetrics
return (dp * (metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT)).toInt()
}
//Inside Activity
val dp = dpToPx(6f)
40. • Intented to hold data
• Auto generated equals(), hashCode(),
toString() and copy()
• At least one parameter in
constructor
• Can’t be abstract
• Can implement, can’t extend…for now
41. Example
data class Clip(val id: String, val title: String)
@PaperParcel
data class Clip(val id: String, val title: String) : PaperParcelable {
companion object {
@JvmField val CREATOR = PaperParcelable.Creator(Clip::class.java)
}
}
with Parcelable
46. Smart casts
• Cast by using is or !is operator
• Compiler tracks is-checks for
immutable values and inserts casts
automatically
47. Java
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (holder instanceof ViewHolderOne) {
ViewHolderOne holderOne = (ViewHolderOne) holder;
} else if (holder instanceof ViewHolderTwo) {
ViewHolderTwo holderTwo = (ViewHolderTwo) holder;
} else if (holder instanceof ViewHolderThree) {
ViewHolderThree holderThree = (ViewHolderThree) holder;
}
}
Example with binding view holder
48. Kotlin
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
if (holder is ViewHolderOne) {
val holderOne:ViewHolderOne = holder
} else if (holder is ViewHolderTwo) {
val holder:TwoViewHolderTwo = holder
} else if (holder is ViewHolderThree) {
val holder:ThreeViewHolderThree = holder
}
}
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) = when(holder){
is ClipAdapter.ViewHolderOne -> ...
is ClipAdapter.ViewHolderTwo -> ...
is ClipAdapter.ViewHolderThree -> ...
}
or even better
50. Example by extending a view
class ActivityView(context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0) : RelativeLayout(context, attrs, defStyleAttr){
constructor(context: Context):this(context, null, -1) {
}
constructor(context: Context, attrs: AttributeSet? ):this(context, attrs, -1) {
}
}
class ActivityView : RelativeLayout {
@JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0)
: super(context, attrs, defStyleAttr)
}
51. Future is bright
• Gradle scripting in Kotlin
• Incremental compilation
• Data class inheritance support
• Java 8/9 support
• Jack & Jill toolchain integration