Pull to refresh
2
0
Никита Чудаков @giko

User

Send message

Несколько идей по повышению личной продуктивности веб-разработчика

Reading time5 min
Views10K
Польза, которую человек приносит обществу, с одной стороны, крайне субъективна, с другой — по ней оценивается зарплата, вклад в историю, авторитет и многие другие «аспекты» жизни человека. Причём, конечность времени жизни заставляет нас за то же время делать больше или делать то же за меньшее время. Переходя от философии к практике, я хочу представить несколько идей, которые я попробовал, и которые помогли мне повысить свою продуктивность.

Данные идеи я применял как веб-разработчик, но некоторые из них будут полезны и в других областях — дизайне, работе с данными и т.д.
Читать дальше →
Total votes 152: ↑124 and ↓28+96
Comments220

Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 1

Reading time11 min
Views113K
(от 27 июля 2012)
При написании нативного веб-приложения легко начать чувствовать себя богом, способным работать просто с библиотекой работы с DOM (такой как jQuery) и горсткой сервисных плагинов. Вскоре возникает проблема в виде груды вложенных возвратных функций jQuery и разбросанных DOM-элементов без всякой структуры вместо приложения.

Короче, мы застреваем в спагетти-коде. К счастью, есть современные JS-фреймворки (библиотеки, задающие, кроме функций, правила организации кода --прим. перев.), помогающие поддерживать структуру и организованность в проекте, облегчающие ремонтопригодность в будущем.

■ Что такое MVC или, лучше сказать, MV*?


Эти современные библиотеки дают разработчикам простой путь к организации кода, используя вариации паттерна проектирования, известного как MVC (Model-View-Controller). MVC разделяет задачи в приложении на 3 части:
Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments23

Бесплатные книги по JavaScript

Reading time2 min
Views66K

Javascript Enlightenment


Cody Lindley


Уровень знаний: средний
Тщательный обзор мировоззрения JavaScript через разбор встроенных объектов и нюансов.

Открыть

Eloquent Javascript


Marijn Haverbeke


Уровень знаний: начинающий
Вводная книга по JavaScript и программирование в целом.
Открыть

Building A JavaScript Framework


Alex Young


Уровень знаний: продвинутый
Избранные статьи из цикла«Let’s Make a Framework».
Открыть

Читать дальше →
Total votes 77: ↑73 and ↓4+69
Comments15

AngularJS — фреймворк для динамических веб-приложений от Google

Reading time6 min
Views138K
AngularJS создан для тех разработчиков, которые считают, что декларативный стиль лучше подходит для создания UI, а императивный — для написания бизнес-логики.

Дзен Angular


  • Хорошо отделять манипуляцию DOM-ом от логики работы приложения. Это существенно улучшает тестируемость кода.
  • Хорошо считать, что автоматизированное тестирование приложения настолько же важно, насколько и написание самого приложения. Тестируемость очень сильно зависит от того, как структурирован код.
  • Хорошо отделять разработку клиентской части от серверной. Это позволяет вести разработку параллельно и улучшает повторное использование на обеих сторонах.
  • Хорошо, когда фреймворк ведет разработчика по всему циклу разработки приложения: от проектирования UI через написание бизнес-логики к тестированию.
  • Хорошо, когда распространенные задачи становятся тривиальными, а сложные — упрощаются.


AngularJS представляет собой комплексный фреймворк. В стандартной поставке он предоставляет следующие возможности:
  • Все, что вам нужно для создания CRUD-приложений: data-binding, базовые директивы для шаблонов, валидация форм, роутинг, deep linking, повторное использование компонентов, dependency injection, инструменты для взаимодействия с серверными (RESTful) источниками данных.
  • Все, что вам нужно для тестирования: средства для модульного тестирование, end-to-end тестирования, mock-и.
  • Шаблон типового приложения, включающего в себя структуру каталогов и тестовые скрипты.


AngularJS разрабатывается сотрудниками Google и используется, как минимум, в одном сервисе Google — DoubleClick.

Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments36

Пайка для начинающих

Reading time6 min
Views828K
Мои отношения с радио- и микроэлектроникой можно описать прекрасным анекдотом про Льва Толстого, который любил играть на балалайке, но не умел. Порой пишет очередную главу Войны и Мира, а сам думает «тренди-бренди тренди-бренди...». После курсов электротехники и микроэлектроники в любимом МАИ, плюс бесконечные объяснения брата, которые я забываю практически сразу, в принципе, удается собирать несложные схемы и даже придумывать свои, благо сейчас, если неохота возиться с аналоговыми сигналами, усилениями, наводками и т.д. можно подыскать готовую микро-сборку и остаться в более-менее понятном мире цифровой микроэлектроники.

К делу. Сегодня речь пойдет о пайке. Знаю, что многих новичков, желающих поиграться с микроконтроллерами, это отпугивает. Но, во-первых, можно воспользоваться макетными платами, где просто втыкаешь детали в панель, без даже намека на пайку, как в конструкторе.
Читать дальше →
Total votes 131: ↑118 and ↓13+105
Comments100

Google Fiber запущен в Канзас-Сити — стоимость и условия молниеносного интернета

Reading time2 min
Views6.5K
Как и было обещано ранее, сегодня, 26 июля поисковый гигант официально запустил проект ультра-быстрого интернета Google Fiber в городе Канзас-Сити с населением в 145 000 жителей ( ascending указывает, что суммарно число жителей города Канзас-Сити в Миссури и Канзасе — граница штатов идёт прямо через город — составляет 600 000 человек), присовокупив к самому подключению довольно много привлекательных особенностей.

Прежде всего Google позаботился о жёстких дисках подключившихся пользователей — им предоставляется 1 Тб на Google Drive, причём по достижении лимита использования квоты она будет бесплатно автоматически увеличена (как указывается, бесплатно и столько раз, сколько владелец аккаунта сумеет выкачать).

В дополнение к интернету пользователям предлагается услуга кабельного телевидения, в том числе и «по запросу», которая уже включает в себя около 500 часов HD-видео различных программ и шоу. Технически это обеспечивается Google Fiber Network Box — устройством, представляющим из себя кабельный модем и одновременно гигабитный роутер, способный прямо раздавать получаемый контент по Wi-Fi или через один Ethernet-порт.

Выглядит Network Box так:
Узнать подробности
Total votes 51: ↑46 and ↓5+41
Comments127

JScriptInclude Gear v 0.1.0 — механизм каскадного импорта скриптов/библиотек. (Реванш)

Reading time8 min
Views1K
Доброго времени суток уважаемые хабражители.

Предлагаю Вашему вниманию пост-реванш, под названием JScriptInclude Gear механизм каскадного импорта скриптов/библиотек. Предыдущий пост презентующий JScriptInclude Gear на данный момент самозабвенно убран в черновики, теперь он совсем не актуален, не смотря на то, что предыдущая презентация была довольно сурово воспринята хабра-яваскриптерами, а там все таки было за что :), очень много опалы было вызвано непониманием сути, а именно того, что
JScript(WSH) != JavaScript(браузеры), в связи с чем JScriptInclude Gear возводился в ранг костылей, велосипедов, «было уже», «инахренаже» и т.д.
Я тогда очень хотел поделиться своим решением, но совсем не представлял как, как сделать его «вкусным» и понятным, но мне кажется сейчас у меня это получилось.
Тем не менее «Отхабренное» дело получило ход, люди пишут, люди пользуются, людям нравится. За прошедшую неделю я получил достаточно много отзывов, что стимулировало меня работать над своим решением, в итоге оно преобразилось до неузнаваемости. Спасибо всем, кто вышел вместе со мной на линию огня.

Тем же кто не знает о чем собственно речь — маленькое, завлекающее предисловие:
JScriptInclude Gear — это механизм каскадного импорта скриптов/библиотек предназначенный для использования в скриптах автоматизации написанных на языке JScript интерпретируемых технологией WSH(Windows Script Host) в окружении семейства операционных систем Windows. Дополнительно предоставляющий функционал для организации скриптов в виде базовых модулей, поддерживающий их определение в файлах конфигурации и их последующий вызов по псевдонимам и так далее, и тому подобное :)

Тех же, кто уже читал о JScriptInclude Gear в предыдущем посте, не смотря на, может быть, оставшийся негатив, я откланявшись попрошу остаться, уверяю Вас — здесь будет кое-что интересное, ведь изменилось почти всё: механизм теперь экспортируется COM-компонентой и подключается к Вашему скрипту двумя строками кода, подготовлен SFX-пакет для установки механизма в систему с автоматической регистрацией компоненты и автоматической конфигурацией необходимых путей, документация переделана «от и до», и теперь представлена в виде HTML, пример теперь стартует без «танцев с бубном», а в качестве приятного бонуса, в нем представлено несколько полезных модулей, которые описаны в документации (они, все-же являются примером использования и «не претендуют»), и естественно «подвылизан» сам код, хотя в процессе использования Вы с ним теперь собственно не сталкиваетесь.
Для тех кому неймётся, милости прошу на GitHub:
Механизм JScriptInclude Gear SFX-пакет установки.
(самостоятельный до безобразия :) )
Механизм JScriptInclude Gear сoрцы как есть.
(О развертывании в доп комментарии к последнему комиту, или в справке — раздел jsImport Object врезка «Внимание!!!»)
И все же хотелось бы, чтобы Вы прочитали оставшиеся «много букаф», хотя бы до пункта Возможности JScriptInclude Gear:

Заинтересовавшихся милости прошу под хабракат…
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments9

Java2Js: Инструменты и шаблоны

Reading time3 min
Views2K


Кажется, что Js — это «просто скриптовый язык» на котором я по-быстрому добавлю нужные фичи на странице, не сильно заботясь о качестве кода. Когда-то это было верным. Даже текущие стандарты Js и Html в целом располагают к этой философии.
Но времена изменились! Теперь на Js создают сложные и запутанные веб-приложения, которые просто не могут не столкнуться с проблемами своих «старших братьев» (серверных приложениях написанных на Java, C# и т.д.). А значит, чтобы не погрязнуть в тысячах строк «спагетти-кода», требуется отказаться от философии «просто скрипт». Нужно воспринимать Js как инструмент, с которым требуется создать сложную, модульную и масштабируемую систему.

В рамках новой философии «серьезного языка, для серьезных задач» я хочу начать цикл небольших статей о мире Js со стороны Java разработчика. Начнем с инструментов и различных шаблонов разработки.

Читать дальше →
Total votes 14: ↑10 and ↓4+6
Comments52

SQL injection для начинающих. Часть 1

Reading time5 min
Views796K

Приветствую тебя, читатель. Последнее время, я увлекаюсь Web-безопасностью, да и в какой-то степени работа связана с этим. Т.к. я всё чаще и чаще стал замечать темы на различных форумах, с просьбой показать, как это всё работает, решил написать статью. Статья будет рассчитана на тех, кто не сталкивался с подобным, но хотел бы научиться. В сети относительно много статей на данную тематику, но для начинающих они немного сложные. Я постараюсь описать всё понятным языком и подробными примерами.
Читать дальше →
Total votes 191: ↑135 and ↓56+79
Comments160

Обзор зарплат программистов Java/C++/C#/Delphi

Reading time2 min
Views263K
Мы (мы — это рекрутинговая компания IT-Доминанта), продолжаем публиковать результаты нашего исследования рынка заработных плат в IT индустрии.
Очередной пост мы решили посвятить:
  • Java программистам
  • С++ программистам
  • C# программист
  • Delphi программистам


Читать дальше →
Total votes 87: ↑68 and ↓19+49
Comments119

О найме программистов и других инженеров

Reading time3 min
Views13K
Тут сегодня статью опубликовали, про найм программистов, о том, как их нужно собеседовать. Там разгорелся небольшой спор и меня поддернуло написать, что я по этому поводу думаю.

Безусловно, это мое мнение, основанное на моем опыте, и оно — не догма, но пока он (опыт) меня не подводил.

Этот пост адресован прежде всего «HR-щикам», но и всем остальным, думаю, тоже будет интересен.

Главный постулат:

HR-менеджер не должен собеседовать инженера. Он даже не должен к нему приближаться. Вообще.


Под катом я объясню почему.
Читать дальше →
Total votes 278: ↑240 and ↓38+202
Comments442

FLAC-декодер на Javascript

Reading time1 min
Views5.9K
Ребята из Official.fm Labs задумали совершить настоящую звуковую революцию в вебе: две недели назад они выпустили FLAC.js — декодер аудиофайлов формата FLAC (Free Lossless Audio Codec), а также Aurora.js — фреймворк на CoffeeScript для простого подключения декодеров и создания веб-приложений, работающих со звуком. Таким образом, через Web Audio API теперь можно слушать музыку в идеальном качестве, и все веб-приложения могут обращаться к звуковой карте стандартным образом.

Демо

JavaScript уже так могуч, что браузер декодирует звук, потребляя менее 5% ресурсов CPU. Можно представить, какие крутые звуковые редакторы, миксеры и прочие аудиоприложения появятся в вебе в ближайшее время.
Total votes 97: ↑89 and ↓8+81
Comments62

Прогнозирование закупок: адская, но очень полезная математика

Reading time4 min
Views82K
Представьте двух героев: коммерсанта Александра и сисадмина Василия. Вася, как олицетворение среднестатистического клиента, каждый вечер заходит в магазин Саши (представителя розничной сети) и покупает пиво. Саша заказывает для него 7 бутылок пива в неделю. Иногда Вася остаётся работать с ночевкой и не выходит из серверной, а иногда – после работы берёт по две бутылки пива для себя и главбуха.


График спроса на пиво в зависимости от жизненных приключений Васи

Саша не может предсказать эти периоды, поэтому постоянно находится меж двух огней: либо купить больше товара, «заморозить» деньги и потратиться на его хранение, либо купить ровно по среднему спросу, рискуя в какой-то момент расстроить Васю и его друга бухгалтера отсутствием нужного количества пива.
Читать дальше →
Total votes 62: ↑52 and ↓10+42
Comments49

Подготовка макета для верстальщика

Reading time1 min
Views14K


Заметка будет полезна начинающим веб-дизайнерам. У себя в блоге я уже поднимал тему того, должен ли дизайнер уметь верстать (на украинском). Тогда мы все сошлись во мнении, что он, как минимум, должен понимать то, как будет сверстан макет. И соответственно разрабатывать дизайн веб-ресурса таким образом, чтобы верстальщик не городил костылей для реализации заумных эффектов.

Поскольку разработка сайта — это командная, многоэтапная работа, то для достижения качественного результата на этапе дизайн-верстка, необходимо проработать не только визуальную часть дизайна, но и продумать интерактивные элементы. То есть те, которые изменяют свое состояние от действий пользователя. Это сразу откинет много вопросов верстальщика типа: «а как эта кнопка будет подсвечиваться?».
Читать дальше →
Total votes 123: ↑106 and ↓17+89
Comments88

Дайджест интересных новостей и материалов из мира айти за последнюю неделю №7 (19 — 25 мая 2012)

Reading time5 min
Views15K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


Читать дальше →
Total votes 32: ↑21 and ↓11+10
Comments9

Наш процесс разработки: 50 месяцев эволюции

Reading time9 min
Views44K
Нашей компании уже 6 лет. Она была основана на принципах agile и росла на них. Мы использовали Extreme Programming с самого первого дня, добавили немного Scrum позже и в конце концов переключились на Kanban. Хочется поделиться бесценным опытом и рассказать об изменениях нашего процесса разработки за последние 4 года.



Много ужасных таблиц и красивых картинок
Total votes 130: ↑114 and ↓16+98
Comments147

Чем пересылать посылки с литиевыми аккумуляторами?

Reading time3 min
Views54K
imageНе так давно интернет пестрил новостями о том, что почтовая служба США решила запретить c 16 мая 2012г пересылку устройств, содержащих литиевые аккумуляторы, воздушным способом, тем самым приняв рекомендациии Международной организации гражданской авиации (ICAO) и всемирного почтового союза (UPU) и перекрыв канал огромному потоку электроники из США в страны СНГ.

Первым об этом сообщил CEO Shipito на форуме сервиса, приложив текст на тот момент неопубликованного официального заявления USPS.
Интернеты спорили, будет ли данный запрет действовать или нет, но официальное заявление USPS расставило все на свои места, подкрепив новость апдейтом документа о пересылке литиевых аккумуляторов на официальном сайте.

Mail-Forwarder'ы выжидали. В первые дни никто не делал заявлений о том, что пересылка айпадов и айфонов будет прекращена, все ждали прямых указаний от своих транспортных партнеров, но сначала Shipito, а потом и Бандеролька с рядом форвардеров калибром помельче рапортовали, что пересылку отправлений, содержащих литиевые батареи, они прекращают «до выяснения обстоятельств».

Пора паниковать? Нет, рановато.
Читать дальше →
Total votes 65: ↑63 and ↓2+61
Comments90

Руководство по оформлению HTML/CSS кода от Google

Reading time12 min
Views357K

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →
Total votes 295: ↑286 and ↓9+277
Comments168

Information

Rating
Does not participate
Location
Россия
Registered
Activity