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

Компания NIX временно не ведёт блог на Хабре

Сначала показывать

Анонс митапа ThinkPHP #13

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

Друзья, приглашаем вас на очередную встречу PHP-разработчиков ThinkPHP #13. Вас ждут интересные доклады, живое общение с экспертами, сладкие кофе-брейки в компании постоянных участников ивента и новых гостей, и много вдохновения!
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии2

Анонс Kharkiv WordPress Meetup #3

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

Приглашаем на третью встречу Kharkiv WordPress Meetup, где вас ждут интересные доклады, новые знания и порция вдохновения, а также живое общение с нашими экспертами.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии4

Анонс митапа Sync.NET #3

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


Друзья, в пятницу 4 ноября мы приглашаем всех желающих посетить встречу харьковского .NET-сообщества. Вас ждут интересные доклады, блок вопросов и ответов, а также традиционные кофе с печеньками.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

WordCamp Europe в Вене и вектор развития WordPress

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


В этом году конференция WordCamp Europe 2016 проходила в Вене и собрала более 2300 гостей. Столица Австрии отлично подходит для проведения подобных мероприятий, здесь есть все условия: удобное расположение, большие конференц-залы, активное WordPress-сообщество. И есть на что посмотреть после конференции. Несколько наших разработчиков побывали на WordCamp Europe 2016. Под катом — их рассказ о наиболее интересных докладах и событиях.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии4

В двух словах о NEXUS

Время на прочтение4 мин
Количество просмотров64K
Весной этого года команда наших разработчиков побывала на тренинге по многокомандному скраму с использованием фреймворка Nexus. Это оказался очень интересный инструмент, и мы хотим поделиться с вами впечатлениями от его возможностей.


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

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

Время на прочтение13 мин
Количество просмотров17K
Вам приходилось завершать проект одним махом, когда не было нужды снова смотреть в код? Вряд ли. Работая над старыми проектами, вам, вероятно, не хочется тратить время на выяснение, как работает этот код. Если код читабелен, то продукт легко сопровождать, а вы, ваши коллеги или сотрудники — счастливы.

Яркие примеры нечитаемого кода встречаются на соревнованиях JS1k, цель которых заключается в написании лучших JS-приложений, состоящих из 1024 символов или того меньше. То же самое можно сказать и про JSF*ck, крайне своеобразный стиль программирования, использующий только шесть разных символов для написания JS-кода. Глядя на выложенный на этих сайтах код, вы будете ломать голову, пытаясь понять, что здесь происходит. А представьте, каково это: написать подобный код и спустя месяц пытаться исправить баг.

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

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

Оригинал статьи: https://www.sitepoint.com/importance-of-code-that-humans-can-read/
Читать дальше →
Всего голосов 30: ↑20 и ↓10+10
Комментарии10

Условное внедрение зависимостей в ASP.NET Core. Часть 2

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


В первой части статьи были показаны настройки инъектора зависимостей для реализации условного внедрения зависимости с использованием механизмов Environment и Configuration, а также получение сервиса в рамках HTTP-запроса, основываясь на данных запроса.

Во второй части вы увидите, как можно расширить возможности инъектора зависимостей, на примере выбора необходимой реализации по идентификатору во время выполнения приложения.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии23

Условное внедрение зависимостей в ASP.NET Core. Часть 1

Время на прочтение5 мин
Количество просмотров16K
Иногда возникает необходимость иметь несколько вариантов реализации определенного интерфейса и, в зависимости от определенных условий, внедрять тот или иной сервис. В этой статье мы рассмотрим варианты такого внедрения в ASP.NET Core приложении, используя встроенный Dependency Injector (DI).

В первой части статьи разберём настройку IoC-контейнера на этапе запуска приложения, с возможностью выбора одной или нескольких из имеющихся реализаций. Также рассмотрим процесс внедрения в контексте HTTP-запроса, основываясь на имеющихся в нём данных. Во второй части покажем, как можно расширить возможности DI для выбора реализации на основе текстового идентификатора сервиса.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии9

Unite Europe 2016: Обзор доклада “Overthrowing the MonoBehaviour tyranny in a glorious ScriptableObject revolution”

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


Недавно мы побывали в Амстердаме на конференции Unite Europe 2016, где получили массу эмоций и интересного опыта. На этой конференции было очень много увлекательных докладов по разным направлениям и различного уровня сложности. Темой одного из выступлений была “Overthrowing the MonoBehaviour tyranny in a glorious ScriptableObject revolution”, на котором Ричард Файн (https://twitter.com/superpig / https://github.com/richard-fine), специалист из Unity Technologies, подробно рассказал о ScriptableObject и на примерах показал, как он может быть применен в проекте.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии4

Впечатления от лучших докладов на конференции SQA Days

Время на прочтение7 мин
Количество просмотров4.8K
Наравне с другими направлениями в IT, тестирование стремительно развивается. И здесь столь же важно держать руку на пульсе. Одним из доступных способов получения новой информации является посещение конференций/семинаров. И мы успешно пользуемся этим способом.

20-21 мая 2016 года в Санкт-Петербурге прошла уже 19-я по счету международная конференция “SQA Days”. Мероприятие проходило в три потока, и за два дня конференции здесь прозвучало 57 докладов на различные темы: сам процесс тестирования, принципы построения команды тестировщиков, профессиональный рост и мотивация QA-специалиста.

Доклады по автоматизации тестирования шли отдельным потоком. Многие выступления были посвящены таким тенденциям, как DevOps, Continuous Delivery. Рассказываем о самых интересных докладах SQA Days-19.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Впечатления от лучших докладов на International PHP Conference

Время на прочтение8 мин
Количество просмотров12K
В начале июня в Берлине прошла одна из самых продвинутых конференций по PHP — International PHP Conference 2016. В качестве докладчиков в ней приняли участие такие специалисты, как Себастьян Бергман, Арне Бланкертс, Стефан Прибш и еще более 50 человек, которые вносят свой постоянный вклад в развитие PHP. Конференция проводилась в шикарном 4-х звездочном отеле Маритим Проарте. Доклады читались в несколько параллельных потоков на английском и немецком и затрагивали как непосредственно PHP-разработку, так и околодевелоперские темы: инфраструктуру, серверное ПО, open source-разработку и многое другое. Отдельно хочется отметить ключевые доклады, которые зажигали то искрометным юмором, то глубиной затрагиваемых тем. В этой статье мы собрали свои впечатления от самых крутых докладов, с ссылками на презентации и примеры.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии4

Как HTTP/2 сделает веб быстрее

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


Протокол передачи гипертекста (HTTP) — это простой, ограниченный и невероятно скучный протокол, лежащий в основе Всемирной паутины. По сути, HTTP позволяет считывать данные из подключённых к сети ресурсов, и в течение десятилетий он выступает в роли быстрого, безопасного и качественного “посредника”.
В этой обзорной статье мы расскажем об использовании и преимуществах HTTP/2 для конечных пользователей, разработчиков и организаций, стремящихся использовать современные технологии. Здесь вы найдёте всю необходимую информацию о HTTP/2, от основ до более сложных вопросов.
Читать дальше →
Всего голосов 35: ↑22 и ↓13+9
Комментарии41

ООП в JavaScript

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


В данной статье мы поговорим об основных особенностях объектно-ориентированного программирования в JavaScript:

  • создание объектов,
  • функция-конструктор,
  • инкапсуляция через замыкания,
  • полиморфизм и ключевые слова call/apply,
  • наследование и способы его реализации.

Читать дальше →
Всего голосов 32: ↑17 и ↓15+2
Комментарии50

Создание Android-приложения с помощью React Native

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


Как следует из названия, в этой статье мы рассмотрим процесс создания средствами React Native приложения под Android. Оно будет простеньким, всего лишь с текстовым полем. Туда нужно будет ввести имя одного из покемонов, а приложение покажет подробную информацию о полученных данных и зачитает её с помощью функции преобразования текста в речь.

Мы не будем касаться установки Android SDK, React Native и создания проекта, или каких-то иных инструментов разработчиков. Будем исходить из того, что это ваш первый опыт создания приложения с помощью React Native, поэтому подробно рассмотрим каждый кусок кода.
Читать дальше →
Всего голосов 17: ↑12 и ↓5+7
Комментарии4

Краткое руководство по созданию навигации на основе фрагментов

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


В течение последних лет можно было наблюдать использование различных подходов к построению навигации в Android-приложениях. Кто-то использует только активности (Activity), кто-то смешивает их с фрагментами (Fragment) и/или с модифицированными видами (Custom View).

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

В этой статье мы рассмотрим несколько характерных подходов к реализации навигации в Android, а затем поговорим о подходе с использованием фрагментов, сравнив его с другими подходами. Демонстрационное приложение, на примере которого иллюстрирована статья, можно скачать с GitHub.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии8

Анимация Floating Action Button в Android

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


С момента возникновения концепции Material design одним из самых простых в реализации элементов стала плавающая кнопка действия — FAB, Floating Action Button. Этот элемент быстро обрёл широчайшую популярность среди разработчиков и дизайнеров. В этой публикации мы рассмотрим, как можно анимировать FAB и сделать её интерактивной. Но сначала разберём, как вообще добавить этот элемент в ваш проект.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии11

Основы синтаксиса TypeScript

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


В 2012 году разработчики C# из компании Microsoft создали язык TypeScript — надмножество JavaScript. Он предназначен для разработки больших приложений, от100 тысяч строк. Давайте на примерах рассмотрим синтаксис TypeScript, его основные достоинства и недостатки, а также разберём способ взаимодействия с популярными библиотеками.

Кому это будет полезно: Web-разработчикам и разработчикам клиентских приложений, интересующимся возможностью практического применения языка TypeScript.
Читать дальше →
Всего голосов 23: ↑17 и ↓6+11
Комментарии32

Коллбэки в JavaScript на примере миньонов

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


Коллбэки. Асинхронные. Неблокирующие. Давайте говорить начистоту: все эти JS-концепции заставляют вас рвать волосы на голове каждый раз, когда ваш код СНОВА не работает. Меня тоже посещали подобные чувства. Мне нужна была какая-то простая аналогия, которая помогла бы мне легче понять эту абстрактную идею. Конечно, в сети есть много хороших учебных материалов (например, этот, или этот). Но все они обычно сразу начинаются с довольно сложных вещей.

Мне нужно было что-то более близкое, понятное.

Мне нужны были миньоны.
Читать дальше →
Всего голосов 27: ↑15 и ↓12+3
Комментарии6

Чего нам не хватает в Java

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


В этой статье мы рассмотрим некоторые «отсутствующие» в Java возможности. Но нужно сразу подчеркнуть, что будут умышленно опущены некоторые вещи, которые либо и так активно обсуждаются, либо требуют слишком большого объёма работ на уровне виртуальной машины. Например:

Отсутствуют материализованные дженерики (reified generics). Об этом не писал только ленивый, причём большинство комментариев свидетельствуют о непонимании сути затирания типов. Если Java-разработчик говорит: «Я не люблю затирание типов», то в большинстве случаев это означает «Мне нужен List int». Вопрос примитивной специализации дженериков лишь косвенно связан с затиранием, а польза от дженериков, видимых в ходе исполнения, сильно преувеличена молвой.

Беззнаковые вычисления (unsigned arithmetic) на уровне виртуальной машины. Отсутствие в Java поддержки беззнаковых арифметических типов вызывает недовольство разработчиков уже многие годы. Но это является обдуманным решением создателей языка. Наличие лишь знаковых вычислений существенно упрощает язык. Если сегодня начать внедрять беззнаковые типы, то это повлечёт за собой очень серьёзную переработку Java, что чревато массой больших и маленьких багов, которые будет трудно вылавливать. Заодно сильно возрастает риск дестабилизации всей платформы.

Длинные указатели для массивов. Опять же, внедрение этой функциональности потребует слишком глубокой переработки JVM с возможными неприятными последствиями, причём далеко не только с точки зрения поведения и семантики сборщиков мусора. Хотя нужно отметить, что Oracle ищет пути внедрения подобной функциональности с помощью проекта VarHandles.

Здесь мы не будем вдаваться в подробности возможного Java-синтаксиса для обсуждаемой функциональности. К сожалению, подобные обсуждения вообще часто скатываются к спорам на тему синтаксиса, хотя куда важнее семантика.
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии42

PHP против Ruby: Давайте жить дружно

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


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

Я решил, что было бы куда интереснее провести более честное сравнение, с точки зрения разработчика, которому нравятся оба языка и который имеет приличный опыт работы с ними. Например, с PHP и Ruby. И задача здесь не в том, чтобы выяснить, какой из них «лучше». Я лишь хочу подчеркнуть те свойства, которые мне нравятся в Ruby и его экосистеме.
Читать дальше →
Всего голосов 35: ↑26 и ↓9+17
Комментарии85