Monday, November 28, 2005

Do Models Wear Deoderant

part. 3. - Rails

Well, I reached the end of the technology, calling osatnimi blush at times of major developers of web applications. It is, of course, Ruby on Rails - the framework, which has a chance to become the most popular application skeleton ever. Web applications are a particular type of software. Many tasks that the programmer must perform repetitive - from the creation of a mechanism dispatchującego, through the actions, views and model.

Rails comply with all the basic requirements which are placed skeletons with modern web-applications. It can thus benefit from the controllers and templates. You can also use OR mapping and web interfesów serviceów (it's probably not often met in typical frameworks).

So we have finished writing a self-contained solution for small, medium and even large webaplikacji - no need to use the EXTERNAL libraries such as sending emails or database operations.

Ruby on Rails is the framework with a very strong support for Ajax. We have a set of commands that significantly reduce the time to write a truly interactive applications. But what makes Rails falls in love with an increasing number of developers once convinced of the power of Java? PLEASURE From planning and time that must spend VALID FROM THE POINT OF VIEW OF THINGS YOU.

In the next post I will describe briefly my first day of project creation Communities Website System, which is just written in Rails.

Tuesday, November 15, 2005

Sorority Initiation Movie

method for automatic updates, Rich Internet Applications with Ruby

recently intensively dealing with the creation of Rich Internet Applications. Most of these programs written in ActionScript 2.0. For the last week, however, dealing with writing small applications in RubyOnRails using libraries javascriptowych of asynchronous requests (ie AJAX).

main problem every programmer aplikacji WWW jest napisanie czegoś co nie będzie generować dużego ruchu w sieci. Pisząc RIA nie można się przed tym uchronić. Niestety model HTTP nie jest zbyt odpowiedni do tego typu aplikacji - o wszelkich zmianach w bazie danych klient dowiaduje się dopiero po wysłaniu żądania.



Przykładowo mamy prostą grę www, w której ruchy jednego gracza są obserwowane przez drugiego. Załóżmy, że gracz 1 co kilkanaście sekund dokonuje ruchu. Natomiast gracz 2 chciałby od razu widzieć co się wydarzyło. Teraz pojawia się problem - aby coś takiego uzyskać trzeba na przykład w odstępie 2 sekund wysyłać zapytania typu GET to the server to see if there was a movement in general. Assuming that the nearly empty GET request + response from the server consumes about 4kB (total return) so we 2kB / s for one player. If you have a link, say, 1 Mbit (~ 128kB), we are able to handle only 64 users at once (!). But keep in mind that we can have even two seconds slip with the present data.

lot about this problem and thought came to mind only solution for the creation of your persistent connections in both directions. However, today's firewalls or proxy servers will not let ... We must therefore stick to the HTTP protocol ...

But I came to solve the problem: D I do not know whether it is adequate and that certainly would work. However, I know that this is the best of my current practice ... : D

trick is to create nasłuchiwaczy. Nasłuchiwaczem is simply a client who wants to learn about changes to selected parts of the database. The client connects to the server while the server sends its response right away .... connection so the "hanging" until the one of the players will change some data in the database. When hanging thread receives this information - it generates a server response, then terminates the request. Nasłuchiwacz info gets so right away when the data has changed. When something like this nasłuchiwacz reconnects to the database because he wants to listen to again change.

solution is primarily an ideal, due to the fact that it works over HTTP. The only problem is timeouts. For example, proxy servers can wait a certain number of seconds to answer, then a disconnect. Then the customer has something to capture and connect again (of course, server-side hanging topic must also be removed.)

What do you think about this rowiązaniu? Is there any other contraindications to use such techniques?

Wednesday, November 9, 2005

Bells Palsy In Arm And Leg

beginning part. 2. - RDT

course on learning started to look for a decent development environment. To my surprise it turned out that the best environment is written in ... yes yes ... beloved Eclipse: D

Ruby Development Tool, because it is the name of this plugin has many features Javovego JDT. Of course, it is far advanced capabilities JDT, however, has a basic functionality that can greatly facilitate implementation beginner and intermediate Ruby programmer zaawnsowanego.

So we have things like: quick assist (ctrl + space), outline view, debugger integrated with the eclipsowym, gui testing unit is almost identical to javowego JUnit, syntax highlighting and checking on the fly.

project in recent times faster evolving, therefore we can count on you to quickly add new functionality and improve the bugs.

Wednesday, November 2, 2005

Fun Brain Poptropica .com

Beginnings with Ruby part. 1. ODBMS vs

We recently fashion for Ruby - great scripting language by Yukihiro Matsumoto. On most blogs every 5 javowców topic concerns Ruby or Ruby on Rails . I decided to see what this genius is in itself is a scripting language, and I started to learn it.

Ruby is a breakthrough in object-oriented programming. It is the language in which everything is an object. There is no simple types like int, long or double in Java. Each variable, and so has the value of properties and methods. However, this is primarily a dynamic typing language - no need to define a type of object or project types. There is a lack of interfaces are for this module. We have highly developed mechanisms for iteration and blocks of code which are callback (called callbacks). It is a language with a very brief notation - with success on a single screen can be opened two editors side by side (in Java monitor is not enough for one;). It all makes can be programmed quickly and painlessly - in accordance with the principles of Agile Programming. The idea of \u200b\u200bthe authors, is to make programming in Ruby feel the true pleasure of programming.

The following Topics will try to bring the good side (and perhaps the wrong side) programming in Ruby.

Friday, September 2, 2005

How Much Are Backpacks Ar Ross

. RDBMS - that is, performance and convenience vs. popularity and availability;)

the last few days I create an application that productivity is the key - whether it will work a few percent faster is of paramount importance. Therefore, I try to save everything - the amount of data (because it is a client-server application), the number of new threads created to handle requests, and of the time of an operation on the database.

admit that so far when it comes to database applications that I created them just based on relational databases (both in Java and in PHP). Some time ago I also started to use the frameworks the mapping O / R (JDO , Hibernate , Propel ). But I never thought that the application of these technologies may be inappropriate for any application. And yet ...

Today in creating web-applications are used almost exclusively relational databases (I do not know any PHP this site, which she used to something else). The reality, however, shows that in the case of databases, which sends a large number of queries that solution is not efficient, and even comfortable (!).

programming systems using object-oriented languages \u200b\u200bprorgamowania would like to use only the language and nothing more. Meanwhile, programming database applications using RDBMS must have regard to the structure of the database, to know how such a database is working, many worry about unnecessary things. The worst, however, is that this database does not store collections of objects and only the records that must be mapped to objects (or vice versa). Here come the tool with the help of O / R - JDO, Hibernate (Hibernate + Spring + Transactions) Propel - but let's see at what cost? The more intermediate layers, the lower yield App. I'll go one step further - and whether he is a powerful JDBC? After all, for each column in a JDBC query creates new objects - a large number of such operations could substantially ordered our application.

come here with the help of object-oriented database - a simple, efficient, easy to use, and above all 'object') Prevayler is one of the most ODBMS for Java. It assumes that all data from your application will be kept in RAM. Someone might say: "Well, then why even use the database since everything can to be in RAM. "Of course you can keep all objects in RAM, but their search can take a very long time (unless you write some sort of mechanism for its efficient, but it is in August passed with the objective;) application that uses the same Prevayler must therefore manage the creation of discharges database (backup in case of accident or restart the server). Moreover, one has to reckon with the fact that if the amount of data is very large it will take a lot of space in memory - and yet we do not have it in infinite quantities. Returning to the heart of the matter, namely Performance - if such a database is faster than the example database MySQL ? Odpowiedź może być zaskakująca - kilkaset-kilka tysięcy razy
szybsza (!). Zachęcam do zapoznania się z wynikami testów wydajnościowych na stronie projektu (czytając go trzeba mieć na względzie, że testy te dotyczą tylko prostych zapytań, nie ma np. porównania z testami na SQLu wykorzystującymi złączenia, procedury, widoki itp.).



Nieco "ulepszoną" wersją dla Prevayler jest db4objects - baza, która potrafi już bezpośrednio operować na plikach (oczywiście kosztem wydajności). Projekt ten posiada 2 licencje: GPL i komercyjną. Gorąco zachęcam to zapoznania with both technologies, because they really worth it. Sam, I wonder which one to choose - Probably for simple systems in which it is not so important "data security" (about the possibility of losing some data in the event) and the amount of data does not exceed a few dozen MB of RAM - I use Prevayler. In other db4objects situation may be a good solution.

the forum Java.net can read my thread on comparison of ODBMS and RDBMS.

Friday, August 12, 2005

How Long Does It Take For Sport Uniforms To

My review of Sothink SWF Decompiler MX 2005b

You Software Developers Journal - one of the most prestigious journals in Poland, and, above all, the only magazine contains a review of programming by me. Review applies to Sothink SWF Decompiler - in short, an application to decompile swf files. article can be read here

Sunday, August 7, 2005

Tampon Clip Why Is My Period So Heavy?

Marne dollars Java programmer part. 1

situation in Poland, when it comes to hosting webaplikacji created in Java is at least uninteresting. Yes, there najprawdę the only major company - http://www.jhosting.pl which, however, for its services it wishes to prodigious amounts (1,200 net per annum for a gold drain from the shared account the Java virtual machine!). The rest is just a big misunderstanding. What is the cause? Indiscriminate application requirements javowych to the number of memory controllers and niedouczenie Polish? As for the latter is, indeed, the Polish administrators know little about whether JBossie Tomc. Sooner specialists in these areas are Java programmers. Sam personally know a few admins who asked about knowledge of javowych servers fall silent, and change the subject. While at the Pole is the purchase of such an account abroad. There prices are a bit lower, but does not really sound solutions for sums of less than 500-600 dollars per year. The best solution seem so i can buy a virtual server with decent performance (eg Adiungo or FDCServers ) or the dedicated server. Meanwhile, the situation

PHP programmers have a quite different way. Number of companies offering hosting for these applications is huge - both in Poland and abroad. There are so many deals that can not be read before you buy with 1 / 10 of what is available on the market. So what to do Javowiec? Move to php? Joking:) Even with its PHP 5 object-oriented capabilities in no way match Java. But for now, web applications written in Java will be used on the intranet and hosted on corporate servers that created this application.

The JDN you can see my post about hosting Java in Poland: http://jdn.pl/node/182

What Does A Number Five Clipper Look Like

My CV My CV

Name Jacek
Name Olszak
Phone ********
Address Street. ***** * / *, 02-441 Warsaw
E-mail jacekolszak [at] gmail.com
Birthday 18 August 1983
status bachelor
Education 2004 - today School of Computer Science in Lodz (Department of nonresident in Bydgoszcz)
2003 Nicolaus Copernicus University, Department of Physics, Astronomy and Applied Computer
1998-2003 Electronic Technical , Torun technician diploma specjalnoci industrial automation
Certificates August 2006 Sun Certified Java Programmer SCJP 5.0
Experience 05.2006 - today ISolution [programmer / designer, J2EE, Hibernate, Spring, JSF]
10.2005 - 05.2006 Ramses Sp. Ltd. [programmer / designer, J2EE, EJB 3, web services, Spring, Hibernate]
05.2004 - 10.2005 WiedzaNet Sp. Ltd. [Java developer, ActionScript 2 (Flash), ToolBook, PHP]
2003 - 2005 Working as a freelancer - PHP, Java, SQL, Flash, DHTML
2002 - present Working on open source projects - programming and project management
Achievements 2003 Director receive the prize for best thesis in 2002/03, Computer
1998 addressing five places in the provincial competition Informatic (algorithms)

Writing A Bachelorette Card Message


















































Name Jacek
Surname Olszak
Phone number ********
Address ul. ***** */*, 02-441 Warszawa
E-mail jacekolszak [at] gmail.com
Date of birth 18 august 1983
Marital status bachelor
Education 2004 - today The College of Computer Science, Lodz (Division in Bydgoszcz)
2003
Nicolaus Copernicus University, Torun

Faculty of Physics, Astronomy and Informatics NCU
1998-2003 Electronic Technical College, Toruń

technical degree in industrial automatics
Certificates august 2006 Sun Certified Java Programmer SCJP 5.0
Job experience: 05.2006 - today ISolution [Java developer/architect - JavaServer Faces, Spring, Hibernate]
10.2005 - 05.2006 Ramzes Sp. z o.o. [Java developer/architect - J2EE, EJB 3, web services, Hibernate, Spring]
05.2004 - 09.2005 WiedzaNet Sp. z o.o. [Java programmer, ActionScript 2(Flash), Toolbook, PHP]
2003 – 2005 Work as a freelancer – PHP, Java, SQL, Flash, DHTML
2002 – today Open Source – developing and projects leading
Achievements 2003 headmaster's price for the Best Diplom Work in Computer Science in 2002/03
1998 fifth place in Computer Science Provincial Contest (algorithms)

Why Do Men Like Nylon Feet

My skills




















Java


Skills: 9/10

JSE 5.0 - [scjp 5.0] (oop, eclipse, junit, maven, ant, aop (jboss aop, spring aop), rmi, io, net, jakarta commons, xml, xmlbeans, swt, jface, swing, basics of eclipse plugins making),

JEE (javaserver faces, servlets, jsp, struts, spring, ejb 3.0, hibernate 3, web services - xfire, jdbc, velocity), JME (basics)


ActionScript 2.0 (Flash)

Skills: 9/10
object oriented programming, AS2Lib (collections, unit tests etc.), Action Script Development Tool + Flashout, Flash MX 2004 Professional


PHP

Skills: 9/10
PHP 4, PHP 5 (object oriented programming), Smarty, phpunit, systems (Mambo, MediaWiki,PhpBB, ezPublish etc.)

Ruby

Skills: 6/10
(eclipse rdt, oop, io, drb, rinda, webrick, threads, xml, unit tests)


Ruby on Rails

Skills: 6/10
(Active Record, Action View, AJAX techniques, Action Controller, lighttpd, webrick, eclipse radrails)


Databases

Skills: 7/10
relational databases (MySQL, PostgreSQL, HSQLDb), o/r mapping tools for Java and PHP (EJB 3 persistance, JDO, Propel), Berkeley DB, db4o, Prevayler


Linux

Skills: 5/10
Daily use - desktop linux (os: Mandrake, Aurox, RedHat), www servers - Apache 2, Tomcat 5, Lighttpd

Object Oriented Programming

Skills: 7/10
design patterns, UML

HTML, JavaScript (DHTML), CSS

Skills: 9/10
XHTML, CSS 2.0, web applications/websites gui making

Toolbook

Skills: 7/10

XML

Skills: 7/10
XML APIs for Java, PHP, ActionScript, XML Schema, DTD

Other technologies

C, Eclipse, CVS, Subversion, Microsoft Office, Open Office, JEdit, Dreamweaver MX, Pajączek, Quanta, Photoshop, ImageReady CS, Gimp, Windows XP,98,Me

Native languages

polish - Skills: 8/10
english - Skills: 5/10