Search
Write a publication
Pull to refresh
46
0
Андрей @Houston

User

Send message

Angular 2 и внедрение зависимостей

Reading time19 min
Views75K

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


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


А разгадка кроется в том, что DI во втором ангуляре действительно несколько отличается от других, и связано это в первую очередь с общим подходом и философией 2-й версии. Заключается она в том, что сущностями из которых строится всё приложение, являются компоненты. Сервисный слой, роутер, система внедрения зависимостей — вторичны и они имеют смысл только в рамках компонента. Это очень важный момент, который лежит в основе понимания архитектуры нового фреймворка.

Читать дальше →

Новая большая книга CSS

Reading time9 min
Views37K
Привет, Хаброжители! У нас вышла новая обновленная книга Дэвида Макфарланда:

image Технология CSS3 позволяет создавать профессионально оформленные сайты, но тонкости этого языка могут оказаться довольно сложными даже для опытных веб-разработчиков. Полностью переработанное четвертое издание этой книги поможет вам поднять навыки работы с HTML и CSS на новый уровень; она содержит множество ценных советов, описаний приемов, а также инструкции, написанные в стиле справочного руководства. Веб-дизайнеры, как начинающие, так и опытные, при помощи этой книги быстро научатся создавать красивые веб-страницы, которые при этом молниеносно загружаются как на ПК, так и на мобильных устройствах.
Читать дальше →

Шифрование небольшого количества данных в OS X

Reading time3 min
Views6.6K
Есть задача — зашифровать несколько документов и профиль фаерфокса. Включать FileVault для этого, всё-равно что бить мух гантелями. Посторонний софт ставить тоже нет желания. Вот решение:
Читать дальше →

Порог вхождения в Angular 2 — теория и практика

Reading time16 min
Views124K
Добрый день, дорогие хабра: жители, читатели, писатели, негативно-комментаторы.

В качестве вводной части и чтобы снять некоторые вопросы немного расскажу о себе. Меня зовут Тамара. Оужас, я девушка! Кого это пугает — закрывайте статью и не читайте.

Для остальных: у меня за плечам незаконченный лет 10 назад МИРЭА, факультет кибернетики. Но все эти 10 лет практики сложились таким образом, что по большей части я занималась рекламой и в перерывах случалось работать в различных стартапах, связанных с интернетом и не только.

image

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

Несколько вещей, о которых стоит помнить программисту в возрасте

Reading time11 min
Views128K
Если вы из тех, кто «работал ещё Там-То!» и «делал ещё То-То!», а сейчас счастливо отдыхаете на пенсии — эта статья не для вас. Просто спасибо за труд и примите мои поздравления. Но если же вы, как и я, даже став немного старше всё ещё ощущаете страсть к программированию, радуетесь виду кода и не можете устоять перед желанием написать ещё что-нибудь, тогда продолжайте читать.

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

Я смирился с мыслью, что мой лучший код уже написан — в прошлом. Мне было уже 54 года (немало!) и я, вероятно, уже не мог писать код так же хорошо, как и раньше. Кто знает — может быть у меня уже начала отказывать память, ну или я просто выучил всё, что был способен в жизни выучить. Мой настрой подкреплялся наблюдениями окружающей меня реальности. Все новые технологии выглядели для меня чудаковато. Я ненавидел Node.js. Я считал все фреймворки для веб-разработки ужасными. И я сетовал на то, что классические способы разработки ПО разрушились и превратились в набор клише, которые нынче впариваются под умными названиями типа Agile или «экстремальное программирование». Я скучал за днями, когда люди писали спецификацию на будущее ПО, программировали, а затем тщательно тестировали его. И когда в каждой статье не было тысячи жаргонных словечек.
Читать дальше →

Обзор 11,6-дюймового планшета-трансформера DEXP Ursus Z111 Skyline с Windows 10

Reading time5 min
Views10K
Владивостокский бренд DEXP в своё время, летом 2015 года, привез в Россию первый планшет-трансформер с предустановленной Windows 10 – речь о модели Ursus GX110. В этом материале я расскажу ещё об одном трансформере с аналогичной программной (да и аппаратной, впрочем, тоже) платформой – знакомьтесь, DEXP Ursus Z111 Skyline за 25 490 рублей. Модель выполнена в 11,6-дюймовом формфакторе и комплектуется съёмной клавиатурой с подсветкой. Обычно подобные устройства имеют диагональ 10,1 дюйма, а здесь мы видим более крупный формфактор. Что очень здорово и удобно: при подключении клавиатуры получается более крупный «ноутбук». Да и клавиши на клавиатуре за счёт чуть большей её ширины получились более крупными – это тоже плюс. Среди прочих особенностей DEXP Ursus Z111 Skyline стоит отметить батарею на 9 000 мАч, что довольно много, – у 10,1-дюймовых аналогов обычно батареи ёмкостью 6 500-7 000 мАч, а у моделей на Windows c диагональю 11,6 дюйма – около 8 000 мАч.


Читать дальше →

Эффективные UI-тесты на Selenide

Reading time7 min
Views75K

В ожидании чудес


Канун Нового Года — время чудес. В преддверии нового года мы все вспоминаем год уходящий и строим планы на следующий. И надеемся, что все проблемы останутся в прошлом, а в новом году случится чудо, и мы заживём по-новому.

Какой же Java разработчик не мечтает о чуде, которое осенит его и позволит стать Самым Крутым На Свете Java Программистом.

Хорошие новости: я хочу рассказать как раз о таком чуде.

Имя ему — автоматические тесты!

Фу, тесты?

Почему наши высокоуровневые языки до сих пор не такие уж и высокоуровневые?

Reading time4 min
Views13K
Прошу не судить строго, это моя первая статья на хабре. Лучше оставляйте замечания в комментариях, а я обещаю сделать соответствующие выводы.

Итак, первое моё знакомство с языками программирования состоялось в школе, и был это Бэйсик. С тех пор с языками программирования я не пересекался. Прошло больше 20 лет и мне понадобилось изучить один из современных языков программирования. Всем критериям предъявляемым мной языку программирования, которые я смог сформулировать на тот момент, полностью удовлетворял C#. Засучив рукава, я принялся его изучать и у меня появилась возможность оценить насколько изменились языки программирования за это время.

Многое было привычно, если не по внешнему виду, то по концепции: переменные, циклы, операторы ветвления… А что-то было совсем новым: ООП с его классами (полями, методами, свойствами), наследованием и т. д.
Конечно, многое порадовало. Классы теперь позволяют заниматься распределением обязанностей: Так, ты мне принеси «то»; Ты сделай «это»; Ты посчитай мне «это», результат сообщишь. Это очень напоминает наше взаимодействие с окружающей средой. Например, зашли в прачечную, отдали грязное постельное бельё, забрали чистое. Зашли в ателье, отдали ушить брюки, забрали готовый вариант. Зашли в закусочную, сделали заказ, получили завтрак. Очень удобно и наглядно.
Но вернёмся с теме статьи. Я никак не ожидал спустя 20 лет увидеть в языках программирования некоторые вещи:
Читать дальше →

Еще одна методология: Стаханов

Reading time3 min
Views9K


Общие принципы


  1. Задания создаются и пишутся для удобства исполнителей.
  2. Результатом работы геймдизанеров являются полные и понятные даже новичкам задания.
  3. Исполнители читают задания и меняют их статус. (они пишут код, а не задания)
  4. Долго висящие задачи — удаляются (надо будет — еще раз заведем)


Читать дальше →

PPM-to-USB адаптер на STM32F3Discovery, или Подключаем авиамодельный пульт к компьютеру как HID-джойстик с STM32Cube

Reading time22 min
Views42K


В этой статье я расскажу, как:
  • Создать проект в STM32CubeMX и настроить таймеры для захвата внешних сигналов.
  • Декодировать PPM-сигнал с авиамодельного пульта.
  • Сделать Human Interface Device на STM32 и написать свой HID Report Descriptor.
  • Полетать в симуляторе на гоночном квадрокоптере. :)
Читать дальше →

Квадрокоптеры — как все начиналось?

Reading time5 min
Views28K
Современный квадро (гекса, окто) коптер — это достаточно мощное «вычислительное» устройство, способное управляться со смартфона по WiFi, зависать в одной точке, летать по маршруту и пр. Купить такой аппарат сейчас может любой желающий. А с чего все начиналось?

Как летает квадрокоптер?


Чтобы понимать суть технических решений, разберемся немного как вообще квадрокоптер летает. По сути, квадрокоптер — это неустойчивая система. Если взять 4 мотора, и просто подключить их к батарейке, квадрокоптер никуда не полетит, он просто перевернется т.к. сила тяги моторов никогда не будет идентичной. И тут вступает в действие электроника. На борту квадрокоптера есть центральная «плата управления», ключевой частью которой является блок датчиков. В простейшем случае, это трехосевой гироскоп. Микроконтроллер постоянно считывает данные с гироскопов, и как только гироскоп «чувствует» наклон по какой-либо оси, контроллер дает соответствующему двигателю команду чуть-чуть увеличить или уменьшить обороты, чтобы компенсировать наклон. В общем-то и вся логика — за исключением кучи всего (ПИД-регуляторов, теории управления, фильтров Калмана), ничего сложного тут нет (шутка). Ну а для пользователя все действительно прозрачно. Никаких движущихся частей кроме моторов, в квадрокоптере нет, все управление происходит исключительно изменением вращения оборотов моторов (с поворотами аналогично — изменяем скорости вращения, получаем вращающий момент). А теперь вернемся к истории.

Осторожно, траффик.
Читать дальше →

YouTrack 6.5 — Баг-трекер для всей команды

Reading time5 min
Views36K
Доброго дня, Хабр!

Спешу рассказать вам, что совсем недавно вышла новая версия нашего баг-трекера — YouTrack 6.5!

image

В новой версии мы сделали акцент на улучшение UIX, полностью изменив дизайн административной части продукта, добавили несколько важных интеграций и упростили импорт из Jira до одного клика.

Читать дальше →

Первые шаги в работе с Arduino

Reading time6 min
Views51K
Любому, кто только делает свои первые шаги в радиоэлектронике, освоении программирования, хочется помочь, придать уверенности, чтобы появлялся интерес изучать эту интересную тему дальше. Поэтому я решил сделать пошаговую инструкцию для тех, кто делает свои первые шаги, но не знает, с чего можно начать?

Мы будем разбирать платформу Arduino от покупки самого контроллера, до «заливания» кода программы (далее скетч*) и управления собственной моделью при помощи телефона на Android; далее напишем свой алгоритм, по которому наш робот будет сам выбирать путь, куда ему двигаться (следующий урок).

Вот такой робот у нас получится по истечению всех уроков (прошу прощения за качество, это стоп-кадр видео):

image

Содержание


1. Покупка деталей
2. Разбор каждой позиции
3. Сборка и программирование модели
4. Подключение к Android

Итак, начнём!
Читать дальше →

Робот-пылесос на ардуино

Reading time5 min
Views84K
Несмотря на то, что на geektimes уже есть несколько статей про роботы-пылесосы на ардуино тут и тут, Думаю не будет лишним опубликовать еще один проект. Тем более он сделан чуть ближе к магазинным образцам и, поскольку проект постоянно продолжает развиваться, со временем превзойдет по функционалу некоторые из них. Данный пост я публикую с разрешения разработчика этого робота-пылесоса, поскольку у автора нет возможности публиковать статьи со своего аккаунта. Поэтому статья будет в форме небольшого интервью с создателем вперемешку со схемами, фото и кодом робота-пылесоса. Но начнем с видеодемонстрации уборки комнаты этим пылесосом.


Читать дальше →

Не Таиландом единым или Как фрилансеру за три часа поменять место обитания без проблем с визами

Reading time10 min
Views51K
С падением курса рубля жизнь фрилансера-путешественника сильно осложнилась. Однако если все же заработок позволяет, а европейского гостеприимства, как и солнца, ох как не хватает в России – добро пожаловать в восемь стран, где фрилансер найдет покой и красивую картинку позади монитора без проблем и волнений с оформлением виз.


Маршруты кочевников за полторы тысячи лет не поменялись. Но нравы стали помягче
Читать дальше →

Тест бесплатных программ для восстановления данных. Версия читателей Хабра

Reading time7 min
Views95K
Приветствую всех Хабровчан!

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

  1. R.Saver 2.8
  2. Handy Recovery 5.5
  3. GetDataBack 1.0
  4. PhotoRec/TestDisk 7.0
  5. RecoveRx 3.0
  6. DMDE 2.10.2
  7. Zero Assumption Recovery 9.2
  8. Active@ File Recovery 14

Мы протестировали их. Результаты тестов ниже.

Внимание! Много скриншотов.

UPD Добавлены тесты еще двух утилит.
Читать дальше →

Проектирование Web API в 7 шагов

Reading time14 min
Views81K
7steps Разработка веб API это нечто большее чем просто URL, HTTP статус-коды, заголовки и содержимое запроса. Процесс проектирования – то, как будет выглядеть и восприниматься ваш API – очень важен и является хорошей инвестицией в успех вашего дела. Эта статья кратко описывает методологию для проектирования API с опорой на преимущества веба и протокола HTTP, в частности. Но не стоит думать, что это применимо только для HTTP. Если по какой-то причине вам необходимо реализовать работу ваших сервисов используя WebSockets, XMPP, MQTT и так далее – применяя большую часть всех рекомендаций вы получите практически тот же API, который будет хорошо работать. К тому же полученный API позволит легче разработать и поддерживать работу поверх нескольких протоколов.

Хороший дизайн затрагивает URL, статус-коды, заголовки и содержимое запроса


Обычно руководства по проектированию Web API фокусируются на общих концепциях: как проектировать URL, как правильно использовать HTTP статус-коды, методы, что передавать в заголовках и как спроектировать дизайн содержимого, которое представлено сериализованными данными или графом объектов. Это всё очень важные детали реализации, но не настолько в смысле общего проектирования API. Проектирование API – это то, как сама суть сервиса будет описана и представлена, то что вносит значительный вклад в успех и удобность использования Web API.

Хороший процесс проектирования или методология предоставляют набор согласованных и воспроизводимых шагов для создания компонентов сервисов, которые будут доступны в виде Web API. Это значит, что такая прозрачная методология может быть использована разработчиками, дизайнерами и архитекторами для координации своих действий по реализации ПО. Использованная методология так же может уточнятся со временем по мере того, как улучшается и автоматизируется процесс без ущерба для деталей методологии. На самом деле, детали реализации могут меняться (например, платформа, ОС, фреймворки и стиль UI) независимо от процесса проектировки, когда эти две активности полностью разделены и задокументированы.
Читать дальше →

Способы организации CSS-кода

Reading time8 min
Views209K
Разработчик Бен Фрейн (Ben Frain) однажды заметил: «Писать CSS-код легко. Масшабировать и поддерживать его — нет».

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

Статья служит лишь памяткой или кратким справочником — для подробного ознакомления с методологиями настоятельно рекомендуется изучать оригинальную документацию.

Итак, начнем.
Читать дальше →

ТОП-10 гик сериалов и тв-шоу по мнению команды организаторов фестиваля Make It Show

Reading time4 min
Views40K
image

Организаторы фестиваля Make It Show решили собрать подборку самых классных сериалов и тв-шоу, которые должны оценить все, кто с трепетом и восторгом относятся к науке, технике и современным технологиям, и может отличить качественное тв-шоу от Дома-2.

Рейтинг исключительно субъективен и является коллективным мнением команды организаторов фестиваля Make It Show. Будем рады, если вы подскажете нам, какой сериал или тв-шоу, по-вашему, мы пропустили и он обязан быть в этом списке.
Читать дальше →

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

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

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



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

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

Information

Rating
10,139-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity