Pull to refresh
114
0
Ihor Zenich @Delka

Frontend Developer for EPAM Systems

Send message

Frontend-разработчики должны быть в теме всего

Reading time 7 min
Views 206K

Мысли Криса Койера


Одна из мыслей, которая поселилась в моей голове: должен ли frontend-разработчик быть в курсе всего? В общем смысле, frontend-разработчик может использоваться и на других рабочих местах. Вся команда разработчиков заканчивает разговор на frontend-разработчике. В этом смысл моей идеи. Frontend-разработчики создают те вещи, с которыми будут взаимодействовать люди. Все этапы разработки проходят вместе с frontend-разработчиком. Возможно, именно поэтому это такая забавная работа! Поскольку frontend-разработчик занимает центральное место в цепочке разработки, и при этом мы имеем дело с большим количеством разных специалистов, мы должны понимать их работу и иногда подсказывать, что и как сделать лучше.

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


Всем привет, с вами Максим Иванов, и сегодня мы поговорим на довольно острую тему в сфере веб-разработки. Как утверждает Крис Койер, frontend-разработчик должен разбираться в очень многих вещах, о которых не все даже и задумываются. Конечно, мы должны понимать, что frontend-разработчик не главный в процессе разработки любого онлайн-сервиса или ПО в целом. На ту же позицию frontend-разработчика вы найдете больше откликов на вакансию, чем на позицию backend-разработчиком. Но почему же тогда Крис Койер считает, что работать frontend-разработчиком сложнее, ибо ты должен специализироваться во всем. Конечно, ситуаций в жизни очень много, разные компании по-разному используют своих специалистов, но в чем наверняка должен разбираться frontend-разработчик? Об этом мы сегодня и поговорим. Жду комментариев на эту тему, а сейчас приступим.
Читать дальше →
Total votes 45: ↑39 and ↓6 +33
Comments 76

Про мегапиксели, число 41 и Жака Фреско / UPD: добавлено демо-видео с зумом и сравнение с мыльницей по просьбам читателей

Reading time 5 min
Views 227K

Вместо предисловия




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

Но сперва небольшая предыстория. В конце прошлого года я приобрёл себе уже порядком нашумевший камерафон Nokia Lumia 1020. Как-то раз в университете, когда мой приятель поинтересовался, что за чёрный круглый блин выступает на спине моего смартфона, я имел неосторожность при всех произнести словосочетание:
«Камера с разрешением 41 мегапиксель».

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




За примером далеко ходить не надо, вот небольшая вырезка типичных комментариев под любой публикацией о 1020:




Теоретик №1
#

Ещё немного исследований от теоретика №1




Теоретик №2
Читать дальше →
Total votes 243: ↑166 and ↓77 +89
Comments 314

Феерическая расстановка всех точек над Lumia 1020 или каким должен быть настоящий камерофон с поддержкой RAW

Reading time 11 min
Views 220K

Пришло время собрать в одном месте все-все-все мифы и разоблачения одного из самых противоречивых с точки зрения читателей камерофонов — Lumia 1020. (Внимание, много фото, красивых фото)

А также гвоздь программы, впервые на хабре, у всех на глазах: работа с RAW-исходниками, полученными с 1020, и их обработка.

Садитесь поудобнее, мы начинаем ;)
Какие вопросы чаще всего приходят в голову, когда читатель слышит выражение: «Камерофон Lumia 1020 с камерой в 41 мегапиксель»?

  1. 41 мегапиксель, как он там умещается?
  2. Соответствует ли остальное железо заявленному уровню фотомодуля?
  3. И всё же, там правда столько мегапикселей?
  4. Да даже если столько, какая от них польза? Зачем так много?
  5. Предположим, что в этом есть смысл, но RAW в смартфоне — это же перебор, толку от него с такой матрицы?!!
  6. Всё равно зеркалка лучше!

P.S. Да, у автора всё так же остался приступ «Люди любят обиженных» и он всё ещё отчаянно пытается восстановить честь финских инженеров, чьи достижения, по мнению автора, были незаслуженно проигнорированы в свете последних событий.


Пойдём по порядку.

1. 41 мегапиксель, как он там умещается?


Читать дальше →
Total votes 212: ↑174 and ↓38 +136
Comments 201

Тестирование вёрстки на визуальные регрессии с помощью PhantomCSS

Reading time 9 min
Views 24K
Работа с чужим кодом — одна из распространенных и сложных проблем, с которыми мне приходилось сталкиваться в своей работе. Почти в каждом случае предыдущий разработчик писал код не так, как бы мне этого хотелось.

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

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

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

Раньше я рассматривал такие изменения как большие риски. В конце концов, C в CSS это каскадирование, где порядок абсолютно важен. Реструктуризация нескольких стилей означает изменение порядка, что, естественно, приводит к большому риску что-то сломать.

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

На этот раз было решено построить визуально регрессионный набор тестов.
Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Comments 1

То, что вам никто не говорил о z-index в статье «То, что вам никто не говорил о z-index»

Reading time 2 min
Views 45K
image
Почти два года назад вышла статья «What no one told you about z-index» (и её перевод на Хабре «То, что вам никто не говорил о z-index»), авторы которой рассказывают о малоизвестной (76% проголосовавших пользователей Хабра слышат об этом впервые), но документированной возможности создания нового контекста наложения указав opacity меньше единицы.

Но несмотря на название статьи, авторы не рассказали вам ещё кое о чём.

Предполагается, что вы знакомы с понятием контекста наложения (англ. stacking context).
Элементы с общими родителями, перемещающиеся на передний или задний план вместе известны как контекст наложения. Понимание контекста наложения является ключом к пониманию z-index и порядка наложения элементов.

Каждый контекст наложения имеет свой корневой элемент в HTML структуре. В момент формирования нового контекста на элементе, все дочерние элементы так же попадают в этот контекст и занимают своё место в порядке наложения. Если элемент располагается в самом низу одного контекста наложения, то никаким мыслимым и немыслимым образом не получится отобразить его над другим элементом в соседнем контексте наложения, располагающимся выше по иерархии, даже с установленным z-index равным миллиону.
— Из статьи «То, что вам никто не говорил о z-index». Для понимания темы настоятельно рекомендую к ознакомлению либо её, либо классический труд на MDN.

Новый контекст наложения формируется в случаях:

  • Корневой элемент () всегда содержит корневой контекст наложения. Любой элемент на странице, не участвующий в локальном контексте наложения (сформированном любым из последующих вариантов), участвует в корневом контексте наложения.
    Элемент с position отличным от static и значением z-index отличным от auto. Кроме одного исключения для position: fixed, но я это вынес в отдельный пункт.
    Элемент имеет значение opacity меньше, чем 1.
Нужно больше контекстов наложения!
Total votes 45: ↑42 and ↓3 +39
Comments 12

Clear или overflow:hidden — очистка всего потока или создание контекста форматирования?

Reading time 2 min
Views 34K
clear и overflowСвойство clear со значениями left, right, both действительно очищает поток в отличие от overflow со значеним hidden, которое создаёт отдельный контекст форматирования для выбранного элемента, тем самым локализуя действие свойства float внутри элемента к которому применён.

Читать дальше →
Total votes 130: ↑120 and ↓10 +110
Comments 75

«Пожиратель сердец» — Маршрутизатор ASUS RT-AC68U: 802.11ac, usb 3.0, BitTorent, TimeMachine

Reading time 6 min
Views 160K

К 23 февраля и 8 марта. Порадуй себя и близких тебе


Предисловие от автора (написано за 5 минут перед публикацией)


Первоначально я хотел всесторонне протестировать устройство с красивыми графиками и табличками, но что-то я так проникся им и начал просто пользоваться, поэтому всё немного сумбурно и без фактов, одни эмоции. Он меня просто покорил… Поехали!

Краткая информация


На рынке домашнего сетевого оборудования представлено множество решений, но сегодня я хочу рассказать вам об одном, действительно, уникальном устройстве: маршрутизаторе ASUS RT-AC68U (описание на сайте ASUS).

Не откладывая в долгий ящик, приведу ключевые особенности RT-AC68U, ставящие его выше остальных устройств на рынке:
  • новейший стандарт беспроводной связи 802.11ac
  • подключение внешнего жесткого диска по интерфейсу usb 3.0
  • официальная функция Time Machine
  • поддержка стандарта BitTorent (с учетом предыдущего пункта)

Именно совокупность этих черт сподвигла меня к данному приобретению. Разумеется, я умалчиваю про общеизвестные функции, такие как: подключение принтера или 3G/4G-модема во второй usb2.0 порт, работа в качестве домашнего файл-сервера, работа в качестве качалки всего и вся.

Технические характеристики ASUS RT-AC68U
Таблица с характеристиками честно скопирована с официальной страницы Asus и в ней отсутствует упоминание о функции Time Machine.
Дополнительно хочу отметить, что крепление к стене не предусмотрено.
Network Standard IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, IEEE 802.11ac, IPv4, IPv6
Product Segment AC1900 ultimate AC performance: 600+1300Mbps
Data Rate 802.11a: 6,9,12,18,24,36,48,54Mbps
802.11b: 1, 2, 5.5, 11Mbps
802.11g: 6,9,12,18,24,36,48,54Mbps
802.11n: up to 450Mbps
802.11n TurboQAM:up to600Mbps
802.11ac: up to 1300Mbps
Antenna External x 3
Operating Frequency 2.4GHz/5GHz
Encryption 4-bit WEP, 128-bit WEP, WPA2-PSK, WPA-PSK, WPA-Enterprise, WPA2-Enterprise, WPS support
Firewall & Access Control Firewall: SPI intrusion detection,DoS protection
Access control: Parental control, Network service filter, URL filter, Port filter
Management UPnP, IGMP v1/v2/v3, DNS Proxy, DHCP, NTP Client, DDNS, Port Triger, Universal Repeater, System Event Log
VPN Support IPSec Pass-Throuth
PPTP Pass-Through
L2TP Pass-Through
PPTP server
OpenVPN server
PPTP client
L2TP client
OpenVPN client
WAN Connection Type Internet connection type: Automatic IP, Static IP, PPPoE(MPPE supported), PPTP, L2TP
WAN Bridge support
Multicast Proxy support
Multicast Rate Setting support
Utilities .Download master
— support BT, NZB, HTTP, ED2K
— support encryption, DHT, PEX and magnet link
— upload and download bandwidth control
— download scheduling
.Media server:
— Image: JPEG
— Audio: mp3, wma, wav, pcm, mp4, lpcm, ogg
— Video: asf, avi, divx, mpeg, mpg, ts, vob, wmv, mkv, mov
.QoS:
— WMM
— User definable rules for IP/MAC/Port. Upload and Download bandwidth management.
— ACK/SYN/FIN/RST/ICMP with Highest priority
.Guest Network
— 2.4GHz guest network x 3, 5GHz guest network x 3
.Printer Server: multifunctional printer support(Windows nly), LPR protocol support
.File server: Samba and FTP server with account management
.PPTP VPN server
.Network map
.Traffic monitor
Ports 4 x RJ45 for 10/100/1000/Gigabits BaseT for LAN, 1 x RJ45 for 10/100/1000/Gigabits BaseT for WAN
USB 2.0 x 1
USB 3.0 x 1
Кнопка WPS Button, Reset Button, Power Button, Wireless on/off Button
Светодиодный индикатор PWR x 1
Wi-Fi x 2
LAN x 4
WAN x 1
USB x 2
Электропитание AC Input: 110V~240V(50~60Hz)
DC Output: 19 V with max. 1.75 A current
Размеры 220 x 83.3 x 160 mm (WxDxH)
Вес 640 g
Комплeктация 1 x RT-AC68U Wireless-AC1900 Dual Band Gigabit Router
1 x RJ-45 cable
1 x Power adapter
1 x QSG
1 x Support CD(user manual and ultility)
Router Special Features 3G/4G data sharing, AiCloud, Printer server, Download Master, AiDisK, Multiple SSIDs, Parental Control
Ещё немного официальных картинок ASUS RT-AC68U












Читать дальше →
Total votes 74: ↑52 and ↓22 +30
Comments 129

Система домашнего видеонаблюдения

Reading time 7 min
Views 184K
Доброго времени суток уважаемые Хабровчани! Решил поделиться с вами своей маленькой слабостью, с детства люблю все знать и за всеми наблюдать! Именно эта идея и привела меня к желанию построить свою собственную систему видеонаблюдения в рамках квартиры. Мой путь оказался несколько тернист, но обо всем по порядку.
Читать дальше →
Total votes 30: ↑16 and ↓14 +2
Comments 86

Обзор 75-дюймового 4K-телевизора Samsung UE75HU7500

Reading time 11 min
Views 40K
Время идёт, растут диагонали экранов, а с ними и наши аппетиты. Экраны в 50-55 дюймов, казавшиеся огромными лишь несколько лет назад, теперь являются обычным делом и продаются в любом приличном магазине электроники. Они же, по моим наблюдениям, предлагают и самое выгодное сочетание размера экрана и цены.

Но к дьяволу выгоду! Наш пациент сегодня — 75-дюймовый монстр Samsung UE75HU7500, точное название модели Samsung UE75HU7500LXXN (поскольку я живу в Нидерландах, то и версия устройства соответствующая). Цена, рекомендованная производителем: 5499 евро.

Это один из самых больших телевизоров компании, имеющихся в массовой продаже на сегодняшний день; крупнее него есть лишь «гнутые» 78-дюймовики 78JU7500 и 78HU9000 и мегамонстр 85HU7500 с диагональю 85" — но у них цены уж совсем заоблачные (85-дюймовая модель стоит десять тысяч евро).



Телевизор находится у меня в активном использовании уже около полутора месяцев, так что могу поделиться опытом от первого лица. Под катом множество картинок.
Читать дальше →
Total votes 28: ↑23 and ↓5 +18
Comments 129

Слушаем музыку дома

Reading time 15 min
Views 89K
Как-то так сложилось, но музыкального центра у меня никогда не было, максимум советский магнитофон Маяк-223 да пара колонок. Приобщиться к цифровому звуку и компакт-дискам удалось только с появлением PC-совместимого компьютера в начале 2000-х. Да и CD-привод был дорог и появился далеко не сразу. Однако в то время уже во всю развивалась революция MP3, а соответственно как и у многих, у меня начала расти небольшая коллекция музыки на винте, что-то было скопировано у друзей, что-то рипалось собственноручно с купленных компакт-дисков, дабы не дергать постоянно привод ради прослушивания музыки. Да и в Winamp'е можно было составить плейлист на много-много часов из много-много альбомов, а не гонять строго один альбом постоянно.

Собственно музыка слушалась со встроенной звуковухи на обычных компьютерных пищалках без особых претензий. Но несколько лет назад вдруг захотелось чего-то большего. Что называется, не было у бабы проблем, купила баба порося. В этой статье я постараюсь поделиться с вами личным опытом в организации домашнего звука.
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 50

Open Home Automation Standard (OHAS)

Reading time 6 min
Views 20K
image

Не пугайтесь, стандарт неофициальный и самопровозглашённый, то есть совершенно необязательный к использованию. Это попытка разработать народный стандарт домашней автоматизации, который позволил бы собирать умный дом из стандартизированных блоков, просто как конструктор Лего. Возможно ли это? Да, возможно и такой умный дом давно работает и практика показала полную жизнеспособность идеи. За несколько лет эксплуатации не выявлено никаких сбоев и проблем, мало того, после эксплуатации умного дома, построенного по этому принципу, другие варианты смотрятся просто как анахронизм.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 36

Аудио мультирум своими руками. Многокомнатная музыкальная система на основе бесплатного Logitech Media Server

Reading time 4 min
Views 58K
По специфике работы мне часто приходится давать советы профессиональным инсталляторам, каким образом решить ту или иную задачу при создании системы домашней автоматизации.


Проект Tobias на основе HiFiBerry

Один из вопросов, удивляющих своим постоянством — как организировать музыкальную систему на объекте таким образом, чтобы было легко включить её в единый интерфейс управления домом, наравне с освещением, климатом и другими системами. Вспоминая, что сам в первый раз делал это с большими сложностями и ошибками, я решил описать этот процесс подробнее для всех интересующихся.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 17

NAS для нас: от дорогого к простому и бюджетному

Reading time 4 min
Views 131K
Продолжая тему накопителей, поднятую в постах про беспроводные диски и флешки, хочу перейти к теме NAS. Штука эта довольно интересная, особенно в эпоху планшетов, ноутбуков и множества семейных устройств. Я специально остановлюсь на домашнем применении, потому что корпоративный NAS – тема отдельной большой статьи.



Зачем нужен NAS дома? Вроде бы простой вопрос и большинство на него ответит так – для хранения данных и доступа к ним всех членов семьи. Только вот это совсем не так, потому что тогда проще и вполне достаточно будет взять нормальный роутер и подключить к нему внешний диск по USB.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 63

Что не так с онлайн-курсами и как это исправить: опыт HTML Academy

Reading time 9 min
Views 225K
image

Мы в HTML Academy постоянно работаем над повышением эффективности наших образовательных программ и курсов (ради этого мы ставим опыты на студентах и внедряем геймификацию).

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

Именно поэтому мы решили создать курс, прохождение которого позволяло бы людям не просто получить базовые знания вёрстки, но стать настоящим (пусть и начинающим) ИТ-специалистом. В сегодняшнем материале мы расскажем о том, что в итоге из всего этого получилось.
Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Comments 23

Здоровье гика: как не закиснуть к старости

Reading time 7 min
Views 81K
Привет, Geektimes! Сегодня мы поговорим — внезапно! — о здоровье. А если быть точным — о том, как влияет многочасовое ежедневное сидение за компьютером и как можно минимизировать этот вред, чтобы в старости радоваться жизни и продолжать работать сидя за компом, а не жаловаться на жизнь на приёмах у врачей.


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

Условно все «компьютерные» упражнения можно поделить на три блока — для глаз, для суставов кистей и для осанки. Итак, поехали.
Читать дальше →
Total votes 49: ↑44 and ↓5 +39
Comments 42

Windows server 2012 r2 Hyper-V установка роли или о том, как можно наделать ошибок в процессе установки

Reading time 3 min
Views 23K
Небольшая предыстория вопроса, который хочу поведать. В нашей организации интернет раздаётся через юзергейт — максимум 40 человек одновременно. В последние полгода-год проблема обострилась. Всё чаще появляется страничка в интернет-браузере, которая говорит, что надо постоять в очереди за интернетом.

Два года назад я делал тестовый вариант прокси-сервера. Сделал его на Zentyal 3.3, через squid. Ушёл в отпуск, пришёл — тестовой машины не стало. Так как проблема не стояла столь остро, то про это на время забили, к тому же было просто не на чем строить новый прокси.

В конце позапрошлого года появился у нас новый сервер под 1С с мощным железом, на котором вполне может крутится виртуальная машина, и при этом не одна.

Читал неоднократно на Хабре, как ставить роль Hyper-V, как настроить сеть. При этом полезных публикаций было мало. Почему? Так я сейчас вам покажу.
Читать дальше →
Total votes 13: ↑5 and ↓8 -3
Comments 27

Пересмотренное руководство по Grunt для начинающих

Reading time 6 min
Views 50K
Еще в марте 2013 года я написал статью руководство по Grunt для начинающих и она стала самой посещаемой статьей на моем сайте. Я написал ее в то время, когда сам только начинал своё знакомство с Grunt, и это было скорее руководство для себя, чем для кого-то ещё. Теперь, спустя 18 месяцев, я почувствовал, что пришло время пересмотреть как я использую Grunt потому что сейчас я знаю гораздо больше, чем в то время.

Если вам не терпится просто увидеть код, то весь он есть на Github.
Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Comments 16

Под прессом. Ломаем и защищаем Wordpress своими руками

Reading time 11 min
Views 90K


WordPress — это удобная блог-платформа для публикации статей и управления ими, на которой базируется огромное число различных сайтов. Из-за своей распространенности эта CMS уже давно является лакомым куском для злоумышленников. К сожалению, базовые настройки не обеспечивают достаточного уровня защиты, оставляя многие дефолтные дырки незакрытыми. В этой статье мы пройдем типичным путем «типового» взлома сайта на Wordpress, а также покажем как устранить выявленные уязвимости.
Читать дальше →
Total votes 29: ↑26 and ↓3 +23
Comments 11

Новый графический режим: CGA в 1024 цвета

Reading time 9 min
Views 42K
image

Речь пойдёт о демке "8088 MPH", победившей в соревновании Revision 2015's Oldskool Demo. Мы, вместе с Trixter, reenigne и Scali сделали это. И я получил возможность не только работать с группой волшебников программирования, но и побить мировые рекорды при изготовлении демок для старого доброго IBM PC, мамы и папы современной платформы x86.

Если у вас под рукой по какой-то причине не оказалось IBM PC XT x86 с CGA-адаптером, вы можете посмотреть демку на ютубе:



Технические подробности содержатся в посте reenigne, а я решил рассказать эту историю в более наглядном виде.
Читать дальше →
Total votes 105: ↑105 and ↓0 +105
Comments 21

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity