Pull to refresh
0
0

User

Send message

Почему писать приложения под N900 выгодно!

Reading time 7 min
Views 2.1K
За последнее время Nokia сделало очень много шагов, которые должны сделать привлекательной платформы от Nokia. И я просто не могу обойти стороной это событие и резюмирую все, что мне показалось значительным и полезным.
image

Если честно, я даже не надеялся, что такой гигант так быстро и просто сможет перестраиваться под рынок. Но последние два года показали, что Nokia серьезно намерена удерживать свои позиции на мобильном рынке и будет бороться. Вот последняя неделя меня просто удивила и обрадовала событиями.
Как тут уже писали ранее вышел релиз Qt Nokia SDK для Windows и Linux и бета для Mac Os. Но на этом радости только начинаются.

Читать дальше →
Total votes 68: ↑44 and ↓24 +20
Comments 198

Как заработать деньги на торговых автоматах: VendExpo 2010

Reading time 2 min
Views 1.3K
Вендинговый аппаратВ продолжение цикла публикаций на тему вендинга в России — немного красивых фотокарточек с выставки вендинговых новинок.

Автоматы по продаже кофе, снеков или даже бахил нам уже более-менее знакомы и встречаются уже практически повсеместно, так что тем, кто хочет занять пока пустующую нишу, могут быть интересны:
  • автомат, приготавливающий попкорн и сладкую вату
  • автоматы с обедами
  • автоматы с хот-догами

А также:
  • апгрейд к платежным терминалам (с книгами и дисками)
  • автомат с бахилами, надевающий их прямо на ноги
  • автомат-соковыжималка

Все картинки и рассказ о выставке — под катом, велкам.

Читать дальше →
Total votes 54: ↑38 and ↓16 +22
Comments 36

Спать мало, но правильно?

Reading time 7 min
Views 897K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →
Total votes 713: ↑670 and ↓43 +627
Comments 420

Как покупать в интернет-магазинах США так же просто, как и в России

Reading time 7 min
Views 80K
Радость потребленияВ нашей прошлой статье мы начали разговаривать об особенностях покупки на великом и ужасном eBay.com. Сегодня же расскажем о другой стороне сетевого шоппинга – о покупках в интернет-магазинах.

Поговорим об американских интернет-магазинах, о разнице в сантиметрах и вольтах, об особенностях доставки и подробно расскажем о покупке товара с помощью сервиса EbayToday.ru

Читать дальше →
Total votes 102: ↑70 and ↓32 +38
Comments 148

Состояние Web-разработки по полочкам. Мнение одного специалиста в 25 твитах

Reading time 5 min
Views 1.1K
Перевод статьи упомянутой в моем продыдущем переводе.

Не так много специалистов хорошо знают всю подноготную веба. Среди них Joe Hewitt. Последние десять лет он работал на таких гигантов индустрии как Netscape, AOL, Firefox и Facebook (где он сейчас работает). Об iPhone Hewitt также знает не по-наслышке. Это он первым написал отличное веб приложение Facebook для iPhone (когда еще не было нативных приложений), а затем и нативный клиент – одно из лучших приложений на платформе iPhone. Поэтому, когда Joe что-то говорит по делу (он делает это время от времени), люди внимают. И сегодня он решил высказаться.
Читать дальше →
Total votes 60: ↑40 and ↓20 +20
Comments 95

Принцип «Mea culpa» в общении с заказчиком

Reading time 7 min
Views 2.8K
Сейчас, пожалуй, только староверы в глубокой тайге не знают, что такое фриланс. Причем те из них, кто еще не отдал добычу еды на аутсорсинг. И вместе с тем, как набирает обороты движение свободных разработчиков, рождается множество забавных, а, порою, опасных религий, с этим связанных. Про одну из них мне и хотелось бы поведать. Мотиватором для этого послужила данная статья на Хабре — habrahabr.ru/blogs/pm/95548.
NB: Статья, разумеется, шутливая и позже была перенесена в ХабраЮмор, но нас ведь не проведешь и мы прекрасно понимаем, что юмор используется для того, чтобы на рынок умов могло проникнуть то, что не пустят через парадный вход. Как говориться, политический анекдот — это тоже шутка. В общем обратите внимание, что рассматривается не упомянутая статья, а религия, частным порождением которой эта статья и является..

Итак, есть такая партиярелигия: заказчик — Враг, потому что он Виноват Во Всем. Именно так, с большой буквы «В». Иногда он Гад, Мерзавец и Подонок, но в итоге он все равно Виноват. Сорваны сроки — виноват заказчик, проснулись с больной головой — виноват заказчик, молоко убежало — виноват заказчик. Любое письмо от заказчика вызывает нервный тик, звонок — приступы бешенства, а уж встреча — это ринг микс-файтинга и DeathTrack'а без каких-либо правил.

Естественно, мы любим его, когда он нас выбирает в качестве подрядчика. Воодушевляемся, когда получаем аванс и т.п. Но речь идет о тех моментах, когда проект пошел не туда, куда мы его направляли. Или не направляли, но тайно в душе надеялись, что он туда пойдет. Вот в такие периоды и проявляется наша «темная сторона» и мы начинаем искать его вину… Впоследствии различные «виноватости» группируются, сортируются и каталогизируются, рождая множество притч, легенд и статей аналогичных вышеупомянутой. Но разрешите вам представить и другую точку зрения.
Читать дальше →
Total votes 90: ↑79 and ↓11 +68
Comments 46

Java EE 6. Что нового в Servlet API 3.0

Reading time 3 min
Views 22K


С выходом Java EE 6 на ряду со значительными изменениями в JPA 2.0 спецификации сервлетов 3.0 также притерпела ряд улучшений: упростилась разработка и процедура развертывания, конфигурирование стало более удобным, появилась поддержка асинхронных запросов и улучшилась модель безопасности. Далее я попытаюсь осветить основные изменения в API.

Программирование и развертывание сервлетов упростилось главным образом за счет введения аннотаций для декларирования сервлет (@WebServlet), фильтров (@WebFilter), листнеров (@WebListener) и ограничений безопасности (@ServletSecurity). Таким образом, и дескриптор развертывания web.xml стал опциональным элементом. Обращаю внимание, что сами компоненты Servlet API не стали POJO, привычную иерархию интерфейсов и классов никто не отменял. Также добавилась аннотация для поддержки загрузки файлов @MultipartConfig и для установки параметров инициализации @WebInitParam.

Пример Hello World сервлета
package net.ismailov.tests;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name="hw", urlPatterns = "/hello_world")
public class HelloWorld extends HttpServlet{

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    PrintWriter writer = response.getWriter();
    writer.println("<h1>Hello, World!</h1>");
    
  }

}


Читать дальше →
Total votes 47: ↑37 and ↓10 +27
Comments 34

Паттерн проектирования «Приспособленец» / «Flyweight»

Reading time 6 min
Views 31K
Почитать описание других паттернов.

Проблема


Проектирование объектов самых низких уровней системы, может обеспечить ее оптимальную гибкость, однако сопровождается неприемлемыми затратами памяти и производительности.

Описание


Как уже отмечалось, существует большое количество программных систем, предназначением которых, является конструирование сложных составных объектов из большого числа более мелких и простых объектов. При этом, гибкость и универсальность подобных систем, достигается за счет предоставления пользователю полного набора инструментов и примитивов. Важно понимать, что примитивами, в данном контексте являются элементарные объекты, из которых в последствии конструируются составные. Причем, уровень на котором, объект считается примитивным, на самом деле, определяет применимость и эффективность данной системы. Однако, не всегда существует возможность спроектировать систему вплоть до самых низких уровней абстракции. Затраты на память и низкая производительности системы, при прямом подходе, не позволяют этого сделать. Поэтому, при проектировании подобных систем, зачастую применяют паттерн «Приспособленец».
Читать дальше →
Total votes 58: ↑37 and ↓21 +16
Comments 21

Подсчёт времени выполнения метода через аннотацию

Reading time 8 min
Views 19K
Во многих проектах требуется посчитать время, которое затратил тот или иной метод. Для этого можно вручную сохранять значение System.currentTimeMillis() и после метода вычислять затраченное время. Когда методов много это становится не очень удобным.
Поэтому я решил написать простенькую аннотацию, которая бы считала время выполнения метода. Попытавшись найти информацию в интернете, понял, что её по данной теме очень мало. Придётся как-то выкручиваться, собирая информацию по крупицам.
Читать дальше →
Total votes 51: ↑49 and ↓2 +47
Comments 30

Struts 2 на Google App Engine. Рецепты настройки

Reading time 18 min
Views 2.2K
image

Для использования одного из самых удобных веб фреймворков для java на популярной облачной платформе Google AppEngine необходимо совершить ряд действий. Данная статья появилась в результате моих продолжительных экспериментов. Буду рад, если Вы поделитесь своим опытом работы с вашими любимыми фреймворками на платформе GAE в коментариях :-)

Используемые библиотеки

Я использую обычно следующий набор библиотек:
  • commons-fileupload-1.2.1.jar
  • commons-io-1.3.2.jar
  • commons-logging-1.0.4.jar
  • commons-logging-api-1.1.jar
  • freemarker-2.3.13.jar
  • ognl-2.6.11.jar
  • struts2-core-2.1.6.jar
  • xwork-2.1.2.jar

Я пользуюсь IntelliJ Idea 9 и она подкачивает зависимости автоматически после того, как я указываю использование Struts 2 при создании проекта. Также существует возможность развертывать приложения на облачной платформе через специальное меню IDE, и вообще поддержка AppEngine на очень хорошем уровне.

Далее необходимо обойти или адаптироваться к ограничениям облачной платформы, ибо Appengine запрещает прямой доступ к тредам, файловым и многим другим ресурсам.

Интересно? Идем дальше!
Total votes 4: ↑3 and ↓1 +2
Comments 4

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity