​
Showing posts with label how. Show all posts
Showing posts with label how. Show all posts

Thursday, 20 July 2017

Cross database pagination problem and how we solved it

Cross database pagination problem and how we solved it


When we are developing a webapp with any type of listing, pagination is a must have feature. From the UI perspective we can use infinite scrolling or pages approach.

If you are familiar with google search this is how google uses the second approach,



Now the problem is how we generate listing for a particular page?
Lets take a hypothetical library application where we need to list down existing books, assume we need to list 10 books per page.

This is how we query books to generate the 1st page,
SELECT * FROM BOOKS LIMIT 10;
to generate the 2nd page,
SELECT * FROM BOOKS LIMIT 10 OFFSET 10;
So easy,  by providing the offset value we can dynamically generate our pages.

BUT can we use the same across database types?

If you know the exact backend DB type you gonna use in production, lucky you!
But if you are developing a product which needs to support multiple DB types (MySQL, Oracle, Postgres, H2 ....) above query will fail in some of them. For example above will work in MySQL, H2 and Postgres but will not work in Oracle.

In Oracle 11g you can run following but not in 12c
SELECT *
FROM (
SELECT b.*, ROWNUM RN
FROM (
SELECT *
FROM BOOKS
ORDER BY ID ASC
) b
WHERE ROWNUM <= 10
)
WHERE RN > 10
 
Now lets discuss how we solved this problem. Following is high-level architecture of the solution.







In this scenario we have exposed all CRUD operations as OSGI services to the outside world. This component may or may not have DB specific logic. But for sure we dont have any DB type specific logic within our main OSGI component. We have delegated all those DB type specific logic to the DB Adapter.

What are the DB type specific things we can have?

1. Above pagination related stuff (LIMIT, OFFSET)
2. Auto generate key usage(getGenaratedKeys)

How to load correct DB Adapter class through reflection

We can maintain a configuration file where we state the DB Adapter class. Then read that class name within our main component and use/call through reflection.

Reference

http://www.jooq.org/doc/3.5/manual/sql-building/sql-statements/select-statement/limit-clause/

{ Read More }


Wednesday, 24 May 2017

Crack Adobe Products How To Crack Adobe Softwares Manually

Crack Adobe Products How To Crack Adobe Softwares Manually



 Today i am going to explain one more software cracking tutorial to crack Adobe software or products manually. By using this trick you can crack all adobe softwares like Adobe Photoshop, Adobe Creative Suite, Adobe Dreamweaver, Adobe Lightroom, Adobe Fireworks, Adobe Premiere Pro, Adobe illustrator, Adobe Flash, Adobe Director etc.
As all know the problem with downloading already cracked programs from websites. There are 3 main problems, They are usually chock full of viruses, there is no live updates from the company that made the program, and there is no customer support or live help. Well this is a way of getting any adobe programs you want for free and without the viruses and with customer support.
The first thing we need to do in this trick is modify the hosts file to stop any incoming requests from adobe to check if everything with our account is valid. Using this hack you can register the Adobe Software for free using you own credentials.

Follow the steps to crack any Adobe software manually :
Step 1: Download the any Adobe Software you want like Dreamweaver, Photoshop, Flash, Adobe Creative Suite 5 Design Premium etc or If you already have Adobe software installed : Update it by going to Help---}} then to check for Updates.

Step 2: Goto C:WINDOWSsystem32drivers and click on the properties of the folder "etc" and uncheck the "readonly" option.
Now Go to START => Then go to RUN and type the following text and click enter:
notepad %windir%system32driversetchosts

Step 3: Now open that file using Notepad and copy the below lines of code and add to hosts file as shown in image bellow and save it,
Click On Image To Enlarge
127.0.0.1 hl2rcv.adobe.com
127.0.0.1 adobeereg.com
127.0.0.1 activate.adobe.com
127.0.0.1 practivate.adobe.com
127.0.0.1 ereg.adobe.com
127.0.0.1 activate.wip3.adobe.com
127.0.0.1 ereg.wip3.adobe.com
127.0.0.1 wip3.adobe.com
127.0.0.1 activate-sea.adobe.com
127.0.0.1 wwis-dubc1-vip60.adobe.com
127.0.0.1 activate-sjc0.adobe.com
127.0.0.1 3dns.adobe.com
127.0.0.1 3dns-1.adobe.com
127.0.0.1 3dns-2.adobe.com
127.0.0.1 3dns-3.adobe.com
127.0.0.1 3dns-4.adobe.com
27.0.0.1 adobe-dns.adobe.com
127.0.0.1 adobe-dns-1.adobe.com
127.0.0.1 adobe-dns-2.adobe.com
127.0.0.1 adobe-dns-3.adobe.com
127.0.0.1 adobe-dns-4.adobe.com
127.0.0.1 adobe-dns-5.adobe.com
127.0.0.1 hh-software.com
127.0.0.1 http://www.hh-software.com/
127.0.0.1 activate.adobe.de
127.0.0.1 practivate.adobe.de
127.0.0.1 ereg.adobe.de
127.0.0.1 activate.wip3.adobe.de
127.0.0.1 wip3.adobe.de
127.0.0.1 3dns-3.adobe.de
127.0.0.1 3dns-2.adobe.de
127.0.0.1 adobe-dns.adobe.de
127.0.0.1 adobe-dns-2.adobe.de
127.0.0.1 adobe-dns-3.adobe.de
127.0.0.1 ereg.wip3.adobe.de
127.0.0.1 activate-sea.adobe.de
127.0.0.1 wwis-dubc1-vip60.adobe.de
127.0.0.1 activate-sjc0.adobe.de
127.0.0.1 wwis-dubc1-vip60.adobe.de
127.0.0.1 hl2rcv.adobe.de
127.0.0.1 nero.com
127.0.0.1 http://www.nero.com/
127.0.0.1 activate.nero.com
127.0.0.1 http://www.activate.nero.com/
127.0.0.1 nero.de
127.0.0.1 http://www.nero.de/
127.0.0.1 activate.nero.de
127.0.0.1 http://www.activate.nero.de/
127.0.0.1 validation.sls.microsoft.com

After adding these piece of code, save the notepad file. And exit from there.
Step 4: Now open that Adobe software, which you have installed and click on Registration and register it using the following keys.
Here is a full list of adobe serials I have found.

Adobe Creative Suite :
1325-0621-9125-0765-3648-0614
1325-0365-5929-6118-8817-8422
1325-0150-1163-7532-1626-3430
1325-0178-1927-9019-0123-2254
1325-0702-3693-1544-9166-3515
1325-0549-2240-0071-3409-1342



Photoshop CS5:
1330-1927-7762-6383-0202-0414


Adobe CS5 Serials
Master Suite :
1325-1118-5864-4422-1094-1166
1325-1558-5864-4422-1094-1126
1325-1958-5864-4422-1094-1178
1325-1085-0645-5332-7061-9771


Photoshop :
1330-1927-7762-6383-0202-0414

Fireworks :
1193-1927-7762-6383-0202-0437

Dreamweaver :

1192-1927-7762-6383-0202-0474

Encore :

1132-1127-8739-4724-1356-4304

Soundbooth :
1332-1281-2401-7141-7851-9214

Onlocation :
1132-1434-9226-7415-1756-2046

Contribute :
1188-1001-8428-4361-2308-0839


Adobe Flash Catalyst :
1395-4001-8359-3301-6882-0521

Illustrator :

1034-1006-5290-0019-3090-0219

In Design :
1037-1000-0448-3419-1984-9230


Flash :
1302-1009-3696-1065-6850-7951


Adobe Creative Suite 5 Design Premium :
1407-1774-6464-0961-5577-3797
1325-1245-8536-3731-5649-0659
1325-1113-0107-7817-6293-2712
1325-1355-9394-6283-9724-7600
1325-1059-7531-1609-0601-5636
1325-1337-3209-8161-8985-5221



Adobe Premiere Pro CS5:
1325-1690-0603-1760-5083-6195
1325-1639-7577-9907-5036-7451


Adobe Lightroom 3 :
1160-4180-1304-4433-8182-0131
1160-4089-8059-2477-5747-3653
1160-4524-3826-2813-1878-0373
1160-4061-6875-7714-1191-2089
1160-4998-8932-9947-2948-1705
1160-4796-6424-4832-1184-5113
1160-4674-7526-7461-7646-0743
1160-4526-3596-3501-4568-7963


Adobe Photoshop CS5 :
1330-1331-8999-1502-9478-2917
1330-1142-0465-8003-9094-2819
1330-1316-4643-3923-8060-7538
1330-1671-4856-0278-6039-5990
1330-1647-2807-2131-5612-3113
1330-1069-7042-6518-2723-8340
1330-1273-0567-2526-5898-4518
1330-1700-2259-7564-5904-8654
1330-1456-7129-3124-9883-0945
1330-1978-0944-5190-8622-2482
1330-1729-4134-3278-5127-0701
1330-1195-9669-1964-1664-8624
1330-1053-1062-3663-3360-7919
1330-1721-2162-5454-2056-2287
1330-1266-3612-0814-0203-2212
1330-1398-3612-0601-3319-3385
1330-1559-1431-3534-8376-1995
1330-1121-1371-0736-8351-4437
1330-1168-5387-1370-1930-2853
1330-1710-0698-7698-7854-4790
1330-1554-8539-3561-0436-4419
1330-1522-1016-1028-5254-0575
1330-1114-2026-2783-5050-1059
1330-1415-4881-9987-0255-2828
1330-1024-9870-9107-3211-6777
1330-1005-5851-8724-6749-9129
1330-1302-5050-2968-0368-6016
1330-1243-3955-0795-5819-7078

I hope you are now able to convert your Trial version of Adobe Software into Full Version. If you have any problem in this tutorial on
How To Crack Adobe Software Manually,
please mention it in comments.
Enjoy Adobe Software Cracking.......
{ Read More }


Saturday, 20 May 2017

Create eBook How to Create an eBook for Free with Microsoft Word Form

Create eBook How to Create an eBook for Free with Microsoft Word Form


{ Read More }


Tuesday, 16 May 2017

Course For Beginners On How To Deal With The Linux System In 10 Lessons!

Course For Beginners On How To Deal With The Linux System In 10 Lessons!





We decided in "http://lunixhelp.blogspot.com/," that we have to do a course for beginners on how to deal with the Linux system. Ubuntu is an open source software platform that runs everywhere from the smartphone, the tablet and the PC to the server and the cloud. its probably easier to get help for an Ubuntu installation than any other Linux distro, and as a result of its popularity, new software tends to get packaged for Ubuntu very quickly (the addition of PPAs greatly helps with this) so it reduces the need to compile packages yourself if you want the latest versions of things. A lot of things that will be explained can  also apply to other Linux distributions, such as: LinuxMint, ElementaryOS, Fedora, Arch, etc ..., because they look alike in many standards, so you can use this guide even if you use other distributions, and with a few exceptions.


This simple course in learning the basics of Linux from scratch and even access to some advanced things! This Post Is the current index Of lessons links, stay with us.



Lesson 1: Introduction - What is Linux? What is Ubuntu?

Lesson 2: A Comprehensive guide to install Ubuntu

Lesson 3: Meet Ubuntu Desktop I


 
{ Read More }