SlideShare une entreprise Scribd logo
1  sur  8
Basic Fix Message Implementation using QuickFix.Net<br />Purpose<br />Purpose of this document is give brief detail about FIX and basic Implementation of messages using QuickFix dotnet library.<br />First of All we need to know what is FIX protocol.<br />What is FIX protocol?<br />It is a series of messaging specifications for the electronic communication of trade-related messages. It has been developed through the collaboration of banks, broker-dealers, exchanges, industry utilities and associations, institutional investors, and information technology providers from around the world. These market participants share a vision of a common, global language for the automated trading of financial instruments. <br />Most of the exchanges use this standard for communication like sending Order, Executions, MarketData etc. There are many versions of specifications released by FIX organization like 4.0, 4.2, 5.0 etc. <br />You can read more about FIX on http://www.fixprotocol.org.<br />What is QuickFix?<br />QuickFIX is a free and open source implementation of the FIX protocol in various languages like c++, java, ruby, dotnet etc.<br />So let’s start with implementation of Fix Messages. I am going to create two application, server and client which we call as FixAcceptor and FixInitiator respectively.<br />Implementation with c#<br />To use QuickFix engine we’ll need to dlls quickfix_net.dll and quickfix_net_message.dll which can downloaded from QuickFix website.<br />I created one solution which has two projects FixAcceptor and FixInitiator. FixAcceptor is active as server and FixInitiator is client app. <br />FixAcceptor<br />To start FixAcceptor we need to configuration and configurations are put into acceptor.cfg which should pretty straight forward configurations like below:<br />[DEFAULT]<br />ConnectionType=acceptor<br />SocketAcceptPort=5001<br />SocketReuseAddress=Y<br />StartTime=00:00:00<br />EndTime=00:00:00<br />FileLogPath=log<br />FileStorePath=c:ixfiles<br />[SESSION]<br />BeginString=FIX.4.2<br />SenderCompID=EXECUTOR<br />TargetCompID=CLIENT1<br />DataDictionary=c:serekodeIX test Appata DictionaryIX42.xml<br />Connection type tells, this application will run as Acceptor which is server.<br />SocketAcceptPort: listening port.<br />Session tag: is having configuration for creating session between client application (initiator) and acceptor.<br />BegingString: this sets session will work on which Fix Message specification,<br />SenderCompID:Id of server which will listen and send messages.<br />TargetCompID=Id of client to which server will send messages.<br />DataDictionary: Path of data dictionary file which is xml format, this file is having message specifications according to various specifications versions.<br />SourceCode<br />To start any session with Fix, we need to create Class which should implement QuickFix.Application interface. It has following methods to be implement:<br />public interface Application<br />    {<br />        void fromAdmin(Message __p1, SessionID __p2);<br />        void fromApp(Message __p1, SessionID __p2);<br />        void onCreate(SessionID __p1);<br />        void onLogon(SessionID __p1);<br />        void onLogout(SessionID __p1);<br />        void toAdmin(Message __p1, SessionID __p2);<br />        void toApp(Message __p1, SessionID __p2);<br />    }<br />There is also need to inherit MessageCracker class which has some virtual methods to handle messages like: below method invokes when any Order send by client then this method send execution report of this order to client. ExecutionReport can be Filled, Cancelled etc. Filled Execution Report means order has been successfully executed on exchange.<br />public override void onMessage(QuickFix42.NewOrderSingle order, SessionID sessionID)<br />      {<br />            Symbol symbol = new Symbol();<br />            Side side = new Side();<br />            OrdType ordType = new OrdType();<br />            OrderQty orderQty = new OrderQty();<br />            Price price = new Price();<br />            ClOrdID clOrdID = new ClOrdID();<br />            order.get(ordType);<br />            if (ordType.getValue() != OrdType.LIMIT)<br />                throw new IncorrectTagValue(ordType.getField());<br />            order.get(symbol);<br />            order.get(side);<br />            order.get(orderQty);<br />            order.get(price);<br />            order.get(clOrdID);<br />            QuickFix42.ExecutionReport executionReport = new QuickFix42.ExecutionReport<br />                                                    (genOrderID(),<br />                                                      genExecID(),<br />                                                      new ExecTransType(ExecTransType.NEW),<br />                                                      new ExecType(ExecType.FILL),<br />                                                      new OrdStatus(OrdStatus.FILLED),<br />                                                      symbol,<br />                                                      side,<br />                                                      new LeavesQty(0),<br />                                                      new CumQty(orderQty.getValue()),<br />                                                      new AvgPx(price.getValue()));<br />            executionReport.set(clOrdID);<br />            executionReport.set(orderQty);<br />            executionReport.set(new LastShares(orderQty.getValue()));<br />            executionReport.set(new LastPx(price.getValue()));<br />            if (order.isSetAccount())<br />                executionReport.set(order.getAccount());<br />            try<br />            {<br />                Session.sendToTarget(executionReport, sessionID);<br />            }<br />            catch (SessionNotFound) { }<br />}<br />Session.sendToTarget(executionReport, sessionID);<br />Above statement sends executionReport object to session which is built between client and server.<br />Start FixAcceptor Application<br />[STAThread]<br />        static void Main(string[] args)<br />        {<br />                SessionSettings settings = new SessionSettings(@quot;
acceptor.cfgquot;
);<br />                FixServerApplication application = new FixServerApplication();<br />                FileStoreFactory storeFactory = new FileStoreFactory(settings);<br />                ScreenLogFactory logFactory = new ScreenLogFactory(settings);<br />                MessageFactory messageFactory = new DefaultMessageFactory();<br />                SocketAcceptor acceptor<br />                  = new SocketAcceptor(application, storeFactory, settings, logFactory, messageFactory);<br />                acceptor.start();<br />                Console.WriteLine(quot;
press <enter> to quitquot;
);<br />                Console.Read();<br />                acceptor.stop();<br />}<br />Steps:<br />,[object Object]
Create object of Application Class.
Create Object of SocketAcceptor class by passing SessionSettings.
Run Start method of acceptor object.Start FixInitiator<br />To start FixAcceptor we need to configuration and configurations are put into acceptor.cfg which should pretty straight forward configurations like below:<br />[DEFAULT]<br />ConnectionType=initiator<br />HeartBtInt=30<br />ReconnectInterval=1<br />FileStorePath=c:ixfiles<br />FileLogPath=log<br />StartTime=00:00:00<br />EndTime=00:00:00<br />UseDataDictionary=N<br />SocketConnectHost=localhost<br />[SESSION]<br />BeginString=FIX.4.2<br />SenderCompID=CLIENT1<br />TargetCompID=FixServer<br />SocketConnectPort=5001<br />Connection type tells, this application will run as Acceptor which is server.<br />SocketAcceptPort: listening port.<br />Session tag: is having configuration for creating session between client application (initiator) and acceptor.<br />BegingString: this sets session will work on which Fix Message specification,<br />SenderCompID: Id of client which will send messages.<br />TargetCompID: Id of server to which server will listen messages<br />DataDictionary: Path of data dictionary file which is xml format, this file is having message specifications according to various specifications versions.<br />SourceCode<br />To start any session with Fix, we need to create Class which should implement QuickFix.Application interface.<br />public class ClientInitiator : QuickFix.Application<br />    {<br />        public void onCreate(QuickFix.SessionID value)<br />        {<br />            //Console.WriteLine(quot;
Message OnCreatequot;
 + value.toString());<br />        }<br />        public void onLogon(QuickFix.SessionID value)<br />        {<br />            //Console.WriteLine(quot;
OnLogonquot;
 + value.toString());<br />        }<br />        public void onLogout(QuickFix.SessionID value)<br />        {<br />            // Console.WriteLine(quot;
Log out Sessionquot;
 + value.toString());<br />        }<br />        public void toAdmin(QuickFix.Message value, QuickFix.SessionID session)<br />        {<br />            //Console.WriteLine(quot;
Called Admin :quot;
 + value.ToString());<br />        }<br />        public void toApp(QuickFix.Message value, QuickFix.SessionID session)<br />        {<br />            //  Console.WriteLine(quot;
Called toApp :quot;
 + value.ToString());<br />        }<br />        public void fromAdmin(QuickFix.Message value, SessionID session)<br />        {<br />            // Console.WriteLine(quot;
Got message from Adminquot;
 + value.ToString());<br />        }<br />        public void fromApp(QuickFix.Message value, SessionID session)<br />        {<br />            if (value is QuickFix42.ExecutionReport)<br />            {<br />                QuickFix42.ExecutionReport er = (QuickFix42.ExecutionReport)value;<br />                ExecType et = (ExecType)er.getExecType();<br />                if (et.getValue() == ExecType.FILL)<br />                {<br />                    //TODO: implement code<br />                }<br />            }<br />            Console.WriteLine(quot;
Got message from Appquot;
 + value.ToString());<br />        }<br />  }<br />/// <summary><br />        /// The main entry point for the application.<br />        /// </summary><br />        //[STAThread]<br />        static void Main()<br />        {<br />            ClientInitiator app = new ClientInitiator();<br />            SessionSettings settings = new SessionSettings(@quot;
c:sersekodeIX test Appnitiator.cfgquot;
);<br />            QuickFix.Application application = new ClientInitiator();<br />            FileStoreFactory storeFactory = new FileStoreFactory(settings);<br />            ScreenLogFactory logFactory = new ScreenLogFactory(settings);<br />            MessageFactory messageFactory = new DefaultMessageFactory();<br />            SocketInitiator initiator = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);<br />            initiator.start();<br />            Thread.Sleep(3000);<br />            SessionID sessionID = (SessionID)list[0];            QuickFix42.NewOrderSingle order = new QuickFix42.NewOrderSingle(new ClOrdID(quot;
DLFquot;
), new HandlInst(HandlInst.MANUAL_ORDER), new Symbol(quot;
DLFquot;
), new Side(Side.BUY), new TransactTime(DateTime.Now), new OrdType(OrdType.LIMIT));<br />            order.set(new OrderQty(45));<br />            order.set(new Price(25.4d));<br />            Session.sendToTarget(order, sessionID);<br />            Console.ReadLine();<br />            initiator.stop();<br />        }<br />Steps:<br />,[object Object]
Create object of SessionSettings class.
Create SocketInitiator class.
Run Start method.
Create session id.How to Send Order.<br />Create order object of NewOrderSingle class. Set type of order, symbol,side etc and send order by SendToTarget method.<br />   QuickFix42.NewOrderSingle order = new QuickFix42.NewOrderSingle(new ClOrdID(quot;
DLFquot;
), new HandlInst(HandlInst.MANUAL_ORDER), new Symbol(quot;
DLFquot;
), new Side(Side.BUY), new TransactTime(DateTime.Now), new OrdType(OrdType.LIMIT));<br />            order.set(new OrderQty(45));<br />            order.set(new Price(25.4d));<br />            Session.sendToTarget(order, sessionID);<br />Receive Order Notification in client<br />You can receive sent order acknowledgement in FromApp method in application class.<br />public void fromApp(QuickFix.Message value, SessionID session)<br />        {<br />            if (value is QuickFix42.ExecutionReport)<br />            {<br />                QuickFix42.ExecutionReport er = (QuickFix42.ExecutionReport)value;<br />                ExecType et = (ExecType)er.getExecType();<br />                if (et.getValue() == ExecType.FILL)<br />                {<br />                    //TODO: implement code<br />                }<br />            }<br />            Console.WriteLine(quot;
Got message from Appquot;
 + value.ToString());<br />        }<br />Start Application<br />,[object Object]

Contenu connexe

Tendances

Java applet - java
Java applet - javaJava applet - java
Java applet - javaRubaya Mim
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
Lecture 2 keyword of C Programming Language
Lecture 2 keyword of C Programming LanguageLecture 2 keyword of C Programming Language
Lecture 2 keyword of C Programming LanguageSURAJ KUMAR
 
Constructors and destructors
Constructors and destructorsConstructors and destructors
Constructors and destructorsNilesh Dalvi
 
Classes, objects in JAVA
Classes, objects in JAVAClasses, objects in JAVA
Classes, objects in JAVAAbhilash Nair
 
In-depth analysis of Kotlin Flows
In-depth analysis of Kotlin FlowsIn-depth analysis of Kotlin Flows
In-depth analysis of Kotlin FlowsGlobalLogic Ukraine
 
Building Cloud-Native Applications with Helidon
Building Cloud-Native Applications with HelidonBuilding Cloud-Native Applications with Helidon
Building Cloud-Native Applications with HelidonDmitry Kornilov
 
Java DataBase Connectivity API (JDBC API)
Java DataBase Connectivity API (JDBC API)Java DataBase Connectivity API (JDBC API)
Java DataBase Connectivity API (JDBC API)Luzan Baral
 
Collectors in the Wild
Collectors in the WildCollectors in the Wild
Collectors in the WildJosé Paumard
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Conceptsthinkphp
 
Basic Java Programming
Basic Java ProgrammingBasic Java Programming
Basic Java ProgrammingMath-Circle
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSyrine Ben aziza
 
for loop in java
for loop in java for loop in java
for loop in java Majid Ali
 

Tendances (20)

5.Methods cs
5.Methods cs5.Methods cs
5.Methods cs
 
Functions in C
Functions in CFunctions in C
Functions in C
 
Java applet - java
Java applet - javaJava applet - java
Java applet - java
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Lecture 2 keyword of C Programming Language
Lecture 2 keyword of C Programming LanguageLecture 2 keyword of C Programming Language
Lecture 2 keyword of C Programming Language
 
Constructors and destructors
Constructors and destructorsConstructors and destructors
Constructors and destructors
 
Classes, objects in JAVA
Classes, objects in JAVAClasses, objects in JAVA
Classes, objects in JAVA
 
In-depth analysis of Kotlin Flows
In-depth analysis of Kotlin FlowsIn-depth analysis of Kotlin Flows
In-depth analysis of Kotlin Flows
 
Object oriented concepts
Object oriented conceptsObject oriented concepts
Object oriented concepts
 
Building Cloud-Native Applications with Helidon
Building Cloud-Native Applications with HelidonBuilding Cloud-Native Applications with Helidon
Building Cloud-Native Applications with Helidon
 
Java DataBase Connectivity API (JDBC API)
Java DataBase Connectivity API (JDBC API)Java DataBase Connectivity API (JDBC API)
Java DataBase Connectivity API (JDBC API)
 
Collectors in the Wild
Collectors in the WildCollectors in the Wild
Collectors in the Wild
 
Java Applets
Java AppletsJava Applets
Java Applets
 
Serie2
Serie2Serie2
Serie2
 
Files in c++
Files in c++Files in c++
Files in c++
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 
Basic Java Programming
Basic Java ProgrammingBasic Java Programming
Basic Java Programming
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrine
 
for loop in java
for loop in java for loop in java
for loop in java
 
C++ interview question
C++ interview questionC++ interview question
C++ interview question
 

En vedette

How to place orders through FIX Message
How to place orders through FIX MessageHow to place orders through FIX Message
How to place orders through FIX MessageNeeraj Kaushik
 
Intro To The FIX Protocol presented at BarCampNYC3
Intro To The FIX Protocol presented at BarCampNYC3 Intro To The FIX Protocol presented at BarCampNYC3
Intro To The FIX Protocol presented at BarCampNYC3 Brian Driscoll
 
BT 3510 Digital Cordless Telephone User Guide
BT 3510 Digital Cordless Telephone User GuideBT 3510 Digital Cordless Telephone User Guide
BT 3510 Digital Cordless Telephone User GuideTelephones Online
 
A Flash Crash Simulator: Analyzing HFT's Impact on Market Quality
A Flash Crash Simulator: Analyzing HFT's Impact on Market QualityA Flash Crash Simulator: Analyzing HFT's Impact on Market Quality
A Flash Crash Simulator: Analyzing HFT's Impact on Market QualityYoshi S.
 
Fix protocol an introduction (r motie)
Fix protocol   an introduction (r motie)Fix protocol   an introduction (r motie)
Fix protocol an introduction (r motie)Dr Richard Motie
 
FIX Protocol Overview.
FIX Protocol Overview.FIX Protocol Overview.
FIX Protocol Overview.aiQUANT
 
Algorithmic Trading and FIX Protocol
Algorithmic Trading and FIX ProtocolAlgorithmic Trading and FIX Protocol
Algorithmic Trading and FIX ProtocolEXANTE
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングKohsuke Yuasa
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great InfographicsSlideShare
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShareKapost
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareEmpowered Presentations
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation OptimizationOneupweb
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingContent Marketing Institute
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

En vedette (17)

How to place orders through FIX Message
How to place orders through FIX MessageHow to place orders through FIX Message
How to place orders through FIX Message
 
Intro To The FIX Protocol presented at BarCampNYC3
Intro To The FIX Protocol presented at BarCampNYC3 Intro To The FIX Protocol presented at BarCampNYC3
Intro To The FIX Protocol presented at BarCampNYC3
 
BT 3510 Digital Cordless Telephone User Guide
BT 3510 Digital Cordless Telephone User GuideBT 3510 Digital Cordless Telephone User Guide
BT 3510 Digital Cordless Telephone User Guide
 
A Flash Crash Simulator: Analyzing HFT's Impact on Market Quality
A Flash Crash Simulator: Analyzing HFT's Impact on Market QualityA Flash Crash Simulator: Analyzing HFT's Impact on Market Quality
A Flash Crash Simulator: Analyzing HFT's Impact on Market Quality
 
Fix protocol an introduction (r motie)
Fix protocol   an introduction (r motie)Fix protocol   an introduction (r motie)
Fix protocol an introduction (r motie)
 
FIX Protocol Overview.
FIX Protocol Overview.FIX Protocol Overview.
FIX Protocol Overview.
 
Algorithmic Trading and FIX Protocol
Algorithmic Trading and FIX ProtocolAlgorithmic Trading and FIX Protocol
Algorithmic Trading and FIX Protocol
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
 
C++ マルチスレッド 入門
C++ マルチスレッド 入門C++ マルチスレッド 入門
C++ マルチスレッド 入門
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similaire à Quick Fix Sample

Refactoring and code smells
Refactoring and code smellsRefactoring and code smells
Refactoring and code smellsPaul Nguyen
 
MongoDB Stitch Tutorial
MongoDB Stitch TutorialMongoDB Stitch Tutorial
MongoDB Stitch TutorialMongoDB
 
Typed? Dynamic? Both! Cross-platform DSLs in C#
Typed? Dynamic? Both! Cross-platform DSLs in C#Typed? Dynamic? Both! Cross-platform DSLs in C#
Typed? Dynamic? Both! Cross-platform DSLs in C#Vagif Abilov
 
Lo Mejor Del Pdc2008 El Futrode C#
Lo Mejor Del Pdc2008 El Futrode C#Lo Mejor Del Pdc2008 El Futrode C#
Lo Mejor Del Pdc2008 El Futrode C#Juan Pablo
 
13 networking, mobile services, and authentication
13   networking, mobile services, and authentication13   networking, mobile services, and authentication
13 networking, mobile services, and authenticationWindowsPhoneRocks
 
Reactive programming every day
Reactive programming every dayReactive programming every day
Reactive programming every dayVadym Khondar
 
Vaadin today and tomorrow
Vaadin today and tomorrowVaadin today and tomorrow
Vaadin today and tomorrowJoonas Lehtinen
 
Oleksandr Valetskyy - DI vs. IoC
Oleksandr Valetskyy - DI vs. IoCOleksandr Valetskyy - DI vs. IoC
Oleksandr Valetskyy - DI vs. IoCOleksandr Valetskyy
 
Working effectively with legacy code
Working effectively with legacy codeWorking effectively with legacy code
Working effectively with legacy codeShriKant Vashishtha
 
Speed up your Web applications with HTML5 WebSockets
Speed up your Web applications with HTML5 WebSocketsSpeed up your Web applications with HTML5 WebSockets
Speed up your Web applications with HTML5 WebSocketsYakov Fain
 
A GWT Application with MVP Pattern Deploying to CloudFoundry using Spring Roo
A GWT Application with MVP Pattern Deploying to CloudFoundry using  Spring Roo A GWT Application with MVP Pattern Deploying to CloudFoundry using  Spring Roo
A GWT Application with MVP Pattern Deploying to CloudFoundry using Spring Roo Ali Parmaksiz
 
How to build an AOP framework in ActionScript
How to build an AOP framework in ActionScriptHow to build an AOP framework in ActionScript
How to build an AOP framework in ActionScriptChristophe Herreman
 
Vaadin 7 Today and Tomorrow
Vaadin 7 Today and TomorrowVaadin 7 Today and Tomorrow
Vaadin 7 Today and TomorrowJoonas Lehtinen
 

Similaire à Quick Fix Sample (20)

Ac2
Ac2Ac2
Ac2
 
Clean coding-practices
Clean coding-practicesClean coding-practices
Clean coding-practices
 
#JavaFX.forReal() - ElsassJUG
#JavaFX.forReal() - ElsassJUG#JavaFX.forReal() - ElsassJUG
#JavaFX.forReal() - ElsassJUG
 
Refactoring and code smells
Refactoring and code smellsRefactoring and code smells
Refactoring and code smells
 
MongoDB Stitch Tutorial
MongoDB Stitch TutorialMongoDB Stitch Tutorial
MongoDB Stitch Tutorial
 
Typed? Dynamic? Both! Cross-platform DSLs in C#
Typed? Dynamic? Both! Cross-platform DSLs in C#Typed? Dynamic? Both! Cross-platform DSLs in C#
Typed? Dynamic? Both! Cross-platform DSLs in C#
 
Bot builder v4 HOL
Bot builder v4 HOLBot builder v4 HOL
Bot builder v4 HOL
 
Vaadin7
Vaadin7Vaadin7
Vaadin7
 
Lo Mejor Del Pdc2008 El Futrode C#
Lo Mejor Del Pdc2008 El Futrode C#Lo Mejor Del Pdc2008 El Futrode C#
Lo Mejor Del Pdc2008 El Futrode C#
 
13 networking, mobile services, and authentication
13   networking, mobile services, and authentication13   networking, mobile services, and authentication
13 networking, mobile services, and authentication
 
Reactive programming every day
Reactive programming every dayReactive programming every day
Reactive programming every day
 
Vaadin today and tomorrow
Vaadin today and tomorrowVaadin today and tomorrow
Vaadin today and tomorrow
 
Oleksandr Valetskyy - DI vs. IoC
Oleksandr Valetskyy - DI vs. IoCOleksandr Valetskyy - DI vs. IoC
Oleksandr Valetskyy - DI vs. IoC
 
Working effectively with legacy code
Working effectively with legacy codeWorking effectively with legacy code
Working effectively with legacy code
 
Vaadin 7
Vaadin 7Vaadin 7
Vaadin 7
 
Speed up your Web applications with HTML5 WebSockets
Speed up your Web applications with HTML5 WebSocketsSpeed up your Web applications with HTML5 WebSockets
Speed up your Web applications with HTML5 WebSockets
 
A GWT Application with MVP Pattern Deploying to CloudFoundry using Spring Roo
A GWT Application with MVP Pattern Deploying to CloudFoundry using  Spring Roo A GWT Application with MVP Pattern Deploying to CloudFoundry using  Spring Roo
A GWT Application with MVP Pattern Deploying to CloudFoundry using Spring Roo
 
How to build an AOP framework in ActionScript
How to build an AOP framework in ActionScriptHow to build an AOP framework in ActionScript
How to build an AOP framework in ActionScript
 
Vaadin 7 Today and Tomorrow
Vaadin 7 Today and TomorrowVaadin 7 Today and Tomorrow
Vaadin 7 Today and Tomorrow
 
OpenCMIS Part 1
OpenCMIS Part 1OpenCMIS Part 1
OpenCMIS Part 1
 

Plus de Neeraj Kaushik

C-Sharp Arithmatic Expression Calculator
C-Sharp Arithmatic Expression CalculatorC-Sharp Arithmatic Expression Calculator
C-Sharp Arithmatic Expression CalculatorNeeraj Kaushik
 
Implement Search Screen Using Knockoutjs
Implement Search Screen Using KnockoutjsImplement Search Screen Using Knockoutjs
Implement Search Screen Using KnockoutjsNeeraj Kaushik
 
Multithreading Presentation
Multithreading PresentationMultithreading Presentation
Multithreading PresentationNeeraj Kaushik
 
Concurrent Collections Object In Dot Net 4
Concurrent Collections Object In Dot Net 4Concurrent Collections Object In Dot Net 4
Concurrent Collections Object In Dot Net 4Neeraj Kaushik
 
Parallel Programming With Dot Net
Parallel Programming With Dot NetParallel Programming With Dot Net
Parallel Programming With Dot NetNeeraj Kaushik
 
DotNet &amp; Sql Server Interview Questions
DotNet &amp; Sql Server Interview QuestionsDotNet &amp; Sql Server Interview Questions
DotNet &amp; Sql Server Interview QuestionsNeeraj Kaushik
 

Plus de Neeraj Kaushik (11)

Futures_Options
Futures_OptionsFutures_Options
Futures_Options
 
No sql
No sqlNo sql
No sql
 
C-Sharp Arithmatic Expression Calculator
C-Sharp Arithmatic Expression CalculatorC-Sharp Arithmatic Expression Calculator
C-Sharp Arithmatic Expression Calculator
 
Implement Search Screen Using Knockoutjs
Implement Search Screen Using KnockoutjsImplement Search Screen Using Knockoutjs
Implement Search Screen Using Knockoutjs
 
Linq Introduction
Linq IntroductionLinq Introduction
Linq Introduction
 
Multithreading Presentation
Multithreading PresentationMultithreading Presentation
Multithreading Presentation
 
Concurrent Collections Object In Dot Net 4
Concurrent Collections Object In Dot Net 4Concurrent Collections Object In Dot Net 4
Concurrent Collections Object In Dot Net 4
 
Parallel Programming With Dot Net
Parallel Programming With Dot NetParallel Programming With Dot Net
Parallel Programming With Dot Net
 
DotNet &amp; Sql Server Interview Questions
DotNet &amp; Sql Server Interview QuestionsDotNet &amp; Sql Server Interview Questions
DotNet &amp; Sql Server Interview Questions
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
 

Dernier

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Dernier (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Quick Fix Sample