Search
Write a publication
Pull to refresh
18
0
Александр @oleks

Front-end

Send message

Дайджест свежих материалов из мира фронтенда за последнюю неделю №248 (30 января — 5 февраля 2017)

Reading time4 min
Views22K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы и интересные материалы из области фронтенда.

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

Прокрастинация. Как посадить в клетку демона, который мешал двигаться к цели

Reading time8 min
Views59K
image
Автор иллюстрации — John Kenn

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

Прокрастинация — преступление, в котором виновен каждый.

Главный ингредиент успеха — действие. Поддаваться прокрастинации — то же самое, что вообще ничего не делать. Еще одна проблема в том, что мы все-таки выполняем задуманное. Да, мы откладываем до последнего и ждем дедлайна, но все же беремся за дело. И это плохо, ведь появляется ложная уверенность в завершении задачи независимо от времени начала действий.
Еще хуже когда сроков нет вообще. Как долго мы сможем откладывать, пока возможность не будет упущена окончательно?

У жизненных целей нет дедлайна, а значит и нет последствий его срыва. Так что откладывать мы можем бесконечно и не принимать никаких действий. Но без действий не будет и результатов.
Читать дальше →

Пишем самый простой и быстрый input type file

Reading time2 min
Views71K
Доброго времени суток, мой дорогой друг. В сети, да и на Хабре, есть множество статей на тему создания своего input type=«file», но все они отличаются большим количеством костылей и большим количеством кода, что, как мне кажется, не есть хорошо. Ибо, как бы это не было парадоксально, меньше — лучше.


Работа с Flexbox в гифках

Reading time4 min
Views39K
Flexbox так и напрашивается на то, чтобы создавать по нему визуальные шпаргалки. Сегодня мы предлагаем вам перевод статьи Скотта Домеса «Как работает Flexbox – в больших, ярких анимированных гифках», своего рода наглядное пособие.



Flexbox обещает избавить нас от недостатков стандартного CSS (таких как вертикальное выравнивание).
Следует признать, что Flexbox действительно справляется с поставленной задачей. Однако освоение этой новой модели может вызвать некоторые затруднения.
Попробуем продемонстрировать, как функционирует Flexbox, позволяя создавать более совершенные макеты страниц.
Читать дальше →

Как оценивать большие задачи

Reading time10 min
Views24K
Существует множество способов оценить пользовательские истории. Мы используем собственную методологию, чтобы оценить и проработать задачи перед тем, как писать код. Как мы до этого дошли и почему наш подход лучше, чем Planing Poker, читайте под катом.

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

Есть две функции

Reading time16 min
Views54K
Привет

Есть две булевы функции n аргументов, одна — константная, другая — сбалансированная. На какую сам сядешь, на какую фронтендера посадишь? Вот только функции неизвестны, а вызвать их разрешается лишь один раз.

Если не знаешь, как решить подобную задачу, добро пожаловать под кат. Там я расскажу про квантовые алгоритмы и покажу как их эмулировать на самом народном языке — на Python.
Hello darkness, my old friend

Browser Fingerprint – анонимная идентификация браузеров

Reading time14 min
Views225K


Валентин Васильев (Machinio.com)


Что же такое Browser Fingerprint? Или идентификация браузеров. Очень простая формулировка — это присвоение идентификатора браузеру. Формулировка простая, но идея очень сложная и интересная. Для чего она используется? Для чего мы хотим присвоить браузеру идентификатор?


  • Мы хотим учитывать наших пользователей. Мы хотим знать, пришел ли пользователь к нам первый раз, пришел он во второй раз или в третий. Если пользователь пришел во второй раз, мы хотим знать, на какие страницы он заходил, что он до этого делал. С анонимными пользователями это невозможно. Если у вас есть система учета записей, пользователь логинится, мы все про него знаем — мы знаем его учетную запись, его персональные данные, мы можем привязать любые действия к этому пользователю. Здесь все просто. В случае с анонимными пользователями все становится гораздо сложнее.

4 правила работы в Sketch над крупными проектами

Reading time5 min
Views51K

image


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

Что я хотел бы знать об акциях и долях, прежде чем стать частью стартапа-единорога

Reading time7 min
Views16K
Ограничение ответственности: настоящая статья написана анонимно. Упомянуто несколько конкретных компаний, но лишь в качестве общего примера.

Данный пост коротко рассказывает о том, что я хотел бы знать и продумать до поступления на работу в какую-либо закрытую акционерную (частную) компанию (она же стартап, она же «единорог» в некоторых случаях — при оценке стоимости выше $1 млрд).

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

Представленная здесь информация не является новой или оригинальной, но целью данной статьи является представить все основные положения в одном месте.
Читать дальше →

История создания первой игры на Unity — от идеи до релиза

Reading time7 min
Views41K


Добрый день! Я — инди-разработчик (с недавнего времени), 2 года назад, будучи пожарным, пришла в голову мысль создать свою игру на Android. Из опыта было только создание карт под игровые движки Gold Source и Source (на них построены старые добрые: Counter-Strike, Half-Life и многое другое), взяв волю в кулак, решил что я обязательно справлюсь и занялся штудированием интернет-поисковика Google.

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

Осторожно, под катом gif-изображения.
Читать дальше →

Паттерны проектирования, взгляд iOS разработчика. Часть 0. Синглтон-Одиночка

Reading time6 min
Views36K
Я почув і забув.
Я записав і запам'ятав.
Я зробив і зрозумів.
Я навчив іншого, тепер я майстер.
(В. В. Бублик)


Небольшое вступление.


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


И именно эти слова и сподвигли меня на написание данной серии постов. Дело в том, что я — начинающий iOS разработчик, и я очень хочу разобраться в паттернах проектирования. И я не придумал лучшего способа, чем взять книгу "Паттерны проектирования" Эрика и Элизабет Фримен, и написать примеры каждого паттерна на Objective-C и Swift. Таким образом я смогу лучше понять суть каждого паттерна, а также особенности обоих языков.


Содержание:


Часть 0. Синглтон-Одиночка
Часть 1. Стратегия
Часть 2. Наблюдатель


Итак, начнем с самого простого на мой взгляд паттерна.


Одиночка, он же - синглтон

Python: коллекции, часть 4/4: Все о выражениях-генераторах, генераторах списков, множеств и словарей

Reading time17 min
Views199K
Часть 1 Часть 2 Часть 3 Часть 4
imageЗаключительная часть моего цикла, посещенного работе с коллекциями. Данная статья самостоятельная, может изучаться и без предварительного изучения предыдущих.

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

imageБудут рассмотрены: выражения-генераторы, генераторы списка, словаря и множества, вложенные генераторы (5 вариантов), работа с enumerate(), range().
А также: классификация и терминология, синтаксис, аналоги в виде циклов и примеры применения.

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

Оглавление:


1. Определения и классификация.
2. Синтаксис.
3. Аналоги в виде цикла for и в виде функций.
4. Выражения-генераторы.
5. Генерация стандартных коллекций.
6. Периодичность и частичный перебор.
7. Вложенные циклы и генераторы.
8. Использование range().
9. Приложение 1. Дополнительные примеры.
10. Приложение 2. Ссылки по теме.
Изучаем детали, иллюстрации и примеры

Как все начиналось: разработчики вспоминают первые созданные ими игры

Reading time13 min
Views13K


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

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

Node.js, Express и MongoDB: API за полчаса

Reading time11 min
Views246K
Начинающему программисту разработка для Node.js может показаться сущим кошмаром. Виной всему – гибкость этой платформы и отсутствие чётких руководств. Но, на самом деле, всё не так уж и страшно.


Вот, например, типичная задача: разработка REST API, серверной части некоего приложения. Обилие собственных возможностей Node и множество дополнительных модулей, которые способны помочь в решении этой задачи, способны завести новичка в тупик, вызванный богатством выбора. Основные вопросы здесь заключаются в подборе компонентов и в настройке их совместной работы.
Читать дальше →

9 нелепых способов открыть .sketch-файл. И один ничего такой

Reading time2 min
Views104K
Итак: требуется открыть .sketch-файл, созданный программой Sketch. Той самой, которая есть только на Mac’ах.

А Mac’a нет. Есть только Windows и этот дурацкий .sketch-файл, который кто-то прислал. И у этого кого-то Mac есть. А у тебя нет. Только Windows.
Читать дальше →

Тестирование untestable JS c помощью Babel и snarejs

Reading time8 min
Views6.3K
image

В процессе разработки современных JS приложений особое место уделяется тестированию. Test Coverage на сегодня является чуть ли не основной метрикой качества JS кода.

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

О том как протестировать то что в общем может быть untestable пойдет речь далее.
Читать дальше →

Основы компьютерных сетей. Тема №6. Понятие VLAN, Trunk и протоколы VTP и DTP

Reading time20 min
Views806K

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

Чистая архитектура в Python: пошаговая демонстрация. Часть 5

Reading time11 min
Views18K

Содержание

REST-слой (часть1)


Git tag: Step12


Наступил завершающий этап нашего приключения в поисках чистой архитектуры. Мы создали модели предметной области, сериализаторы, сценарии и хранилище. Но пока отсутствует интерфейс, который склеивает все вместе: получает параметры вызова от пользователя, инициализирует сценарий с хранилищем, выполняет сценарий, который получает модели предметной области из хранилища, и преобразует их в стандартный формат. Этот слой может быть представлен с помощью множества интерфейсов и технологий. Например, с помощью интерфейса командной строки (CLI): получать параметры с помощью ключей командной строки и возвращать результат в виде текста на консоли. Но та же базовая система может быть использована и для web-страницы, которая получает параметры вызова из набора виджетов, выполняет описанные выше шаги, и разбирает возвращенные данные в формате JSON для отображения результата на той же странице.


Вне зависимости от выбранной технологии, для взаимодействия с пользователем, сбора входных данных и предоставления выходных результатов, нам необходимо взаимодействовать с недавно созданной чистой архитектурой. Поэтому сейчас мы создадим слой для вынесения наружу API для работы с HTTP. Реализовано это будет при помощи сервера, который предоставляет набор HTTP-адресов (конечных точек API), при обращении к которым возвращаются некоторые данные. Такой слой обычно называют REST-слой, потому что, как правило, семантика адресов схожа с рекомендациями REST.

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

Другой взгляд на разработку приложений для Smart TV

Reading time4 min
Views8.5K

Несмотря на то, что Smart TV появились на рынке СНГ и стали набирать популярность достаточно давно (~2010) — технологии/подходы разработки приложений для них сильно отстают во времени, порой обвивая приятными воспоминаниями из 7х или ранее годов.


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


Что такое приложения для Smart TV ?


В "приложение для Smart TV" я вкладываю определение как web приложения, специальным таким образом подогнанное под телевизор. По большому счету, отличий не так и много, по большей части это несовместимость/отсутствие некоторого API на различных устройствах, к тому же не стоит забывать, что телевизор не компьютер и его ресурсы более ограничены.


Ключевые (как по мне) отличия:


  • Ограниченные ресурсы.
  • Специальная навигация.
  • Местами неожиданное поведение на различных устройствах.
  • Немного запутанные способы тестирования.
  • Неожиданные варианты деплоймента и обновления приложения.

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


Но я хочу рассказать именно о первых двух.


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

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Works in
Date of birth
Registered
Activity