Как стать автором
Обновить
4
0

Пользователь

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

Оптимизация: Настройка веб-сервера Nginx для улучшения показателей RPS в HTTP API

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

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

Мы столкнулись с указанной выше проблемой, когда наша развернутая система ежедневно использовалась миллионом пользователей, которые подключались всплесками время от времени. Это значит, что развертывание нескольких серверов или их масштабирование не будет в данной ситуации оптимальным решением.
Читать дальше →
Всего голосов 10: ↑5 и ↓5+4
Комментарии5

Книга «Программирование для детей. Учимся создавать игры на Scratch»

Время на прочтение1 мин
Количество просмотров6.7K
image Эта книга — для всех, кто хочет создать свою собственную компьютерную игру. Она рассказывает о том, что такое среда программирования, как собрать игру, научить героев двигаться. При помощи книги и сайта с ресурсами для сборки игр ребенок сможет самостоятельно сделать четыре игры в среде программирования Scratch. В каждой игре есть герои, которые преодолевают препятствия, ищут сокровища или по-другому взаимодействуют между собой или с предметами. От начала к концу книги сложность игр возрастает, но собирать их можно в любой последовательности.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии6

Что я узнал на личном опыте за годы фриланса

Время на прочтение3 мин
Количество просмотров60K
Первоначально опубликовано в /r/freelance на Reddit, но выкладываю здесь для потомков.

Я занимаюсь фрилансом довольно долго и могу поделиться крупицами знаний, которые я услышал или узнал сам, зачастую нелегким путём.

Типичный штатный сотрудник обходится компании в 2-3 раза дороже его номинальной зарплаты


Используй это в качестве основы для расчёта своих тарифов. $90 в час может показаться дорогой альтернативой сотруднику, который получает зарплату $30 в час, но в реальности это эквивалент $90, и расходы прекращаются сразу по окончании проекта.

Если клиент просит 6+ часов в день, ты потратишь 8 часов


Ты не сделаешь ничего полезного (читай: оплачиваемого) в оставшиеся два часа. Они отняли у тебя целый день, но заплатили только за 75%. В таких ситуациях взимай дневную ставку.
Читать дальше →
Всего голосов 75: ↑72 и ↓3+69
Комментарии95

Что мы читали в апреле: полезные статьи для Angular-разработчиков и подборка лучшего с ng-conf

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


Нынешний апрель был, конечно, не самым удачным месяцем для чтения о добром и вечном; все в мыле носились за разбушевавшимся РКН и клеили побитые блюдца. Однако жизнь за пределами зоны его ответсвенности не останавливалась. Наш фронтенд-разработчик Максим Попов даже в самый разгар боевых действий отслеживал интересные новости по Angular и делился ими с коллегами. Кроме того, он отсмотрел доклады прошедшей ng-conf и подготовил подборку наиболее ценного. С его любезного разрешения делюсь этой информацией с Хаброй — будет что почитать и, главное, посмотреть в длинные выходные.

Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии1

Зарплаты ИТ-специалистов на конец 2017 года: отчёт сервиса зарплат «Моего круга»

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


Представляем первый отчет сервиса зарплат «Моего круга». Мы запустили сервис в конце ноября 2017 с целью регулярного мониторинга зарплат в ИТ-индустрии. Зарплаты оставляют сами специалисты, мы их собираем и предоставляем в агрегированной и анонимной форме всем в открытый доступ.

В течение декабря мы собрали порядка 7500 зарплат, и сегодня можем показать, как выглядели зарплаты на конец 2017 года. Пройдём по всем основным ИТ-специальностям и более глубоко разберём зарплаты разработчиков программного обеспечения. Посмотрим, как различаются зарплаты в этой сфере деятельности по городам, квалификациям и языкам программирования. В заключение, покажем зарплаты десяти компаний, по которым пользователи оставили достаточно данных.

Будет много диаграмм, все они подготовлены с помощью сервиса plot.ly. В публикации диаграммы будут картинками, при желании можно посмотреть на них в интерактивном режиме. Более детальную информацию по зарплатам любой желающий может получить непосредственно на сервисе зарплат «Моего круга», поигравшись с его фильтром.
Читать дальше →
Всего голосов 155: ↑153 и ↓2+151
Комментарии93

Mozilla разработала открытый шлюз для Интернета вещей

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


Apple, Google, Amazon, Samsung — у каждой из этих компаний собственные стандарты и программы для управления «умными» устройствами собственной марки. В результате они зачастую могут общаться только со своими «родственниками» производства той же фирмы. Смарт-колонка Apple HomePod откажется делать резервную копию данных в облако Amazon или Google и не будет выполнять команды с Andrioid-смартфона. Получается, что для полной интеграции вся техника в доме должна быть от одной компании. Это явно ненормальная ситуация.

В прошлом году организация Mozilla объявила, что работает над созданием единого свободного фреймворка — программ и сервисов для Интернета вещей, работающих по открытому стандарту Web Things API, который использует JSON, REST и WebSockets API.

Фреймворк должен стать единым шлюзом для взаимодействия «умных» устройств разных производителей (Things Gateway). Сейчас организация официально объявила о запуске проекта Mozilla IoT, выложила стек программ и опубликовала руководство по построению системы «умного дома» с использованием Raspberry Pi. Заявка на стандартизацию Web Things API подана в консорциум W3C 2 февраля 2018 года.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии13

Сравнение Angular 2 и Aurelia side by side

Время на прочтение23 мин
Количество просмотров37K
image

Не так давно в мире web-разработки произошло важное событие — вышла бета Angular 2. И уже можно строить предположения о том, как он будет выглядеть после релиза.

Но оценка сама по себе, в вакууме, напоминает выбор электроники по рекламным буклетам производителя. Все фишки, которые есть в гаджете, упомянуты. А все, которых нет — не упомянуты и мы можем про их существование даже не задуматься. Поэтому гораздо эффективнее оценивать сравнивая с чем-то еще.

Так и родилась мысль сравнить Angular 2 с новым, но весьма амбициозным проектом Aurelia, который так же недавно вышел в бету. А заодно пополнить копилку Хабра информацией об этом фреймворке, поскольку пока ее гораздо меньше, чем информации об Angular 2.
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии8

Konva.js — HTML5 2d canvas framework

Время на прочтение5 мин
Количество просмотров56K
image

Приветствую. Представляю сообществу проект Konva.js.

Konva.js — это фреймворк, который позволяет работать c canvas 2d в объектном стиле с поддержкой событий.

Кратко список особенностей выглядит так:
  1. Объектное API
  2. Вложенные объекты и «всплытие» событий
  3. Поддержка нескольких слоёв (нескольких canvas элементов)
  4. Кэширование объектов
  5. Поддержка анимаций
  6. Настраиваемый drag&drop
  7. Фильтры
  8. Готовые к использованию объекты, включая прямоугольник, круг, изображение, текст, линия, SVG путь, ..
  9. Простое создание собственных фигур
  10. Событийная архитектура, которая позволяет разработчикам подписываться на события изменений аттрибутов, отрисовки, и так далее
  11. Сериализация и десериализация
  12. Продвинутый поиск с помощью селекторов stage.get('#foo') и layer.get('.bar')
  13. Десктоп и мобильные события
  14. Встроенная подержка HDPI устройств
  15. и еще много разного


Далее подробней рассмотрим возможности фреймворка с примерами кода.
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии37

Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса

Время на прочтение29 мин
Количество просмотров107K
На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, созданную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

БЭМ упрощает разработку сайтов, которые нужно быстро создавать и долго поддерживать. Эту технологию используют во фронтенде почти всех сервисов Яндекса, и она уже успела обрасти множеством библиотек и инструментов, которыми мы хотим с вами поделиться.



В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.

На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельно остановимся на декларативных шаблонах BEMHTML и BEMTREE, которые позволяют преобразовывать данные в БЭМ-дерево, описанное в формате BEMJSON и, затем в HTML. Рассмотрим в деталях, как написать серверную часть приложения по БЭМ-методологии.
Читать дальше →
Всего голосов 96: ↑79 и ↓17+62
Комментарии37

Cоветы начинающему фрилансеру: как продавать услуги на развитые рынки через открытые площадки

Время на прочтение16 мин
Количество просмотров64K
Я занимаюсь разработкой программного обеспечения в роли ведущего программиста-проектировщика с конца 90х годов. Фриланс никогда не был основным источником моего дохода. Но в 2010 году я начал всерьез заниматься фрилансом как побочным видом деятельности, приносящим существенный доход (за несколько месяцев я вышел на уровень продаж порядка $5k в месяц с фрилансерских контрактов с практически нулевыми расходами на исполнение контрактов, за исключением моего времени). Позднее я переехал в Северную Америку, но фриланс продолжает оставаться для меня важным побочным бизнесом. Кроме того, в своей работе я постоянно общаюсь с фрилансерами, в т.ч. профессиональными full-time фрилансерами из Северной Америки.

В этой статье я хотел бы поделиться своим опытом работы на площадках вроде elance.com с коллегами из экс-СССР и дать конкретные рекомендации по входу на рынок, позиционированию услуг, конкуренции с демпингом из Южной Азии, а также дать ликбез по общей профессиональной подготовке.
Много текста с конкретными примерами
Всего голосов 32: ↑31 и ↓1+30
Комментарии24

Приятная сборка frontend проекта

Время на прочтение12 мин
Количество просмотров442K
В этой статье мы подробно разберем процесс сборки фронтенд проекта, который прижился в моей повседневной работе и очень облегчил рутину.

Статья не претендует на истину в последней инстанции, так как сегодня существует большое количество различных сборщиков и подходов к сборке, и каждый выбирает по вкусу. Я лишь поделюсь своими мыслями по этой теме и покажу свой workflow.

UPD (13 марта 2015): Заменил несколько плагинов на более актуальные + решил проблему с импортом CSS файлов внутрь SCSS

Читать дальше →
Всего голосов 61: ↑53 и ↓8+45
Комментарии119

Как реализовать почти мгновенное переключение сайта между площадками, когда одна упала

Время на прочтение11 мин
Количество просмотров40K
image

Бывает, сайты падают из-за отказа площадки хостера, каналов и так далее. Я 7 лет работаю в хостинге, и часто вижу такие проблемы.

Пару лет назад я понял, что услуга резервной площадки (без доработки их сайта или сервиса) очень важна клиентам. Теоретически тут всё просто:
1. Иметь копию всех данных в другом дата-центре.
2. При сбое переключать работу на резервный ДЦ.

На практике система пережила 2 полные технические реорганизации (сохранение основных идей со сменой значительной части инструментария), 3 переезда на новое оборудование, 1 переезд между поставщиками услуг (переезд из немецкого дата-центра в два российских). На исследование поведения разных систем в реальных условиях под клиентской нагрузкой ушло 2 года.
Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии45

Суперлуние, Персеиды и прочие астрономические интересности

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


Август — очень популярный месяц для астрономических наблюдений — небо постепенно становится более темным, ночи удлиняются, но ещё не вступает в свои права облачная и дождливая осень, и температура все ещё комфортна для нахождения под открытым небом. Какие астрономические события ждут нас во второй половине года?
Читать дальше →
Всего голосов 117: ↑114 и ↓3+111
Комментарии43

altdrag — упрощаем работу с окнами в Windows

Время на прочтение2 мин
Количество просмотров27K
Вкратце: бесплатная утилита altdrag упрощает управление окнами (move&resize) в Windows.

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

Да, именно так, как это работает в Linux.

Это очень удобно. Не нужно целиться в заголовок и в границу окна.

Программа будет особенно полезна обладателям экранов с маленьким разрешением (например, нетбуки). Она поможет «обуздать» окна, превышающие размер экрана, которые обычно перетащить не получается.

Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии49

GRUB всемогущий, или Делаем загрузочную флешку

Время на прочтение8 мин
Количество просмотров557K
Про сам grub, загрузочные флешки и особенно специальные утилиты для создания дисков написано уже не мало, но выглядят они узко направленными. Например только для создания флешки Windows 7, различные PEtoUSB, есть более универсальные как в этом топике. Куча утилит по сути устанавливают загрузчик grub, isolinux (реже BCDW или lilo, еще реже свой как Win7), и затем раскладывают предложенные ему файлы (Windows7,WindowsXP, Ubuntu и т.д.) по папкам. От сюда и требовательность к образам (как писали в комментариях к этому топику).

А между тем абсолютное большинство выложенных в интернете дисков (особенно USB) как раз и используют isolinux и grub, что мешает их просто объединять? да ничего!

Я постараюсь с примерами рассказать, как сделать загрузочную, установочную и просто Live флешку, причем все в одном без заточенных под конкретный дистрибутив утилит. И иметь возможность, при необходимости, легко добавить на флешку еще что-то, без очередного ее переформатирования.
image
(С) Картинка оттуда
Читать дальше →
Всего голосов 122: ↑113 и ↓9+104
Комментарии62

Enhanced Ecommerce (расширенная электронная торговля) Google Analytics: обзор новых возможностей

Время на прочтение6 мин
Количество просмотров24K
Не так давно в Google Analytics появилась новая функциональная возможность, которая называется Enhanced Ecommerce или расширенная электронная торговля.Она существенно превосходит по возможностям стандартный модуль электронной торговли и позволяет получить множество дополнительной информации о действии пользователя, взаимодействии с товарами, его пути к завершению процесса покупки и др.

Для внедрения на сайт Enhanced Ecommerce или расширенной электронной торговли Google Analytics можно использовать два варианта:

  • через код отслеживания;
  • с помощью Google Tag Manager.


Не зависимо от того, какой вариант вы выберите для себя, нужно настроиться на тесную работу с разработчиками сайта или штатным специалистом, имеющим доступ к исходному кода сайта. Без внесения существенных, но не сложных дополнений в исходный код сайта не обойтись, но время, потраченное на внедрение расширенной электронной торговли будет потрачено не зря. Итак, что нам дает внедрение?

Выполнив рекомендации по внедрению мы получаем возможность узнать следующую информацию (подробнее ниже):
Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии1

Видеолинк 5.8G DJI Tx Lite Module vs Tx Module (базовая версия)

Время на прочтение1 мин
Количество просмотров2.7K
Компания DJI (производитель популярных квадрокоптеров Phantom («фантиков») анонсировала выход лайт версии видеолинка для систем FPV. Производитель сделал акцент на значительном сокращении веса модели, который в 3 раза легче базовой версии линка (13 грамм против 30 грамм в базовой модели). За легкий вес придется заплатить, к сожалению, чудес не бывает. Так, лайт версия не имеет жесткой оболочки и при этом имеет меньшую дальность действия по спецификации (1,2 км против 1,5 км в базовой модели).



Рекомендации по использованию:
— DJI Tx Lite Module: Рамы (квадро/гексакоптер) F450/550, квадрокоптеры Phantom 2 или Phantom 1
— DJI Tx Module (базовый): гексакоптер S800, октокоптер S1000
Всего голосов 9: ↑4 и ↓5-1
Комментарии2

Как улучшить свой стиль программирования?

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

Исповедь 1


Я — разработчик. От своих работодателей я постоянно слышу, что работаю медленно и часто всё усложняю без веской причины. И что мне пора бы что-то с этим сделать. Во избежание.

Весь мой опыт программирования складывается из университетских работ и пары лет пребывания в различных компаниях. Критикующие меня люди неоднократно говорили мне, что в целом я разбираюсь в теме, так что я далеко не клинический случай, как можно было подумать. Однако, очевидно, я выработал совсем не те программистские привычки (как минимум, на взгляд работодателя) и мне нужно срочно изменить их. Везде, где бы я ни работал, мои решения, использующие иерархии мелких классов с делегированием поведения, признавались плохими. Говорят, будто так и надо писать, но это не так. Потому что всё это «как надо» может стоить мне работы.
Читать дальше →
Всего голосов 235: ↑202 и ↓33+169
Комментарии248

Приводим в порядок css-код. Опыт Яндекса

Время на прочтение6 мин
Количество просмотров89K
Всем привет!

Я работаю над фронтендом огромного проекта — поисковой выдачи Яндекса. И у нас, как и у любого другого большого веб-проекта, есть огромное количество css-кода и немаленькая команда, которая с ним взаимодействует.

Когда много людей, используя разные инструменты, пишут и редактируют css, со временем этот css может получиться очень запутанным, неконсистентым и в целом начинает выглядеть плохо. Например, кому-то удобнее писать вендорные префиксы в одном порядке, кому-то — в другом, кто-то ставит кавычки вокруг url, кто-то — нет, а кто-нибудь фикся срочную багу к релизу мог бы, к примеру, написать position: relative в начале блока свойств, незаметив что где-нибудь внизу между color и box-shadow, уже есть position: absolute, и долго гадать, почему у него ничего не работает.



Но несмотря на то, что все пишут код по-разному, у нас в репозитории идеальный порядок: css-код полностью консистентен, и прекрасно выглядит. Весь.

Как мы этого добились, можно прочитать под катом.
Читать дальше →
Всего голосов 174: ↑169 и ↓5+164
Комментарии70

Как сверстать тему для WordPress

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

Введение


В предыдущих статьях мы рассмотрели принципы верстки на чистом CSS и с помощью Bootstrap. Сегодняшней статьей мы начинаем рассматривать особенности верстки под популярные CMS. И начнем с WordPress, как самой популярной из них. Будем считать, что WordPress у вас уже установлен и перейдем непосредственно к созданию шаблона, в качестве которого у нас по-прежнему будет выступать Corporate Blue от студии Pcklaboratory. Если вы не знаете как установить WordPress, то инструкцию можно найти здесь. В данном руководстве мы не будем подробно описывать CSS стили и HTML код – это было сделано уже в предыдущих статьях. Вместо этого рассмотрим детально особенности создания темы именно под WordPress.
Читать дальше →
Всего голосов 66: ↑54 и ↓12+42
Комментарии28

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность