Как стать автором
Обновить
134
0
Иващенко Иван @defuz

Разработчик

Отправить сообщение

Пишем одностраничный клиент на javascript

Время на прочтение5 мин
Количество просмотров48K
Данная статья является вольным переводом. Оригинал тут.

Введение


Думаю, ни для кого не секрет, что клиентские приложения в современных веб-сервисах становится все сложнее и количество JS кода в них растет. До недавнего времени архитектура клиентской части, как правило, разрабатывалась с нуля и была специфична для каждого проекта. Не удивительно что приходилось снова и снова сталкиваться с типичными задачами.
К MVC-фреймворкам на серверной стороне все уже привыкли, но JS код на клиенте часто бывает плохо структурирован.

Предлагаю ознакомиться с решением на базе backbone.js, underscore.js и jQuery, которое поможет решить эту проблему.

Постановка задачи


Каким бы мы хотели видеть наше приложение? Вот основные моменты, которые мне кажутся важными:
  1. Должен быть удобный способ описать модели нашей предметной области.
  2. Любые изменения в модели должны немедленно отражаться в пользовательском интерфейсе, если модель в нем представлена каким-либо образом.
  3. Понятная и легко-поддерживаемая структуризация кода в стиле MVC.


Попробуем решить эти задачи на примере простого приложения «Каталог фильмов».
Поехали!
Всего голосов 70: ↑64 и ↓6+58
Комментарии51

10 способов улучшить свои навыки программирования

Время на прочтение4 мин
Количество просмотров88K

1. Выучить новый язык программирования


Изучение нового языка программирования разовьет новые способы мышления, особенно если новый язык программирования использует парадигмы, с которыми Вы еще не знакомы. Многие из приобретенных способов мышления могут быть применены к языкам, которые уже знаете. Возможно, вы даже полюбите новый для Вас язык программирования настолько, что начнёте использовать его для серьёзных проектов.

Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).

Читать дальше →
Всего голосов 239: ↑227 и ↓12+215
Комментарии96

Советы, как успешно завалить проект

Время на прочтение2 мин
Количество просмотров5.5K
На Хабре много статей о завершённых проектах (стартапах), советов как стать успешным и как доделать игру. Мне, к сожалению, довелось поучаствовать и в нескольких незавершённых проектах.

Так вот, советы как завалить проект:

1) Если вам в проекте нужна графика, каждый человек в команде должен попробовать себя в роли художника. Если задание отдано одному художнику, всем обязательно нужно принимать участие в обсуждении результата, давать советы и вообще всячески помогать. Художнику при этом нужно постоянно перерисовывать и править, дабы угодить всем сразу. Вообще, демократия – лучший метод для решения всех задач в проекте.

2) Концепт не нужен, зачем тратить время? Главное, начать как можно быстрей писать код, а идеи и концепт обязательно придут в пути. Кто быстрей начнёт программировать, сможет забронировать самые интересные задания.

3) Очень важно менять существенные вещи примерно в середине проекта, а лучше несколько раз. Ведь нужно было срочно программировать, и выбрали не ту технологию, не тот способ, 3D графику вместо 2D.
Читать дальше →
Всего голосов 161: ↑142 и ↓19+123
Комментарии73

О «проблемах» молодых предпринимателей (стартаперов) в России простыми словами

Время на прочтение1 мин
Количество просмотров2.9K
Дмитрий Потапенко как всегда четко и по-простому рассказывает о «проблемах» предпринимательства в России.

«У нас до сих пор совковый подход к себе… Якобы, у нас проблема с мотивацией… Если ты не хочешь, урод, то тебя, урода, невозможно что-то заставить делать» (с) Потапенко

Всего голосов 136: ↑115 и ↓21+94
Комментарии187

Unity customization

Время на прочтение5 мин
Количество просмотров35K
Доброго времени суток.

Сегодня я хочу рассказать вам о том, как можно изменить внешний вид графической оболочки Natty Narwhal — Unity.

Немного предыстории

Началось все с выпуска Ubuntu 11.04 Beta 2, очень уж мне захотелось попробовать в деле пакет Ayatana Scrollbars, однако установка его на 10.10 оказалась невозможной — версии в PPA начинаются с Natty.
Честно говоря, исходники то доступны, так что, теоретически, установить overlay-scrollbar на 10.10 можно, но для этого придется обновить libglib до версии 2.28, а в Synaptic'е Maverick'а наивысшая версия — 2.26. А переставлять libglib руками — это то еще удовольствие.
Читать дальше →
Всего голосов 56: ↑53 и ↓3+50
Комментарии54

Отслеживание скорости загрузки страниц на сайте

Время на прочтение1 мин
Количество просмотров6.8K
Нередко возникает потребность определить скорость загрузки страниц на сайте, чтобы отловить медленные страницы и оптимизировать их. Но какого-то универсального решения для этого не было. Теперь же такое решение появилось в новой версии Google Analytics!

По-умолчанию эта функция в Google Analytics отключена. Для ее включения достаточно добавить одну строчку в код GA. Это вызов функции _trackPageLoadTime();, который нужно разместить после функции _trackPageview();

Вариант для асинхронного кода GA:
_gaq.push(['_trackPageview']);
_gaq.push(['_trackPageLoadTime']);


Вариант для стандартного кода GA:
pageTracker._trackPageview();
pageTracker._trackPageLoadTime();


После обновления кода отслеживания GA данные будут поступать в отчет «Содержание -> Скорость загрузки сайта». (! Данный отчет есть только в новом интерфейсе Google Analytics!) Отчет содержит список страниц сайта, отсортированный по среднему времени загрузки в секундах от большего к меньшему.

Очень полезный функционал, которому можно найти множество применений в веб-аналитике.

Более подробно об этой функции можно почитать в справке Google Analytics: http://www.google.com/support/analyticshelp/bin/answer.py?hlrm=en&answer=1205784&topic=112071
Всего голосов 69: ↑66 и ↓3+63
Комментарии25

Что такое «асинхронная событийная модель», и почему сейчас она «в моде»

Время на прочтение15 мин
Количество просмотров54K
Сейчас в тематических интернетах модно слово «Node.js». В этой небольшой статье мы попробуем понять («на пальцах»), откуда всё это взялось, и чем такая архитектура отличается от привычной нам архитектуры с «синхронным» и «блокирующим» вводом/выводом в коде приложения (обычный сайт на PHP + MySQL), запущенного на сервере приложений, работающем по схеме «по потоку (или процессу) на запрос» (классический Apache Web Server).
Читать дальше →
Всего голосов 163: ↑153 и ↓10+143
Комментарии130
12 ...
7

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Работает в
Дата рождения
Зарегистрирован
Активность