Клиентская оптимизация → JavaScript. Оптимизация: опыт, проверенный временем из песочницы
Предисловие
Давно хотел написать. Мысли есть, желание есть, времени нету… Но вот нашлось, так что привет, Хабра.
Здесь я собрал все идеи, которые помогали и помогают в разработке веб-приложений. Для удобства я разбил их на группы:
- Память
- Оптимизация операций
- Выделение критических участков
- Циклы и объектные свойства
- Немножко о DOM
- DocumentFragment как промежуточный буфер
- О преобразованиях в объекты
- Разбитие кода
- События перетаскивания
- Другие советы
Сейчас речь не пойдёт ни о каких библиотеках. Я постараюсь передать знания о механизмах самого языка, а не их реализациях в библиотеках.
Память
Хоть это и не должно волновать клиентского программиста, но не забываем, что память всё-таки не бесконечна и когда-нибудь может закончиться, например, когда запущено несколько массивных программ: офис, графический редактор, компиляция большой программы и др. Несмотря на то, что приведенный пример тривиален, у меня действительно такое случилось, хоть и не из-за браузера, но он тоже сыграл свою роль: 1,3 Гб оперативы (отладчик, около 30 вкладок), начались тормоза по перегрузке страниц ОП в файл подкачки.
Чтобы уменьшить расход памяти, я предлагаю несколько способов:
Apple → Покупка iMac в России: опыт, советы, подводные камни из песочницы
Вступление
Около года назад, я собрался с мыслями, нашел свободное время и установил на недавно приобретенный компьютер Mac OS X 10.6.6 Snow Leopard, или проще говоря, «создал» себе Хакинтош. Я не буду описывать процесс установки и настройки, лишь факты: характеристика — что и как заработало. Характеристики хака были следующие:
- Материнская плата: ASUS P7P55D PRO — DSDT.aml имеется на сайте tonymacx86
- Процессор: Core i5-760 2.80 Ghz.
- SSD Диск: OCZ Vertex-2 (SATA-II) — нативно работает
- HDD: 1,5 TB; 1 TB
- Видеокарта: XFX ATI Radeon HD 6870 1gb — нативно поднимается в OS 10.7.x, и 10.6.7/8. В 10.6.6 с помощью драйверов от 10.6.7 и выше.
- Оперативная память: 4 Gb (2 x 2gb)
- Мышка, клавиатура: usb — нативно
- Сеть: официальные драйвера realtek
- Звук: завелся установкой voodoo kext
Просидев на данном звере около года, обновившись в последствии до 10.7, я окончательно принял решение купить iMac. Об этом тонком процессе и пойдет речь ниже.
Фриланс → 8 уроков для независимого консультанта
Я решила уйти в ИТ-консультирование в январе 2007 после того как будучи вице-президентом подразделения информационных технологий Пентайр, я наблюдала как ушли в небытие 3 миллиарда долларов вложений в ходе реструктуризации компании.
Я знала, что мой опыт в качестве заказчика ИТ-услуг пригодится мне в новой карьере и в том, что я предлагаю моим потенциальным клиентам. Десять месяцев проработав консультантом, я получила много знаний, которые будут значимы для айтишников, стремящихся перейти от постоянной работы к консалтингу.
ИТ-профессионалы часто стремятся к консалтингу, особенно если они устали от политик компаний, или массовых сокращений. Айтишники часто думают что консалтинг — относительно легкий путь. Хотя переход был в целом гладким, я сделала несколько ошибок как новичок в профессии. Я делюсь полученными знаниями чтобы ваша смена профессии прошла гладко.
Я знала, что мой опыт в качестве заказчика ИТ-услуг пригодится мне в новой карьере и в том, что я предлагаю моим потенциальным клиентам. Десять месяцев проработав консультантом, я получила много знаний, которые будут значимы для айтишников, стремящихся перейти от постоянной работы к консалтингу.
ИТ-профессионалы часто стремятся к консалтингу, особенно если они устали от политик компаний, или массовых сокращений. Айтишники часто думают что консалтинг — относительно легкий путь. Хотя переход был в целом гладким, я сделала несколько ошибок как новичок в профессии. Я делюсь полученными знаниями чтобы ваша смена профессии прошла гладко.
Блог компании UniSender → Почтовые рассылки: выбираем — софт или сервис
Привет, Хабр! Мы продолжаем цикл публикаций о e-mail рассылках. На сей раз поговорим о том, каким способом их лучше организовывать — приобретая специализированный софт или используя онлайн-сервис. Критериев оценки много, но главные — это затраты и безопасность. С них и начнём.
Блог компании UniSender → Девять правил как избежать попадания в спам
Почтовая рассылка — хороший способ оповестить о новостях проекта, найти новых клиентов и заново привлечь тех, кто уже однажды стал вашим клиентом. Но если вы при этом не хотите приобрести клеймо спамера, то стоит придерживаться нескольких простых правил.Что такое спам? Это 80% почтового трафика в интернете и 20% эффективности. Обычная, грамотно сделанная рассылка, будет в разы эффективнее. Но даже с самыми благими намерениями всегда есть риск попасть в чистилище папки «Нежелательная почта». Чтобы этого избежать, нужно учитывать ряд нюансов.
Как обычно, саммари в начале статьи и дальше — подробные пояснения. Итак, 9 простых правил:
- Не занимайтесь спамом
- Спрашивайте у адресатов согласия на рассылку
- Обновляйте ваши базы адресов
- Не используйте покупные базы
- Храните подтверждения о законности вашей базы
- Давайте возможность отписаться прямо из рассылки
- Не повторяйтесь
- Красиво и грамотно составляйте письма
- Учитывайте требования спам-фильтров
Программирование → 10 способов улучшить свои навыки программирования
1. Выучить новый язык программирования
Изучение нового языка программирования разовьет новые способы мышления, особенно если новый язык программирования использует парадигмы, с которыми Вы еще не знакомы. Многие из приобретенных способов мышления могут быть применены к языкам, которые уже знаете. Возможно, вы даже полюбите новый для Вас язык программирования настолько, что начнёте использовать его для серьёзных проектов.
Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).
Я пиарюсь → Предвзятость выжившего
Читаете ли вы бизнес-блоги, в которых автор раз за разом описывает свои неудачи?Нет, потому что вы хотите перенять успешный опыт, а не узнать о полученном опыте от парня, который сам еще не преуспел.
Однако, тот факт, что вы изучаете только опыт успешных людей, может представлять большую проблему, чем кажется.
Приведу несколько историй, которые помогут понять серьезность этой проблемы.
Следы от пуль
Во время Второй Мировой войны британские бомбардировщики ежедневно отправлялись бомбить немцев. Большинство самолетов не возвращалось домой, а те, что возвращались, были покрыты следами от пуль немецких зенитных орудий и истребителей.
Желая увеличить вероятность возвращения экипажей домой, британские инженеры изучали расположение следов от пуль. Инженеры считали, что в тех местах, где больше всего попаданий, нужно дополнительно бронировать корпус самолета. Разумеется, была найдена закономерность: много следов располагалось на крыльях, хвосте и в районе хвостового пулемета. На кабине пилота и топливных баках следов было мало.
Логично заключить, что нужно добавить брони в тех местах, где больше всего следов. Но это неверно.
Бизнес студии → Тендеры в ИТ: советы и первые результаты
Мы – создатели бесплатного сервиса по поиску тендеров в области ИТ, и хотели бы поделиться с вами нашими наблюдениями, а так же дать пару советов для тех, кто думал о участии или создании тенедеров.
И так, по порядку…
И так, по порядку…
Flash-платформа → 10 вещей, которые должен знать каждый Senior Flash Developer
Я собеседовал нескольких Flash/Flex разработчиков в качестве потенциальных сотрудников Roundarch. Для меня, самой сложной частью собеседования было понять, какие именно вопросы задавать, чтобы оценить уровень Flash-разработчика. Поэтому, я создал этот список. Этот список позволяет мне оценить уровень и опыт разработчика, которого я собеседую.
Если вы ещё не достигли уровня «Senior-developer», то прочитайте список и изучите информацию по ссылкам из него. Если вы посчитаете этот список устаревшим, то, пожалуйста, критикуйте его и расскажите о других ссылках в комментариях.
Если вы ещё не достигли уровня «Senior-developer», то прочитайте список и изучите информацию по ссылкам из него. Если вы посчитаете этот список устаревшим, то, пожалуйста, критикуйте его и расскажите о других ссылках в комментариях.
C++ → Что нужно знать про арифметику с плавающей запятой из песочницы

В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).
Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.