Tuesday, November 30, 2010
Do Ovarian Cysts Hurt Period
warm wind from Africa, here we blew a lot of heat in Sofia. It is hard to believe that, in central Poland, is now so cold (-19C) when she leaves the house and not have to dopinać jackets, and even more odśnieżać car:) For now, even the weather forecast looks good:) I hope as long as possible.
dandelion yellow flowers look incredibly luscious green lawn. In particular, Dec. 2:) But no wonder they are well on the lawn, because who does not like temperature of 19.8 degree at this time of year.
Friday, November 26, 2010
Where To Buy Whey Protein Singapore
Kinomania 2010 - impressions from the projection
did not expect that a film was called Nanga Parbat such crowds. It was hard to get tickets, fortunately sold or standing room. Cinema was full, including any strip flooring. And among podłogowiczów and me. Nobody in the film did not come out. Amazing experience. Falling avalanche: the roar, shaking the floor and body. Photos also amazing. A story, though well-known (because this is a biography of Reinhold Messner and his brother who died tragically Günter), and so kept in suspense. I am not sure or grow a guy who sat on the floor next to me crying, or just look tired him, because to me at some point the image is blurred a bit ;-). If so it looks like the turnout in other films, I am deeply impressed!
did not expect that a film was called Nanga Parbat such crowds. It was hard to get tickets, fortunately sold or standing room. Cinema was full, including any strip flooring. And among podłogowiczów and me. Nobody in the film did not come out. Amazing experience. Falling avalanche: the roar, shaking the floor and body. Photos also amazing. A story, though well-known (because this is a biography of Reinhold Messner and his brother who died tragically Günter), and so kept in suspense. I am not sure or grow a guy who sat on the floor next to me crying, or just look tired him, because to me at some point the image is blurred a bit ;-). If so it looks like the turnout in other films, I am deeply impressed!
Thursday, November 25, 2010
Credit Suisse Singapore Technical Interview
The True Story of Bulgaria - arcyciekawy blog
A moment ago I came across a very interesting blog: The True Story of Bulgaria (Истинската българска история)
Many ingeniously designed zaprzeszłej history major from Bulgaria - Thracian times, mixing mythology with the historical evidence, onomastic analysis, maps, photos ... it's all going to be very tasty. It is evident that the materials prepared by high-class professional! By the way my dictionary dictionary probably warms up in the hands of the red, and there's always something to remember ;-)
A moment ago I came across a very interesting blog: The True Story of Bulgaria (Истинската българска история)
Many ingeniously designed zaprzeszłej history major from Bulgaria - Thracian times, mixing mythology with the historical evidence, onomastic analysis, maps, photos ... it's all going to be very tasty. It is evident that the materials prepared by high-class professional! By the way my dictionary dictionary probably warms up in the hands of the red, and there's always something to remember ;-)
Monday, November 22, 2010
Horizontal Bone Loss, Vertical Bone Loss
demographic catastrophe
Some time ago I looked at the issues of demography, Bulgarian, most times I was interested in independence and the impact of war on population, but I got also in their search for modern times. I have the impression that the two major demographic problems plagued Bulgaria today. Both are linked together in a way that closely, so their effects are cumulative tragically. The first is emigration: the kids already in the pre-dream about to travel abroad. Regularly listen to the radio program, which asks questions leading dziecom. Various questions about various things. With dismay I listened to the program in which First Formers told of their plans away! The kids are keen on learning foreign languages, go to the junior high language, they seem a high school diploma in a foreign language. Take studying abroad and usually do not come back. Those who after graduation trying to 'set up' in Bulgaria after a year, maybe two years, leave again, but permanently. There, take mortgage loans, buy homes there, where their children are born. Because that's where family policy is not a political slogan, and real reality. This brings us to another demographic problem: the ethnic structure birthday. It turns out that ethnic Bulgarians reproduce at least, of the groups making up the Bulgarian state. Many more are born Bulgarian Roma and Turkish origin, which, as demographers predict in 2050 ethnic Bulgarians will only 3.4 million, 2 million Roma, Turks, 1.5 million. In 2100 the Bulgarians will be only 0.3 million, will 8mln Roma, Turks, 1.5 million.
In 2150 there will be no trace of the great and proud descendants of the Thracians!
so-called "political correctness" meant that has not yet appeared in this type of discussion in the mainstream media. And now, please: Bulgarians will be an exotic minority
Since there is a crisis and need to look for savings in expenditure, it is possible that, as in other European countries will reinforce their radical attitudes against the Roma minority. While the European press recently stopped writing on the subject of the Roma, but that does not show the thermometer does not mean that there is no fever. Subcutaneous problems, unfortunately, have not expired. I am afraid that the cumulative tension, at some point they will leave the surface again, so that with much greater force. Reading the comments under zalinkowanym article leaves no doubt.
Some time ago I looked at the issues of demography, Bulgarian, most times I was interested in independence and the impact of war on population, but I got also in their search for modern times. I have the impression that the two major demographic problems plagued Bulgaria today. Both are linked together in a way that closely, so their effects are cumulative tragically. The first is emigration: the kids already in the pre-dream about to travel abroad. Regularly listen to the radio program, which asks questions leading dziecom. Various questions about various things. With dismay I listened to the program in which First Formers told of their plans away! The kids are keen on learning foreign languages, go to the junior high language, they seem a high school diploma in a foreign language. Take studying abroad and usually do not come back. Those who after graduation trying to 'set up' in Bulgaria after a year, maybe two years, leave again, but permanently. There, take mortgage loans, buy homes there, where their children are born. Because that's where family policy is not a political slogan, and real reality. This brings us to another demographic problem: the ethnic structure birthday. It turns out that ethnic Bulgarians reproduce at least, of the groups making up the Bulgarian state. Many more are born Bulgarian Roma and Turkish origin, which, as demographers predict in 2050 ethnic Bulgarians will only 3.4 million, 2 million Roma, Turks, 1.5 million. In 2100 the Bulgarians will be only 0.3 million, will 8mln Roma, Turks, 1.5 million.
In 2150 there will be no trace of the great and proud descendants of the Thracians!
so-called "political correctness" meant that has not yet appeared in this type of discussion in the mainstream media. And now, please: Bulgarians will be an exotic minority
Since there is a crisis and need to look for savings in expenditure, it is possible that, as in other European countries will reinforce their radical attitudes against the Roma minority. While the European press recently stopped writing on the subject of the Roma, but that does not show the thermometer does not mean that there is no fever. Subcutaneous problems, unfortunately, have not expired. I am afraid that the cumulative tension, at some point they will leave the surface again, so that with much greater force. Reading the comments under zalinkowanym article leaves no doubt.
Friday, November 19, 2010
Japanese Train Grope Dvd
Doni and Neti - some music
Doni and Neti (Дони и Нети) - 3 views. Fan pioseneczki and my imperfect translation.
Show me your Frape
Show me your little sweetness
Show me your cup from Nescafe
Show me!
Show me the scissors in his hand
Show me a brief moment
Show me a movie on your sky
Show me!
Show me your smile Show me your
delicate strength
Pakaż me so I can show you and me. Oooo
Show me how you sugar sparkles
Show me your kisses
Show me the sweetness and it posól
Show me!
Show me your eyes
Show me your hypocrisy
Show me the warm and cold days
Show me!
Show me your smile Show me your
delicate strength
Pakaż me so I can show you this and I
oooo
Show me your Frape
Show me your little sweetness
Show me your cup from Nescafe
Show me!
It is time for us to be saved for the world
traitors and heroes, for love and war
It's time ... I was in a thousand places
've seen sunrises and sunsets, I saw someone else's freedom
I have a lot of time, so sit down and look along the ground, listen to the rain
There are a lot of time, but no time to feel the freedom of silence, hidden inside our
It's time we forgot about rush.
Let the wind rush, who travels the world.
It is time to distant places to see once
Our freedom is here, we have a lot of time. So sit down and look along the ground, hear the rain
There are a lot of time, but no time to feel the freedom of silence, hidden inside our
Doni and Neti (Дони и Нети) - 3 views. Fan pioseneczki and my imperfect translation.
Show me your Frape
Show me your little sweetness
Show me your cup from Nescafe
Show me!
Show me the scissors in his hand
Show me a brief moment
Show me a movie on your sky
Show me!
Show me your smile Show me your
delicate strength
Pakaż me so I can show you and me. Oooo
Show me how you sugar sparkles
Show me your kisses
Show me the sweetness and it posól
Show me!
Show me your eyes
Show me your hypocrisy
Show me the warm and cold days
Show me!
Show me your smile Show me your
delicate strength
Pakaż me so I can show you this and I
oooo
Show me your Frape
Show me your little sweetness
Show me your cup from Nescafe
Show me!
It is time for us to be saved for the world
traitors and heroes, for love and war
It's time ... I was in a thousand places
've seen sunrises and sunsets, I saw someone else's freedom
I have a lot of time, so sit down and look along the ground, listen to the rain
There are a lot of time, but no time to feel the freedom of silence, hidden inside our
It's time we forgot about rush.
Let the wind rush, who travels the world.
It is time to distant places to see once
Our freedom is here, we have a lot of time. So sit down and look along the ground, hear the rain
There are a lot of time, but no time to feel the freedom of silence, hidden inside our
Friday, October 22, 2010
Denise Milani Pitchers
Warsjawa 2010
invite all our readers to present Domain Driven Design - Everything has its place and everything is in place we present this Saturday at the conference Warsjawa .
Shortcut:
Have you ever wondered what is causing the distribution of medium and large systems? Is it inevitable and is only a matter of time? But maybe there's some way to keep entropy at bay?
During the presentation we'll see how the Domain Driven Design helps in curbing the chaos. The presentation will be the major modeling techniques such as the Ubiquitous Language, Bounded Context, Strategic Design.
will be presented and the basic techniques DDD implementation: examples of Building Blocks, Command-query Responsibility Segregation, system events, instances of the use of ORM and SQL - all the examples in Seam or Spring.
//===========================
For those of you who were in Krakow, NYAC emphasize that the core of the presentation will same.
invite all our readers to present Domain Driven Design - Everything has its place and everything is in place we present this Saturday at the conference Warsjawa .
Shortcut:
Have you ever wondered what is causing the distribution of medium and large systems? Is it inevitable and is only a matter of time? But maybe there's some way to keep entropy at bay?
During the presentation we'll see how the Domain Driven Design helps in curbing the chaos. The presentation will be the major modeling techniques such as the Ubiquitous Language, Bounded Context, Strategic Design.
will be presented and the basic techniques DDD implementation: examples of Building Blocks, Command-query Responsibility Segregation, system events, instances of the use of ORM and SQL - all the examples in Seam or Spring.
//===========================
For those of you who were in Krakow, NYAC emphasize that the core of the presentation will same.
Wednesday, October 20, 2010
Womens Airsoft Clothing
Turbo Seam
This post starts a series devoted to the mini Seam Framework. The content is a useful technique and a few tricks that I was able to gather during the few years using this "feature"-the bag.
- Integration with Maven - elegantly and painlessly. Gentlemen of the JBoss Tools already thank ...
- Integration with jQuery - a crushing burden of RichFaces, AJAX communication overhead reduces and controls look like the previous era
- Asynchronous mailing in style - micro architecture, routing e-mails combined with elegant decoupliniem by events
- Integration BIRT - speszyl hooks
- Seam Seam Gen App. Framework - why not use:)
This list will be continuously updated with links to specific posts and possibly new positions. Ultimately, post will be a sort of table of contents.
//==============================
Overall so far I have not written too many technical posts - on the assumption that the content in the ocean will not make anything new.
However, comparing two aspects:
-
own thoughts - watching as the seam is used
came to the conclusion that the accumulated knowledge may be useful to someone.
If you have any topics you would like to raise - write boldly, perhaps we'll add them to the list.
This post starts a series devoted to the mini Seam Framework. The content is a useful technique and a few tricks that I was able to gather during the few years using this "feature"-the bag.
Lineup Content
- Productive development environment. Hot deploy everything. Even the entity (and apparently can not be P) In the worst case, 3 seconds. to reload.- Integration with Maven - elegantly and painlessly. Gentlemen of the JBoss Tools already thank ...
- Integration with jQuery - a crushing burden of RichFaces, AJAX communication overhead reduces and controls look like the previous era
- Asynchronous mailing in style - micro architecture, routing e-mails combined with elegant decoupliniem by events
- Integration BIRT - speszyl hooks
- Seam Seam Gen App. Framework - why not use:)
This list will be continuously updated with links to specific posts and possibly new positions. Ultimately, post will be a sort of table of contents.
//==============================
Overall so far I have not written too many technical posts - on the assumption that the content in the ocean will not make anything new.
However, comparing two aspects:
-
own thoughts - watching as the seam is used
came to the conclusion that the accumulated knowledge may be useful to someone.
If you have any topics you would like to raise - write boldly, perhaps we'll add them to the list.
Tuesday, October 12, 2010
How To Wtite A Caragreement Letter
Cause of all evil
Today another post in a series of geek humor .
probably discovered the cause of all evil in the projects, clutter, poor design object model and our favorite spaghetti code.
it is probably totally misunderstanding polymorphism!
Here you will find enlightenment: http://www-users.mat.umk.pl/ ~ greg / polymorphism.pdf
.. if so any programmer familiar with it, This world would be better;)
//===============================
If you have any interesting educational materials are paste in the comments.
Today another post in a series of geek humor .
probably discovered the cause of all evil in the projects, clutter, poor design object model and our favorite spaghetti code.
it is probably totally misunderstanding polymorphism!
Here you will find enlightenment: http://www-users.mat.umk.pl/ ~ greg / polymorphism.pdf
.. if so any programmer familiar with it, This world would be better;)
//===============================
If you have any interesting educational materials are paste in the comments.
Sunday, September 5, 2010
Where Can I Get Cut In Pokemon Prism
Deaf phone
Deaf phone - which gives an intriguing and fun to think of childhood, where even a simple "information" may be distorted after passing through a chain of "relays".
cult image of the swing (which we all know) illustrates what happens to the information a bit more sophisticated (eg on requirements) firmware in the production process.
How to prevent this? A reasonable solution is
Ubiquitous Language - the key to the Domain Driven Design involving the manipulation of the common vocabulary cybersquatters at each level of abstraction, ranging from business experts to source code (sic) in the layer of application logic and the logic of domain. The logic of domain, of course, a strict "label" - the use of well-defined Building Blocks.
This leads to the bottom of the post.
encourage you to familiarize yourself with the presentation of my guru - Eric Evans: " Sustainable Design for Agile Teams " during which We study a sample session between the programmer and the expert cybersquatters. Pay attention to well-defined, common language spoken by both parties and how to "discover" new beings.
course, this process is not cheap and requires precious resource: Domain expert: /
//============================= ==============
presentation also addresses another aspect arcyważny Misunderstanding the design domain in the naive approach to Agile. When we focus on a single requirement or a single iteration, then usually there is a special case business process in any domain. We lose "biger pikczer" and eventually all boils down to the happy (unhappy later) "hack" code that describes some special cases - the legacy. And there is nothing to be honest - no one is eager to refactor model of cybersquatting, which is already filled with data in the database:)
Deaf phone - which gives an intriguing and fun to think of childhood, where even a simple "information" may be distorted after passing through a chain of "relays".
cult image of the swing (which we all know) illustrates what happens to the information a bit more sophisticated (eg on requirements) firmware in the production process.
How to prevent this? A reasonable solution is
Ubiquitous Language - the key to the Domain Driven Design involving the manipulation of the common vocabulary cybersquatters at each level of abstraction, ranging from business experts to source code (sic) in the layer of application logic and the logic of domain. The logic of domain, of course, a strict "label" - the use of well-defined Building Blocks.
This leads to the bottom of the post.
encourage you to familiarize yourself with the presentation of my guru - Eric Evans: " Sustainable Design for Agile Teams " during which We study a sample session between the programmer and the expert cybersquatters. Pay attention to well-defined, common language spoken by both parties and how to "discover" new beings.
course, this process is not cheap and requires precious resource: Domain expert: /
//============================= ==============
presentation also addresses another aspect arcyważny Misunderstanding the design domain in the naive approach to Agile. When we focus on a single requirement or a single iteration, then usually there is a special case business process in any domain. We lose "biger pikczer" and eventually all boils down to the happy (unhappy later) "hack" code that describes some special cases - the legacy. And there is nothing to be honest - no one is eager to refactor model of cybersquatting, which is already filled with data in the database:)
Tuesday, August 10, 2010
Desert Eagle Sale In Canada
Can you help?
Today's post is unusual, because I turn it to the esteemed group of readers asking for help / favor. I was invited to this year's conference JDD as a speaker and thought about a subject that you could possibly (even if you do not want to go for the conference, just in general) interest.
Presentation Software dedicated craftsmanship and patterns have already reached the limit reużywalności, so I'm wondering about a new theme:) If you have any suggestions or specific requests as to what you want to hear feel free to write in a comment or priv (address in the panel "a me "on the right).
//===============================
Looking at the overall trends, which this year also with Polish conferences, can be observed that rather a move away from further endorsements of dozens of web frameworks in the direction of more general issues, usually by synthesizing section several aspects. I wonder what you think about this trend.
So far I have an idea for a presentation on approaches to the Inversion of Control. Yes, I know that the subject is trite but how about a review of the application architectures based IoC. The review which is kind of a trip to architectural solutions.
zastanowilibyśmy the first being in general is architecture, what are its types and the arch is different from the design. Later, after another trip approaches to architecture based on IoC 3 techniques in order of their "strength."
So first the "weakest" (in the sense of strength and not in the sense that it is bad) approach: injecting depending - what and when you need to inject. Because injecting the DAO / Repo to Servisów is boring. Next
technique "harder" - because apart from not only a colleague, but also their quantity and time - arch oriented events. Examples use the event to increase trading capacity and "events" of business - all in the context of the sourcing and event-query Command Responsibility Segregation.
At the end of the most powerful technique IoC: Aspect Oriented Programming .
At each "stop" of our trip zastanowilibyśmy what results from the application of the approach and when you need to use it - and when it is just fashion and stampede.
As you can see from the description of that presentation was designed for new applications architects - programmers who would like a hare in the design at the macro level.
Today's post is unusual, because I turn it to the esteemed group of readers asking for help / favor. I was invited to this year's conference JDD as a speaker and thought about a subject that you could possibly (even if you do not want to go for the conference, just in general) interest.
Presentation Software dedicated craftsmanship and patterns have already reached the limit reużywalności, so I'm wondering about a new theme:) If you have any suggestions or specific requests as to what you want to hear feel free to write in a comment or priv (address in the panel "a me "on the right).
//===============================
Looking at the overall trends, which this year also with Polish conferences, can be observed that rather a move away from further endorsements of dozens of web frameworks in the direction of more general issues, usually by synthesizing section several aspects. I wonder what you think about this trend.
So far I have an idea for a presentation on approaches to the Inversion of Control. Yes, I know that the subject is trite but how about a review of the application architectures based IoC. The review which is kind of a trip to architectural solutions.
zastanowilibyśmy the first being in general is architecture, what are its types and the arch is different from the design. Later, after another trip approaches to architecture based on IoC 3 techniques in order of their "strength."
So first the "weakest" (in the sense of strength and not in the sense that it is bad) approach: injecting depending - what and when you need to inject. Because injecting the DAO / Repo to Servisów is boring. Next
technique "harder" - because apart from not only a colleague, but also their quantity and time - arch oriented events. Examples use the event to increase trading capacity and "events" of business - all in the context of the sourcing and event-query Command Responsibility Segregation.
At the end of the most powerful technique IoC: Aspect Oriented Programming .
At each "stop" of our trip zastanowilibyśmy what results from the application of the approach and when you need to use it - and when it is just fashion and stampede.
As you can see from the description of that presentation was designed for new applications architects - programmers who would like a hare in the design at the macro level.
Thursday, July 1, 2010
Sore Legs Lactic Acid
Because in life you need ... to be agile:)
From childhood słyszmy from various "good uncles" what is "important in life." Unfortunately, it is rare to hear about adaptability or agility life (in the sense agilności).
Jadnak somehow everyone in the IT Agile - Some time ago I did a little research, in which hardly found one company in India, which openly says that it is not agile;)
When, however, take a closer look , with that Agile is like sex in teenagers - each with a This speaks but few are really doing (or at least they did several years ago in class mat-inf;)
say that Agile is difficult because of the seemingly easy - so easy that everyone seems to understand.
In this post I will not write about the problems with methodologies (by the way, the methodology is the study of methodologies). We will focus on soft matter, or problems with people.
How often do you encounter an almost fascist, anti-adaptive attitude type:
- do not write comments, write a self-commenting code (but self-commenting on whose point of view?)
- good code should have 70% of the comments so that one could play it by reading it (but why?)
- Stories are better / worse than the Use Case (at what level?)
- YAGNI and KISS (even if I have an intuition that is useful?)
- Java rules / .NET rules (but then it different?)
- always use IoC and ORM (but why and for what?)
- ORM is crap, only the SQL procedures (But at what cost?)
- just as the base Oracle / Postgres / ... (But to each project?)
- as the base is only noSQL (because it is sexy?)
- always write tests - "You are not allowed to write a single line of production code without a test first" - thundered some time ago, Uncle (nomen omen;)
Bob - you should have at least 80% coverage of the tests (and why not 85%? settery too?)
- do not write the tests never (ever!?)
- methods should be 5 lines (for 6 go to jail?)
- methods should be so long that it should be possible to understand them in 5 minutes (But to understand by whom)
- always use Maven (even in the 1910 draft jednomodułowym libami?)
- static languages \u200b\u200bare better (better for what?)
- dynamic languages \u200b\u200bare better (especially as to the String class's 150-Append methods
- browser / OS / IDE X is better (better for what? to help you say it or even to podroczyć?)
could just multiply indefinitely ... I do not know
whether it is an affliction only of our industry, but it inhibits what Agile is in the process of Authoritarianism in people. Perhaps authoritarianism is a general meme "inherited" after those in the first sentence wujaszkach. Perhaps it is embedded in our minds as their strict integrity ficzer - a coprocessor seek one naively simple equation at all.
Unless we have more and more often KNOW HOW TO KNOW WHEN missing.
can put it differently: in the equation
Wisdom = Knowledge + Context
most important is the context. The context is what distinguishes the theory and practice. Context allowing adapt knowledge. The context in which the Competency Model Dreyfus Brothers comes with time and experience. And experience is a reflection. Reflection is necessary to adapt approach.
//=================================
In most civilizations consistency is a virtue. The phrase "you're not consistent in their behavior" is very pejorative connotation.
But more agile is a different approach - an approach adaptive : "Consistency is the fortress of fools." Consequence exempt from observing, thinking, and adapt (not to be confused with the consequences of perseverance).
It is not about to zafiksować on something that has consistently put his head down and dig like a pig for truffles. From time to time we pick it up to check if the objective is still in front - and maybe on the horizon appeared a different, better target and it is worth adapt?
From childhood słyszmy from various "good uncles" what is "important in life." Unfortunately, it is rare to hear about adaptability or agility life (in the sense agilności).
Jadnak somehow everyone in the IT Agile - Some time ago I did a little research, in which hardly found one company in India, which openly says that it is not agile;)
When, however, take a closer look , with that Agile is like sex in teenagers - each with a This speaks but few are really doing (or at least they did several years ago in class mat-inf;)
say that Agile is difficult because of the seemingly easy - so easy that everyone seems to understand.
In this post I will not write about the problems with methodologies (by the way, the methodology is the study of methodologies). We will focus on soft matter, or problems with people.
How often do you encounter an almost fascist, anti-adaptive attitude type:
- do not write comments, write a self-commenting code (but self-commenting on whose point of view?)
- good code should have 70% of the comments so that one could play it by reading it (but why?)
- Stories are better / worse than the Use Case (at what level?)
- YAGNI and KISS (even if I have an intuition that is useful?)
- Java rules / .NET rules (but then it different?)
- always use IoC and ORM (but why and for what?)
- ORM is crap, only the SQL procedures (But at what cost?)
- just as the base Oracle / Postgres / ... (But to each project?)
- as the base is only noSQL (because it is sexy?)
- always write tests - "You are not allowed to write a single line of production code without a test first" - thundered some time ago, Uncle (nomen omen;)
Bob - you should have at least 80% coverage of the tests (and why not 85%? settery too?)
- do not write the tests never (ever!?)
- methods should be 5 lines (for 6 go to jail?)
- methods should be so long that it should be possible to understand them in 5 minutes (But to understand by whom)
- always use Maven (even in the 1910 draft jednomodułowym libami?)
- static languages \u200b\u200bare better (better for what?)
- dynamic languages \u200b\u200bare better (especially as to the String class's 150-Append methods
- browser / OS / IDE X is better (better for what? to help you say it or even to podroczyć?)
could just multiply indefinitely ... I do not know
whether it is an affliction only of our industry, but it inhibits what Agile is in the process of Authoritarianism in people. Perhaps authoritarianism is a general meme "inherited" after those in the first sentence wujaszkach. Perhaps it is embedded in our minds as their strict integrity ficzer - a coprocessor seek one naively simple equation at all.
Unless we have more and more often KNOW HOW TO KNOW WHEN missing.
can put it differently: in the equation
Wisdom = Knowledge + Context
most important is the context. The context is what distinguishes the theory and practice. Context allowing adapt knowledge. The context in which the Competency Model Dreyfus Brothers comes with time and experience. And experience is a reflection. Reflection is necessary to adapt approach.
//=================================
In most civilizations consistency is a virtue. The phrase "you're not consistent in their behavior" is very pejorative connotation.
But more agile is a different approach - an approach adaptive : "Consistency is the fortress of fools." Consequence exempt from observing, thinking, and adapt (not to be confused with the consequences of perseverance).
It is not about to zafiksować on something that has consistently put his head down and dig like a pig for truffles. From time to time we pick it up to check if the objective is still in front - and maybe on the horizon appeared a different, better target and it is worth adapt?
Monday, May 24, 2010
Tamil Kavithaigal About Invitation
Object Oriented or Class Oriented only?
Today will be a "new" approach to the Object Oriented.
If anyone, it seems that nothing new can not be in this very nature 'theme added I encourage you to read the presentations in the text. You'll also be why the new written in quotation marks.
some time from many sides there are the incentive to become interested in new languages \u200b\u200blike Scala, Groovy, Ruby, ...
So far, all the proponents of this cool show how one can manipulate the collections (sort, search) on a single line of code with the possibility of "gluing" of new methods to existing classes. With all due respect, but it is nothing but a symptom of technical onanism . If I am interested in new language just to avoid hammering loops, however, apply "Speed \u200b\u200bBuggy" utils . Are you sure the new languages \u200b\u200bare created just to the dokleić to the String class 100 new metodek whose existence is known only doklejający?
Still others rediscover the ability to dynamically add "on the fly" to the entity and the methods of recording wczytujących them. I thought the infamous Active Record has long since gone into oblivion. But not - it turns out that he is sexy in some frameworks.
During a recent session of the researches I came across an interesting concept, which gives a true and pragmatic sense of it all konstruktom językowym.Pojawił to behold the "new" paradigm of programming: Date Interaction Context, which indicates the application of dynamic constructs to better (or at least different) modeling problems. So we have something more than sort the list, we have a new quality of thinking about the modeled structure. Developers
DCI argue that mainstream approaches to OO is only a few% of true OO. The classic approach focuses on classes, or on certain structures. They put the classical approach, the allegations that it focuses on class rather than on the premises, which allegedly causes a "spreading with" Use Case Logic after many classes, so in nontrivial applications has become increasingly harder to come up in the capture of logic.
So time to return to the procedural paradigm, where we have all the "flow" in one place?
Not necessarily. Let
has the figure below:
source: http://www.underbjerg.com/2009/11/16/oredev-2009-impressions-and-dci-architecture/
Data describe using Klas some immutable structure - it can be said core model (it may have some basic, general behavior).
Interaction are elevation to maintain the level of the main entities, thus better suited to the mental model user. There are certain roles that may be adopted by objects. Interaction operate on the data because they are mixing them in. ..
Context - Use context odpwiada Caseom or their strides. It is in a certain context data is combined with the roles (behavior) to create objects only .
intuitive example: I am a man, described to me a set of standard parameters. But depending on the context assume some of the roles (and with them the behavior): Programmer, Manager, father, driver, player, client, ...
If I could interest you a little bit the concept of DCI (not to be confused with a bit less innovative CDI:) I recommend the following materials:
- architecture and an interesting example in Ruby - to add intrigue that you will find here an acute TDD criticism.
- interesting approach to modeling - here we have such amazing clarity of thought and show tragikomicznego Qi4j framework (Java is not suited to the DCI)
- Not very inspiring theoretical introduction - from which we learn that these concepts are already tens of years, only somewhere zapodziały in the industry.
- necessarily aware of the DCI in the Scala - plus a collection of stupid examples of sorting;)
Overall I would recommend the materials from the conference Øredev - as you can see the subject matter is very interesting and far beyond the mainstream.
And in an incubator (for now) Eclipse we have something very similar: Object Teams
//==========================
interesting DCI summed up one of my fellow architects (along with "sniper", which can hit a man with a grenade launcher from a distance across the board in Modern Warfare 1): "but you must have eggs to challenge the standards and provide something so different."
Today will be a "new" approach to the Object Oriented.
If anyone, it seems that nothing new can not be in this very nature 'theme added I encourage you to read the presentations in the text. You'll also be why the new written in quotation marks.
some time from many sides there are the incentive to become interested in new languages \u200b\u200blike Scala, Groovy, Ruby, ...
So far, all the proponents of this cool show how one can manipulate the collections (sort, search) on a single line of code with the possibility of "gluing" of new methods to existing classes. With all due respect, but it is nothing but a symptom of technical onanism . If I am interested in new language just to avoid hammering loops, however, apply "Speed \u200b\u200bBuggy" utils . Are you sure the new languages \u200b\u200bare created just to the dokleić to the String class 100 new metodek whose existence is known only doklejający?
Still others rediscover the ability to dynamically add "on the fly" to the entity and the methods of recording wczytujących them. I thought the infamous Active Record has long since gone into oblivion. But not - it turns out that he is sexy in some frameworks.
During a recent session of the researches I came across an interesting concept, which gives a true and pragmatic sense of it all konstruktom językowym.Pojawił to behold the "new" paradigm of programming: Date Interaction Context, which indicates the application of dynamic constructs to better (or at least different) modeling problems. So we have something more than sort the list, we have a new quality of thinking about the modeled structure. Developers
DCI argue that mainstream approaches to OO is only a few% of true OO. The classic approach focuses on classes, or on certain structures. They put the classical approach, the allegations that it focuses on class rather than on the premises, which allegedly causes a "spreading with" Use Case Logic after many classes, so in nontrivial applications has become increasingly harder to come up in the capture of logic.
So time to return to the procedural paradigm, where we have all the "flow" in one place?
Not necessarily. Let
has the figure below:
source: http://www.underbjerg.com/2009/11/16/oredev-2009-impressions-and-dci-architecture/
Data describe using Klas some immutable structure - it can be said core model (it may have some basic, general behavior).
Interaction are elevation to maintain the level of the main entities, thus better suited to the mental model user. There are certain roles that may be adopted by objects. Interaction operate on the data because they are mixing them in. ..
Context - Use context odpwiada Caseom or their strides. It is in a certain context data is combined with the roles (behavior) to create objects only .
intuitive example: I am a man, described to me a set of standard parameters. But depending on the context assume some of the roles (and with them the behavior): Programmer, Manager, father, driver, player, client, ...
If I could interest you a little bit the concept of DCI (not to be confused with a bit less innovative CDI:) I recommend the following materials:
- architecture and an interesting example in Ruby - to add intrigue that you will find here an acute TDD criticism.
- interesting approach to modeling - here we have such amazing clarity of thought and show tragikomicznego Qi4j framework (Java is not suited to the DCI)
- Not very inspiring theoretical introduction - from which we learn that these concepts are already tens of years, only somewhere zapodziały in the industry.
- necessarily aware of the DCI in the Scala - plus a collection of stupid examples of sorting;)
Overall I would recommend the materials from the conference Øredev - as you can see the subject matter is very interesting and far beyond the mainstream.
And in an incubator (for now) Eclipse we have something very similar: Object Teams
//==========================
interesting DCI summed up one of my fellow architects (along with "sniper", which can hit a man with a grenade launcher from a distance across the board in Modern Warfare 1): "but you must have eggs to challenge the standards and provide something so different."
Sunday, May 9, 2010
Describing The Cloths That You Wear
constructor-destructor
Former Indian rule says the blog is always better to paste a link to someone's post wise than writing something yourself. Therefore, today I would recommend James Nabrdalik Post: Writer versus Constructor. Text is absolutely certain class of problems firmware development.
from myself I might add that, as usual, reality is not black and white but gray. MacGyver class Programmer (about which he wrote Joel Spolsky) is a useful treasure in the team, it only needs to cover a permanent quarantine.
EDIT:
Continuing the discussion: A programmer-writer and developer-constructor, which is continued: refactoring after blogersku?
//=======================
By the way, it is worth noting the construction of the post - a role model for all technical bloggers.
First we have a short history of appealing to emotions (in this case from his childhood), then the generalization of the problem and place. Next develop concrete bullets. Everything matched perfectly illustrated, pictorial climate Pipboya with Fallout.
Bravo, bravo, bravo!
Former Indian rule says the blog is always better to paste a link to someone's post wise than writing something yourself. Therefore, today I would recommend James Nabrdalik Post: Writer versus Constructor. Text is absolutely certain class of problems firmware development.
from myself I might add that, as usual, reality is not black and white but gray. MacGyver class Programmer (about which he wrote Joel Spolsky) is a useful treasure in the team, it only needs to cover a permanent quarantine.
EDIT:
Continuing the discussion: A programmer-writer and developer-constructor, which is continued: refactoring after blogersku?
//=======================
By the way, it is worth noting the construction of the post - a role model for all technical bloggers.
First we have a short history of appealing to emotions (in this case from his childhood), then the generalization of the problem and place. Next develop concrete bullets. Everything matched perfectly illustrated, pictorial climate Pipboya with Fallout.
Bravo, bravo, bravo!
Wednesday, April 28, 2010
9000 Agp 350mhz 0x4c66
Majowa evangelism Software craftsmanship
Presentation on the theme of Software craftsmanship was quite warmly received during the Poznań 4Developers , and met with considerable response from the community.
why I thought it worthwhile to continue to promote the profession in our industry - in particular, that our community begins to more clearly indicate some problems.
therefore invite all interested stakeholders on Software Craftsmanship to a series of free conference, where I plan instance:
- lubelskie IT day - May 12, Lublin
- Infoshare - May 14 in Gdansk
- Javarsovia - 26 June in Warsaw
/ / = =================================
welcome the fact that the theme of craftsmanship also appears on JUGach: Warsaw and Wroclaw
Presentation on the theme of Software craftsmanship was quite warmly received during the Poznań 4Developers , and met with considerable response from the community.
why I thought it worthwhile to continue to promote the profession in our industry - in particular, that our community begins to more clearly indicate some problems.
therefore invite all interested stakeholders on Software Craftsmanship to a series of free conference, where I plan instance:
- lubelskie IT day - May 12, Lublin
- Infoshare - May 14 in Gdansk
- Javarsovia - 26 June in Warsaw
/ / = =================================
welcome the fact that the theme of craftsmanship also appears on JUGach: Warsaw and Wroclaw
Wednesday, April 21, 2010
Clairol Daily Defense Conditioner
Google Application Engine
Today will be about fairness.
looks promising
cloud Google - GAME generally looks great. Free (up to certain limits), we get a platform that is able to carry one thousand transactions per second and store terabytes of data for us in nonrelational based BigTable . For this access to many Google services such as security, storage of images, download content pages through ichni cache, memcache etc.
powerful
we can program in Python or Java (the truncated version, excluding standard classes and the prohibition to use certain libraries).
general assumption is: Developers (and consultants;), in most can not configure a scalable environments or write scalable applications, which is why We provide them with a platform that will address this problem in a manner transparent. So we have the opposite approach to Java EE. Take the issue of business and the cloud will be scaling. The direction seems to be right.
So we start playing ...
On a good day short of the official presentation of the main page as it is good and quickly slaps the applications and fires them into space: http://www.youtube.com/watch?v=P3GT4-m_6RQ
must admit that the plugin Eclipse is a model: a simple use (3 suggestive buttons), works and provides everything
- local server emulation cloud and its resources (database)
- a tool that automatically "enriching" bytecode for the classes of entities ichniej "implementation" JPA
- a utility that discharge application in
space - a simple wizard that generates all the spaceport
(do not dare zmawenizować generated project, because it is usually a week in the back and in the end it may be that we lose hotdeploy)
WTF?
But, but ... the film gets going with time ... One
of the largest software companies on the ground shows how to write code in. .. Java Server Pages. Look closely and learn: the logic and data access w. .. scriptletach (sic).
course, big boys know that they are scriptlety depricated. A knife, fork the scene saw a little child, and will later be programmed so as he grows up?? Then again, we read in the newspaper about the tragedy that took place in a peaceful project. Where were the parents? "?
Hmmm strange, strange ... no but does not cling to the details, it's just such an example. But we can always design the elegant and the whole base layer with a proven framework.
LIMITATIONS OF SEVERED
Unfortunately, as mentioned at the beginning of the JVM is no limit, and not everything works. Seam Although you can start after 15 speszyl hooks, but they all say that it is not worth the risk. Fortunately, good old Spring is officially operating. Many brave bloggers publish hello worldy and tutorials how to put together. It appears that one copy from each other;)
Ba, even 2 books GAME prefer Spring and show how to configure it. Hmmm I wonder why only servlecik discuss Spring MVC and diplomatically not address the more advanced zagdanień ...?
Unfortunately, however, does not work to the end!
example, when we use the technique of interlacing Aspektowych and run time, we have strange errors ClassNotFound. Locally, work, and the cloud is not. What
implies that we can forget about aspectual, elegant service and transaction security.
So why do we need Spring? Only the injection? It makes no sense.
NOTE ON persistence
matter, you can live without the Spring, let us more ... Non-relational database BigTable was covered by Google's interface JDO or JPA (optional) so we feel like at home.
Not exactly ... specification has a number of limitations imposed by the solution architecture BigTable - terms of scattering data structures on different machines on the side of the clouds.
Fine szczególik only mentioned in the documentation is such that aggregates of entities are grouped into families . For example, if we have the entity Order, which has the list of ZamówionychProduktów it's family. What does this mean?
Entity can only belong to one family.
implication: If we have a contract and invoice entities and entity Kleint, which must be connected to the Orders and Invoices is unfortunately not possible. Your child may have one parent. Of course you can get around this in the Order and the Invoice object to use keys to the customer. But then we lose the ease of programming and dependence on the Cloud API.
Please note that the approach to data modeling in nonrelational database requires a different "attitude" - that the nature of the solution. If nierelacyjnie can object? But not quite - well, how? Personally
I prefer this approach, the Order or Invoice is indeed the key to the customer but also niepersystentne Customer field, which is set in it a separate question (this is not a big expense in BigTable database, which is really a multidimensional HashMap). These types of details can encapsulate the objects Repository that return data "folded" so that was convenient. OK, one problem solved.
transaction may involve only operations on a single family.
Thus, if the application logic family wants to save both the order and invoice to be are two separate transactions. And what if in the meantime, something unpleasant will happen? Hand carving and cleaning:)
Besides, as I mentioned, Spring AOP transactions do not work, so ink stains code of business transactions within the JPA API.
Datanucleus - "Implementation" JPA
Besides the fact that it is truncated also contains several errors - do not work, even in some simple examples of the tutorials JPA. The official group is hanging a lot of questions - no answers.
NAIL
Presentation
The presentation frameworks tested the JSF.
1.2 (with Seam) works.
2.0 works after applying one simple speszyl hook.
works in the sense that it starts up. In 2.0 there are some problems with the injection ManagedBeanów. RichFaces or ICEfaces does not have a version for the clouds. Officially PrimeFaces partially working. Again, this is not reliable and information - AJAX in general is falling apart.
And you can forget about running the methods with a parameter with the new engine expressions (el-api in version 2.2). Cloud refuses to cooperate with the new achievements.
//==============================
Given the above limitations:
- lack of a convenient framework (including support for AOP)
- poor ORM functionality requiring many manual operations
- mental model of programming prior to about 10 years
We have a significant drop in productivity.
guess where these JSP scriptlety and static methods in a promotional film? Could only make this work?
Too bad the blogosphere community and stops at the Hello World and does not verify a bit more thoroughly and reliably.
Finally I must add that very different assumptions in the construction of a cloud received Amazon. We get hardware and operating system. Nobody does not impose additional entities we built the hardware and does not come to us from our shoes in the years developed and tested a model of programming. And most importantly - it works:)
Today will be about fairness.
looks promising
cloud Google - GAME generally looks great. Free (up to certain limits), we get a platform that is able to carry one thousand transactions per second and store terabytes of data for us in nonrelational based BigTable . For this access to many Google services such as security, storage of images, download content pages through ichni cache, memcache etc.
powerful
we can program in Python or Java (the truncated version, excluding standard classes and the prohibition to use certain libraries).
general assumption is: Developers (and consultants;), in most can not configure a scalable environments or write scalable applications, which is why We provide them with a platform that will address this problem in a manner transparent. So we have the opposite approach to Java EE. Take the issue of business and the cloud will be scaling. The direction seems to be right.
So we start playing ...
On a good day short of the official presentation of the main page as it is good and quickly slaps the applications and fires them into space: http://www.youtube.com/watch?v=P3GT4-m_6RQ
must admit that the plugin Eclipse is a model: a simple use (3 suggestive buttons), works and provides everything
- local server emulation cloud and its resources (database)
- a tool that automatically "enriching" bytecode for the classes of entities ichniej "implementation" JPA
- a utility that discharge application in
space - a simple wizard that generates all the spaceport
(do not dare zmawenizować generated project, because it is usually a week in the back and in the end it may be that we lose hotdeploy)
WTF?
But, but ... the film gets going with time ... One
of the largest software companies on the ground shows how to write code in. .. Java Server Pages. Look closely and learn: the logic and data access w. .. scriptletach (sic).
course, big boys know that they are scriptlety depricated. A knife, fork the scene saw a little child, and will later be programmed so as he grows up?? Then again, we read in the newspaper about the tragedy that took place in a peaceful project. Where were the parents? "?
Hmmm strange, strange ... no but does not cling to the details, it's just such an example. But we can always design the elegant and the whole base layer with a proven framework.
LIMITATIONS OF SEVERED
Unfortunately, as mentioned at the beginning of the JVM is no limit, and not everything works. Seam Although you can start after 15 speszyl hooks, but they all say that it is not worth the risk. Fortunately, good old Spring is officially operating. Many brave bloggers publish hello worldy and tutorials how to put together. It appears that one copy from each other;)
Ba, even 2 books GAME prefer Spring and show how to configure it. Hmmm I wonder why only servlecik discuss Spring MVC and diplomatically not address the more advanced zagdanień ...?
Unfortunately, however, does not work to the end!
example, when we use the technique of interlacing Aspektowych and run time, we have strange errors ClassNotFound. Locally, work, and the cloud is not. What
implies that we can forget about aspectual, elegant service and transaction security.
So why do we need Spring? Only the injection? It makes no sense.
NOTE ON persistence
matter, you can live without the Spring, let us more ... Non-relational database BigTable was covered by Google's interface JDO or JPA (optional) so we feel like at home.
Not exactly ... specification has a number of limitations imposed by the solution architecture BigTable - terms of scattering data structures on different machines on the side of the clouds.
Fine szczególik only mentioned in the documentation is such that aggregates of entities are grouped into families . For example, if we have the entity Order, which has the list of ZamówionychProduktów it's family. What does this mean?
Entity can only belong to one family.
implication: If we have a contract and invoice entities and entity Kleint, which must be connected to the Orders and Invoices is unfortunately not possible. Your child may have one parent. Of course you can get around this in the Order and the Invoice object to use keys to the customer. But then we lose the ease of programming and dependence on the Cloud API.
Please note that the approach to data modeling in nonrelational database requires a different "attitude" - that the nature of the solution. If nierelacyjnie can object? But not quite - well, how? Personally
I prefer this approach, the Order or Invoice is indeed the key to the customer but also niepersystentne Customer field, which is set in it a separate question (this is not a big expense in BigTable database, which is really a multidimensional HashMap). These types of details can encapsulate the objects Repository that return data "folded" so that was convenient. OK, one problem solved.
transaction may involve only operations on a single family.
Thus, if the application logic family wants to save both the order and invoice to be are two separate transactions. And what if in the meantime, something unpleasant will happen? Hand carving and cleaning:)
Besides, as I mentioned, Spring AOP transactions do not work, so ink stains code of business transactions within the JPA API.
Datanucleus - "Implementation" JPA
Besides the fact that it is truncated also contains several errors - do not work, even in some simple examples of the tutorials JPA. The official group is hanging a lot of questions - no answers.
NAIL
Presentation
The presentation frameworks tested the JSF.
1.2 (with Seam) works.
2.0 works after applying one simple speszyl hook.
works in the sense that it starts up. In 2.0 there are some problems with the injection ManagedBeanów. RichFaces or ICEfaces does not have a version for the clouds. Officially PrimeFaces partially working. Again, this is not reliable and information - AJAX in general is falling apart.
And you can forget about running the methods with a parameter with the new engine expressions (el-api in version 2.2). Cloud refuses to cooperate with the new achievements.
//==============================
Given the above limitations:
- lack of a convenient framework (including support for AOP)
- poor ORM functionality requiring many manual operations
- mental model of programming prior to about 10 years
We have a significant drop in productivity.
guess where these JSP scriptlety and static methods in a promotional film? Could only make this work?
Too bad the blogosphere community and stops at the Hello World and does not verify a bit more thoroughly and reliably.
Finally I must add that very different assumptions in the construction of a cloud received Amazon. We get hardware and operating system. Nobody does not impose additional entities we built the hardware and does not come to us from our shoes in the years developed and tested a model of programming. And most importantly - it works:)
Tuesday, March 23, 2010
Mensuration Of Circles Problems
cost utilization patterns Bending Java project
During today's presentation on the Software craftsmanship and design patterns that moved in the Lublin JUG died a number of questions regarding:
- the cost of using the code patterns
- time pressures
- complications
is a general and often repetitive set of questions, because I think it is worth to dispel some doubts and misunderstandings.
Some developers see the use of the standard as unnecessary complication, which introduces additional overhead to produce the code.
Generally when it comes to the level of complexity of the patterns should reduce the accidental complexity and increase the readability of the complexity of proper . If we have the opposite situation is a pattern was used improperly or unnecessarily.
As a temporary surcharge to watch the strange belief that the interface and adding a few lines of code needed to share the code to more boxes (classes) was somehow a very long time;) Sam thought process and should not be significantly longer. Or know what pattern to use or do not know. It's not like that thought about this for hours.
It is worth noting that the catalog of design patterns General Purpose is quite rich.
Yes, some of them are quite sophisticated in terms of conceptual design or in terms of code. For example, the Visitor, Component, Tree, Bridge, Proxy, Builder, Flyweight, Memento shall carry a surcharge, but these are tools who choose to special missions. Are you sure you do not belong to the daily range of techniques. However
Strategy, Status, decorator, Template Method, Command, a slight "mental shortcuts" resulting directly in the Object Oriented paradigm . There is really nothing extraordinary about them.
Personally, I treat them as part of the "atomic building blocks", which should build the solution. They are almost beings of the same weight class as Ify, loops or method. Skilled mastery of light patterns that makes them expand our set of basic "building blocks of thought." We build them first mental models, and later naturally appear in the code.
manipulating light patterns on the level of basic blocks do not have time during the development of production overhead. However, complexity is greatly reduced, but only for those readers of code that have the same resource as the creator of association - that is, they operate the same vocabulary of the industry.
//=====================================
posiłkowania need to patterns of "light" caliber due to the poor power of expression languages \u200b\u200bderived from C + +, such as eg Java. For example, the lack domknięć can compensate for the strategies. Really is not anything terrible and laborious development of the interface with one method and several of its implementation. Number code "business" is not increased (ew reduction), while there are only additional "packaging" for him as a graceful and elegant classes.
If someone so much is not chump willing to write code that can should be a troubadour;)
heavy caliber patterns may also sometimes be useful to emulate missing elements of syntax, such as:
- double dispatch pattern emulated by Visitor
- lazy evaluation model emulated by Proxy.
During today's presentation on the Software craftsmanship and design patterns that moved in the Lublin JUG died a number of questions regarding:
- the cost of using the code patterns
- time pressures
- complications
is a general and often repetitive set of questions, because I think it is worth to dispel some doubts and misunderstandings.
Some developers see the use of the standard as unnecessary complication, which introduces additional overhead to produce the code.
Generally when it comes to the level of complexity of the patterns should reduce the accidental complexity and increase the readability of the complexity of proper . If we have the opposite situation is a pattern was used improperly or unnecessarily.
As a temporary surcharge to watch the strange belief that the interface and adding a few lines of code needed to share the code to more boxes (classes) was somehow a very long time;) Sam thought process and should not be significantly longer. Or know what pattern to use or do not know. It's not like that thought about this for hours.
It is worth noting that the catalog of design patterns General Purpose is quite rich.
Yes, some of them are quite sophisticated in terms of conceptual design or in terms of code. For example, the Visitor, Component, Tree, Bridge, Proxy, Builder, Flyweight, Memento shall carry a surcharge, but these are tools who choose to special missions. Are you sure you do not belong to the daily range of techniques. However
Strategy, Status, decorator, Template Method, Command, a slight "mental shortcuts" resulting directly in the Object Oriented paradigm . There is really nothing extraordinary about them.
Personally, I treat them as part of the "atomic building blocks", which should build the solution. They are almost beings of the same weight class as Ify, loops or method. Skilled mastery of light patterns that makes them expand our set of basic "building blocks of thought." We build them first mental models, and later naturally appear in the code.
manipulating light patterns on the level of basic blocks do not have time during the development of production overhead. However, complexity is greatly reduced, but only for those readers of code that have the same resource as the creator of association - that is, they operate the same vocabulary of the industry.
//=====================================
posiłkowania need to patterns of "light" caliber due to the poor power of expression languages \u200b\u200bderived from C + +, such as eg Java. For example, the lack domknięć can compensate for the strategies. Really is not anything terrible and laborious development of the interface with one method and several of its implementation. Number code "business" is not increased (ew reduction), while there are only additional "packaging" for him as a graceful and elegant classes.
If someone so much is not chump willing to write code that can should be a troubadour;)
heavy caliber patterns may also sometimes be useful to emulate missing elements of syntax, such as:
- double dispatch pattern emulated by Visitor
- lazy evaluation model emulated by Proxy.
Tuesday, March 9, 2010
Pursuit Remote Starter Indoor
Wojtek Gomoła Today's presentation of Lambda Expressions (C # and "emulation" in Java) for Lublin JUG reminded me of a few interesting toys that I found some time ago and forgot to write about them.
interesting feature of dynamic languages \u200b\u200bis a function:
- the ability to create structures similar to natural language
- the ability to extend the standard often used classes (usually a collection of containers) with a convenient method
- call a total tentatively "technical DSL
example, is causing such a joy to behold simplification:
kolekcja.wyrzucZNullemWPolu (" name "). sort ({e1.age> e2.age}). wytnijPierwszych (10);
As for me there is something to be excited because this is just the icing syntax and static languages \u200b\u200bwith strong type checking is only a question of creating some of the good old procedural interface strategy Utils comparation:
MyAlmightyUtils28.wyrzucZNullemWPolu (collection , "name")
and proper sequence of requests.
/ * Of course we all know that Utilsy are bad and the ugly, but what to do * /
Well, but no longer as beautiful as in the earlier example of a sexy-scripting-language.
Fortunately, there are a few interesting toys implemented in Java. Thanks for generykach cwanym tricks and use proper names they give us something more than a bit of structure known from the dynamic, weakly otypowanych languages.
op4j - a brilliant collection, which makes the tedious code becomes more readable and concise at the same time keep typing.
very basic example:
String [] emailArray = Op.on (userEmails). ToArrayOf (Types.STRING). ForEach (). Exec (FnString.toLowerCase ()). Get ();
lambda - similar toy from the stables of google. You can also look on google collections.
Mockito - our home production. Who else has not used, it should try. It is worth visiting if only to code because it is such a master documentation. The whole manual with examples is in the main JavaDocu "klaski! The formula for followed by other authors libraries - because it certainly is not for developers of commercial products;)
//==================
waiting for Java 1.7
Well, certainly on the certificates will be new arcyistotne questions designed to checking if the culprit is able to distinguish: the internal closure of the class and from the code niekompilującego P
Sunday, February 7, 2010
Cubefield That Is Not Blocked
Engineering in the service of general interest to professional climbing
/ * * Title
nothing taken from the banner
* with a parade of the prior
* sad era: )
* /
Hello after a long break. Today I will present some recognition Usability and the concept of useful applications and technical solutions - its architecture, and the two main design patterns.
Novice vs. Expert
utility has many faces. We can talk of transparency, intuitive, ergonomics, etc. Each of us probably will define a good GUI, as such, it offers what you would expect. But what does this mean? Of course, for every thing else.
Today we will focus on the problem of different needs and expectations of users with varying levels of sophistication.
Analysing Competence Development Model Dreyfus Brothers
brief description
broader description
we can conclude that users representing the extreme levels of competence need to radically different GUI.
Novice and Advanced Beginner are oriented tasks because they do not yet fully comprehend the problem. They need a specific path, which will be led by the hand and at every stage will get clear guidance about what to do.
On the other hand Competent , and Certified Expert are geared towards achieving the objective and more or less aware of how to achieve it.
As it happens in real life: "different people, different needs."
Less advanced users need applications of Assistant oriented tasks. This application should not attack the multitude of possibilities. At any given time should suggest (or even forced) to do the right thing. An example might be our favorite kretynatory (yyy wizards).
advanced user needs an application-oriented capabilities . Will be convenient for him extensive menu, without suggesting what you click. An advanced user knows what he wants to do and does not need to prompt him. Not only that, the user has executed its own style of work, so that an application assistant merely annoying. The best example be: IDE (eg Eclipse), an advanced text editor or CAD tool. Thousands of options in the menu and the white sheet on a good day.
classic problem in the business applications is the study guide users. Old systems of this class orientowało on the possibility (now the situation is slowly changing.) We therefore unfortunate użytkowniczkę who start school operating system (it can also simultaneously "machine learning"). Overwhelmed by a multitude of options results in one thing: taming. User has no other choice but to master the business process on a chimpanzee click on the third to the left, then ok, then the penultimate tab, then click on second from bottom ...
We all know the solution to a clash that was to help newcomers in okiełzaniu expert tool - a paper clip in Office;)
APPLICATION EXAMPLE
In the case of enterprise applications is easier. User has no other choice but to grit your teeth and learn the (pardon me - to school.) It is simply a tool for the job unpleasant.
contrast, when our application is to compete on the open market, then we must make the effort a bit. You annoyed autistic GUI applications simply abandon it and go zaklnie the competition:)
Users are now very patient and have high demands for pleasure - the MTV generation?
To determine the application context that campaigns for a high level of customer service, imagine a system for interior design, interior design such as the kitchen. Let
design requires, inter alia: determining the area of \u200b\u200bthe room, arrangements of holes and other obstructions, spacing, furniture and household appliances, fit all sizes, choice of materials which are to be the performance of individual components, etc. Next We have technical drawings, the amount due, contracts, etc.
Fix challenge: the application is to be used by:
- end customers, who are once more (teen) years to buy a "kitchen"
- kitchen designers who daily wyklikują several such sets.
What about the competence of our members?
It is clear that the final customer is a total novice when it comes to the application. Will use it again (ew as a family, "hacker" will help szwagrowi wyklikać his set). Therefore never acquire the higher powers. Worse customer can also be incompetent in the domain of the problem, that is, all issues related to kitchens.
Manual of course fall, because the irate customer would go to the competition.
designer is usually as competent in the domain of the problem;) will also as a novice user, but because it will have the motivation and frequent contact with the application, it quickly reaches the level of Competent eventually comes to an Expert .
ARCHITECTURE SOLUTIONS
So we have two classes of users who need a radically different interface. Newbie it requires the entire design process step by step, without question, defalutowo, quickly, smoothly and without irritation. An advanced user needs and the freedom, opportunities, and thousands of detailed options.
How can this be reconciled? Do we need to create almost two separate applications?
Not necessarily, if we approach the problem rationally, we can reduce the overhead associated with the preparation of two versions.
We can deal with the problem as follows:
Evolved CORE application that contains classes responsible for the main functionality, ie interior design (along with all the related rules) and the visualization of the project.
Core is available through the API.
We have two sets of GUI: a simple and intuitive task oriented and designed for beginners. The second is a classic monster for an expert, offering countless opportunities in the extended menu.
Both GUI Corem communicate with you by sending commands encapsulated using the Command design pattern . The idea of \u200b\u200bthe pattern is such that operations are not the methods (as in the classical approach of Procedure). Actions are objects. For all classes there is a common command interface contains one method - it is a signal to a command that has implemented it is contained in the logic. Concrete
command contains a set of instructions that operate on the API Cora. Of course, sent from GUI commandy Novice will contain more code operates on the API. One function of such a user performs more operations. Commandy sent from the GUI Expert will be more elementary. Commandy can inherit when you can decorate each other out using standard Dekratora to reużycia logic.
In addition, we presented architecture pattern Mediator. It was introduced as a "runtime" for commands and "hub" spanning multiple components. GUI sends commadny the Mediator, and a mediator carries the system (by running a common interface method) by providing context for them to start, or core.
mediator may also be the occasion to manipulate the state of the GUI, which does not belong to Core (for example, impose a transparent cloud of long-time operation or involve the availability of options in the menu). The mediator can also generate application events, which will be supported by Graphic showing some components of the event occurring. You can play with the will of the Mediator, but be careful not to become a divine class with too much responsibility.
INCREASES USABILITY
Any useful system, whose concept is based on extensive user interaction should offer the functionality of the "Undo." The introduction of this functionality is generally very difficult. Who struggled with this problem is probably trying to inefficient solution that the "dump" the current state of the memory while performing any operation that modifies state.
Overall this is a problematic feature, unless ...
... posiłkujemy the Command pattern:)
can then be extended to cover anti-command.
Each command contains the logic contains an anti-command (as an object accessible through getter - getter in the interface and Command). Antypolecenie contains the logic inverse of the command.
Now in our case the mediator using the command, it takes an anti-command, and puts them on the stack. If necessary, ie when the user clicks Undo (Ctrl + z) we call the Mediator, which retrieves the command from the stack of anti-Command and made it. Simple:)
//==============================
While usability issues discussed in the context of user competence Overall, it applies the solution is not presented to a web application with a thin client. Anyway, this customer is applicable to another class of problems.
contrast, the growing popularity of thick clients (based on: Flex, JavaFX, Silverlight, old-good-under-funded-by-matołów-Sun applets or even GWT) predicts that the more often we meet with problems of this class.
/ * * Title
nothing taken from the banner
* with a parade of the prior
* sad era: )
* /
Hello after a long break. Today I will present some recognition Usability and the concept of useful applications and technical solutions - its architecture, and the two main design patterns.
Novice vs. Expert
utility has many faces. We can talk of transparency, intuitive, ergonomics, etc. Each of us probably will define a good GUI, as such, it offers what you would expect. But what does this mean? Of course, for every thing else.
Today we will focus on the problem of different needs and expectations of users with varying levels of sophistication.
Analysing Competence Development Model Dreyfus Brothers
brief description
broader description
we can conclude that users representing the extreme levels of competence need to radically different GUI.
Novice and Advanced Beginner are oriented tasks because they do not yet fully comprehend the problem. They need a specific path, which will be led by the hand and at every stage will get clear guidance about what to do.
On the other hand Competent , and Certified Expert are geared towards achieving the objective and more or less aware of how to achieve it.
As it happens in real life: "different people, different needs."
Less advanced users need applications of Assistant oriented tasks. This application should not attack the multitude of possibilities. At any given time should suggest (or even forced) to do the right thing. An example might be our favorite kretynatory (yyy wizards).
advanced user needs an application-oriented capabilities . Will be convenient for him extensive menu, without suggesting what you click. An advanced user knows what he wants to do and does not need to prompt him. Not only that, the user has executed its own style of work, so that an application assistant merely annoying. The best example be: IDE (eg Eclipse), an advanced text editor or CAD tool. Thousands of options in the menu and the white sheet on a good day.
classic problem in the business applications is the study guide users. Old systems of this class orientowało on the possibility (now the situation is slowly changing.) We therefore unfortunate użytkowniczkę who start school operating system (it can also simultaneously "machine learning"). Overwhelmed by a multitude of options results in one thing: taming. User has no other choice but to master the business process on a chimpanzee click on the third to the left, then ok, then the penultimate tab, then click on second from bottom ...
We all know the solution to a clash that was to help newcomers in okiełzaniu expert tool - a paper clip in Office;)
APPLICATION EXAMPLE
In the case of enterprise applications is easier. User has no other choice but to grit your teeth and learn the (pardon me - to school.) It is simply a tool for the job unpleasant.
contrast, when our application is to compete on the open market, then we must make the effort a bit. You annoyed autistic GUI applications simply abandon it and go zaklnie the competition:)
Users are now very patient and have high demands for pleasure - the MTV generation?
To determine the application context that campaigns for a high level of customer service, imagine a system for interior design, interior design such as the kitchen. Let
design requires, inter alia: determining the area of \u200b\u200bthe room, arrangements of holes and other obstructions, spacing, furniture and household appliances, fit all sizes, choice of materials which are to be the performance of individual components, etc. Next We have technical drawings, the amount due, contracts, etc.
Fix challenge: the application is to be used by:
- end customers, who are once more (teen) years to buy a "kitchen"
- kitchen designers who daily wyklikują several such sets.
What about the competence of our members?
It is clear that the final customer is a total novice when it comes to the application. Will use it again (ew as a family, "hacker" will help szwagrowi wyklikać his set). Therefore never acquire the higher powers. Worse customer can also be incompetent in the domain of the problem, that is, all issues related to kitchens.
Manual of course fall, because the irate customer would go to the competition.
designer is usually as competent in the domain of the problem;) will also as a novice user, but because it will have the motivation and frequent contact with the application, it quickly reaches the level of Competent eventually comes to an Expert .
ARCHITECTURE SOLUTIONS
So we have two classes of users who need a radically different interface. Newbie it requires the entire design process step by step, without question, defalutowo, quickly, smoothly and without irritation. An advanced user needs and the freedom, opportunities, and thousands of detailed options.
How can this be reconciled? Do we need to create almost two separate applications?
Not necessarily, if we approach the problem rationally, we can reduce the overhead associated with the preparation of two versions.
We can deal with the problem as follows:
Evolved CORE application that contains classes responsible for the main functionality, ie interior design (along with all the related rules) and the visualization of the project.
Core is available through the API.
We have two sets of GUI: a simple and intuitive task oriented and designed for beginners. The second is a classic monster for an expert, offering countless opportunities in the extended menu.
Both GUI Corem communicate with you by sending commands encapsulated using the Command design pattern . The idea of \u200b\u200bthe pattern is such that operations are not the methods (as in the classical approach of Procedure). Actions are objects. For all classes there is a common command interface contains one method - it is a signal to a command that has implemented it is contained in the logic. Concrete
command contains a set of instructions that operate on the API Cora. Of course, sent from GUI commandy Novice will contain more code operates on the API. One function of such a user performs more operations. Commandy sent from the GUI Expert will be more elementary. Commandy can inherit when you can decorate each other out using standard Dekratora to reużycia logic.
In addition, we presented architecture pattern Mediator. It was introduced as a "runtime" for commands and "hub" spanning multiple components. GUI sends commadny the Mediator, and a mediator carries the system (by running a common interface method) by providing context for them to start, or core.
mediator may also be the occasion to manipulate the state of the GUI, which does not belong to Core (for example, impose a transparent cloud of long-time operation or involve the availability of options in the menu). The mediator can also generate application events, which will be supported by Graphic showing some components of the event occurring. You can play with the will of the Mediator, but be careful not to become a divine class with too much responsibility.
INCREASES USABILITY
Any useful system, whose concept is based on extensive user interaction should offer the functionality of the "Undo." The introduction of this functionality is generally very difficult. Who struggled with this problem is probably trying to inefficient solution that the "dump" the current state of the memory while performing any operation that modifies state.
Overall this is a problematic feature, unless ...
... posiłkujemy the Command pattern:)
can then be extended to cover anti-command.
Each command contains the logic contains an anti-command (as an object accessible through getter - getter in the interface and Command). Antypolecenie contains the logic inverse of the command.
Now in our case the mediator using the command, it takes an anti-command, and puts them on the stack. If necessary, ie when the user clicks Undo (Ctrl + z) we call the Mediator, which retrieves the command from the stack of anti-Command and made it. Simple:)
//==============================
While usability issues discussed in the context of user competence Overall, it applies the solution is not presented to a web application with a thin client. Anyway, this customer is applicable to another class of problems.
contrast, the growing popularity of thick clients (based on: Flex, JavaFX, Silverlight, old-good-under-funded-by-matołów-Sun applets or even GWT) predicts that the more often we meet with problems of this class.
Tuesday, January 26, 2010
Whatever Happened To The Ls Models?
Finally, after more than a month break I found a moment to write a post:)
No time to write mainly due to the flood of new responsibilities for the care of the 3-week daughter:]
Therefore, today, refer to the article I wrote, which appeared in February issue SDJ Fri:
"Climbing to the professionalism
Model path of development of competence - a pragmatic approach"
paper discusses the development of skills in the context of real estate development Competency Model Dreyfus Brothers, which is already I wrote .
The text retains the markers specific for publishers because they are easy for "people in the industry," and yet give it structure. The text contains several pages, but apparently quickly and easily read it;)
Feel free to read the article and maybe even the entire number devoted to game programming - always an interesting variety of enterprajz;)
//======= =================
over the next week baby should przepoczwarzyć in a less resource hungry baby and thus will be a few new posts. Will on issues of craftsmanship , among others. system design in terms of usability (based on my past experience with some autistic koszmarkami).
Subscribe to:
Comments (Atom)