Обновить
0
@CrazyTimonread⁠-⁠only

Front-end developer

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

Как ты реализуешь аутентификацию, приятель?

Время на прочтение10 мин
Охват и читатели135K


Все знают о стандартной аутентификации пользователя в приложении. Это олдскульная процедура регистрации — пользователь вводит адрес почты, пароль и т. д., — а затем при входе мы сравниваем почту и/или пароль с сохранёнными данными. Если совпадает, даём доступ. Но времена изменились, и сегодня появилось много других методов аутентификации. Если хотите оставаться востребованным программистом/разработчиком в этом меняющемся, словно калейдоскоп, мире разработки ПО, то вы должны знать обо всех этих новых методах.


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


Здесь я постараюсь рассказать о большинстве распространённых сегодня методов аутентификации. Это не подробное техническое руководство, а лишь способ познакомить вас с ними. Хотя методы описаны с учётом применения в вебе, эти идеи можно реализовать и в других условиях.

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

Так зачем же внедрять ERP-системы

Время на прочтение8 мин
Охват и читатели44K
Казалось бы, этот вопрос давно уже решен и всем всё ясно. Нет, ребята, все не так, все не так, ребята. Я сам писал на эту тему несколько лет назад, но прошли годы, ситуация изменилась. Да и страна у нас сильно изменилась, это тоже важно.

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

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

  • чтобы автоматизировать бизнес-процессы
  • чтобы избавиться от бардака
  • чтобы сделать единую монолитную систему
  • чтобы внедрить в компании современные технологии
  • чтобы сократить штат


И реже (но все чаще и чаще) звучат такие ответы как:

  • чтобы улучшить качество планирования
  • чтобы снизить запасы
  • чтобы увеличить скорость потока и оборачиваемость
  • чтобы производить точно в срок
  • чтобы повысить прибыльность проектов

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

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

Время на прочтение14 мин
Охват и читатели87K
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) независимо от процесса проектировки, когда эти две активности полностью разделены и задокументированы.
Читать дальше →

Интервью со skype-мошенником

Время на прочтение4 мин
Охват и читатели292K
Несколько дней назад Сергей Доля рассказал о том, как мошенники взломав скайп его друга, начали рассылать сообщения по контакт-листу с просьбой перевести денег. За несколько часов злоумышленникам по оценкам самого Доли удалось получить более 250 000 рублей. Об этом также писал tjournal.



Схема развода далеко не нова. Одна из самых известных историй на эту тему описана почти два года назад. Стыдно признавать, но около года назад я сам стал жертвой таких же (тех же самых?) мошенников. Один из старых знакомых, от которого давно не было ничего слышно, внезапно написал с просьбой перевести немного денег, потому что «очень надо». Да-да, я знаю, «как так можно», «ну что за лох» и всё такое. В общем, просто желаю вам не попадаться.

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

Из статьи Доли мне запомнился скриншот, на котором кто-то из его друзей просит мошенников дать интервью, а они отказываются. Ну и раз представился такой шанс, я тоже решил попросить дать интервью. Неожиданно, мне удалось получить ответы на многие интересные вопросы. Ниже я привожу наш диалог в незначительной художественной обработке.
Читать дальше →

Что на самом деле происходит, когда пользователь вбивает в браузер адрес google.com

Время на прочтение19 мин
Охват и читатели476K


Эта статья является попыткой ответа на старый вопрос для собеседований: «Что же случается, когда вы печатаете в адресной строке google.com и нажимаете Enter?» Мы попробуем разобраться в этом максимально подробно, не пропуская ни одной детали.

Примечание: публикация основана на содержании репозитория What happens when...

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

Мы перенесли перевод в репозиторий GitHub и отправили Pull Request автору материала — оставляйте свои правки к тексту, и вместе мы сможем значительно улучшить его.
Читать дальше →

Батяня-комбат для разработчика: специально обученные чуваки, которые как консильери в мафии

Время на прочтение10 мин
Охват и читатели17K


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

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

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

Бонд. Джеймс Бонд. Роботизированная подделка почерка для маркетологов и социальных инженеров

Время на прочтение2 мин
Охват и читатели46K


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

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

У сервиса Bond, который предоставляет услуги по отправке реальных писем, есть все шансы пройти «рукописный тест Тьюринга» (т.е. человек не сможет отличить, писал ли этот текст человек или робот).

Я часто говорил, что достаточно знаю ИТ, чтобы не доверять ИТ, теперь же рухнуло и доверие к «реальным документам». Достаточно несколько школьных сочинений скормить нейронным сетям, чтобы они смогли писать за меня (и даже лучше чем я). Кстати, сервис Bond предоставляет услуги по улучшению/тьюнингу вашего почерка.

Итак, что же нам нужно, чтобы на нас оставили завещание?
Шаг первый. Создаем 3d принтер, который эмулирует письмо от руки
Шаг второй. Создаем самообучающуюся программу и скармливаем ей несколько листов рукописного текста жертвы клиента
Шаг третий. Profit

Под катом краткий обзор оборудования, примеры писем, знакомство с проектами Maillift (письма «от руки»), Bond (письма от руки и распознание и эмуляция почерка), Herald (как студенты свой принтер спаяли)

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

Почему научиться программировать так чертовски тяжело?

Время на прочтение14 мин
Охват и читатели433K
Привет, Хабр!

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

  • С чего начать обучение программированию?
  • У вас есть курс по Java для новичков, но я слышал, что нужно изучать Python, правда ли это?
  • На других сайтах все просто и понятно, а у вас какие-то компиляции и тесты!
  • Непонятно зачем нужен этот ваш курс по алгоритмам, в реальной жизни все алгоритмы уже реализованы в стандартных библиотеках

Но сложнее всего объяснить новичку, грубо говоря, во что он ввязывается. Благодаря очень простым, игровым образовательным проектам многие считают, что программирование это очень легко, а наши виртуальные машины, где нужно запускать тесты и компилировать код – это надуманная сложность. Давно хотелось найти такой материал, который бы подготовил новичка к длинному и сложному пути к карьере программиста. И недавно наши коллеги из Viking Code School такой материал написали! А мы его перевели для вас.




Квинси Ларсон был просто “офисным парнем в костюме”. Он решил научиться программировать. Начал спрашивать людей вокруг. Изучил немного Руби, потом быстренько посмотрел на другие языки вроде Scala, Clojure и Go. Он изучил Emacs, а потом Vim, а потом раскладку Dvorak. Он втыкал в Линукс, копался с Лиспом и кодил на Питоне, и жил при этом в командной строке больше полутора лет.

Его швыряло туда-сюда как листочек в торнадо. Каждый совет, который он слышал, тащил его то в одну, то в другую сторону, до тех пор пока он не прошел “каждый онлайн-курс по программированию во вселенной”. В конце концов, не смотря на то, что он получил работу разработчика ПО, Квинси:

… был уверен, что на первый взгляд нормальные программисты, с которыми я общался, были на самом деле социопатами, которые получили, а потом подавили в себе, травму при изучении программирования.

Ох. Звучит знакомо?
Читать дальше →

USB killer

Время на прочтение2 мин
Охват и читатели445K
Было обычное хмурое зимнее утро, мы с коллегами по обыкновению пили утренний кофе, делились новостями, ничто не предвещало беды. Но тут приятель рассказал… далее цитата из скайп чата:

Как-то читал статейку как парень в метро вытянул у чавака из сетчатого кармана сумки флеху, на которой 128 было написано. Пришел домой, вставил в ноут -> спалил пол компа… Написал на флехе 129 и теперь носит в наружном кармане своей сумки...

Картинка для привлечения внимания:



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

Потрясающая коллекция бесплатных шрифтов за 2014 год

Время на прочтение1 мин
Охват и читатели123K
Привет, Хабр! Многие уже знают о моей страсти к попытке собрать самое лучше, что может быть полезно для веб-разработчиков или веб дизайнеров. И шрифты — не исключение. Программное обеспечение для работы со шрифтами постоянно развивается. Количество дизайнеров желающих опробовать себя в типографике растет с каждый днем. А сегодня я хочу представить вам их наработки — 30 потрясающих бесплатных шрифтов, которые мне удалось собрать за последний год.

Polar



Polar

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

Лучшие плагины для Sublime Text

Время на прочтение5 мин
Охват и читатели654K

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



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

Youtube

Время на прочтение1 мин
Охват и читатели225K
Приходится ждать загрузки видео >360p по несколько секунд, обрывы на середине просмотра стало уже обыденным делом и это с достаточно широким каналом.

image

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

Для того чтобы запрос шел мимо cdn серверов ютуба надо заблокировать диапазон ip адресов (в роутере или на компьютере).

173.194.55.0/24 и 206.111.0.0/16
Читать дальше →

Взгляд изнутри: мир вокруг нас – 3

Время на прочтение6 мин
Охват и читатели125K

Посвящается всем, кто любил, помогал,
верил, поддерживал, несмотря ни на что,
и с кем я не мог быть рядом …


Всё хорошее когда-нибудь заканчивается. Мне безмерно жаль, что данный пост будет заключительным в серии увлекательного – по крайней мере, я надеюсь на это – путешествия в микро- и иногда даже наномир, о котором 50 лет назад без преувеличения великий физик Фейнман сказал: “There is plenty of room at the bottom”. Действительно внизу гораздо больше места, чем мы могли бы себе представить. Там, внизу, живут бактерии, размножаются растения и животные, работают наши повседневные приборы от кофеварки до Ватсона (Watson, IBM), там протекает невообразимое множество процессов, которые зачастую не дано понять и осмыслить человеку, но которые определяют наш мир.

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

Вояж в глубины нашего мира начинается прямо сейчас

Автомобильная телеметрия за 100$

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

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

image

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

Racing technologies: Electronic Control Unit

Время на прочтение3 мин
Охват и читатели8.8K
Привет, коллеги! image
Сегодня я немножко отклонюсь от традиционных для меня тем информационной безопасности и расскажу про электронику, с которой я работаю в свободное время: системы управления двигателем гоночных автомобилей.
Но начнем с описания ситуации в целом. В автоспорте, как собственно и во многих других технических видах спорта, довольно часто результат зависит не только от спортсмена, но и от «снаряда» который он использует. Поэтому требуется профессиональный подход к подготовке и настройке болида. Конечно же, нюансов очень много. Но если грубо разделить его на части, то это будет настройка шасси и настройка двигателя. Сегодня хотелось бы рассказать вам, какая электроника используются при работе с «сердцем» гоночных автомобилей.
Читать дальше →

Sqimitive.js — Frontend Primitive или «Backbone без фантиков»

Время на прочтение31 мин
Охват и читатели20K
Уже довольно давно большинство сайтов перестало быть набором HTML/PHP/CSS/JS-файлов, которые достаточно просто загрузить на сервер. Bower, Grunt, Component.js, AMD, Require.js, CoffeeScript, Clojure, Composer, npm, LESS и ещё 100500 инструментов — всё это сегодня применяется для сборки проектов, обновления компонентов, загрузки зависимостей, сжатия кода, компиляции из одного JavaScript в другой, подтасовки карт, прополки огорода и даже готовки яичницы.

Многих людей это вдохновляет. Да что там — 95% моих знакомых в один голос твердят, как подключив всего пару-тройку библиотек с особой, уличной магией можно забабахать сайт на over-9000 зелёных австралийских долларов — и всего за один вечер, с перерывом на кофе и бублики.

А я — странный человек. Не люблю смешения языков, технологий, библиотек. Angular, Knockout, React — они все хороши, но каждая — по-своему сложна. А ведь есть и «гибриды», где сходится сразу несколько миров — как Ember и Knockout.Bootstrap. Вдобавок, многие построены на jQuery — впрочем, к ней даже у меня претензий нет; наверное, таким и должен был быть JavaScript.

Как бы то ни было, реальность беззастенчиво входит в контакт с мечтами и расставляет точки над «i». Мне так же приходится писать на «new & popular» — а когда пишешь, душа томится и просится создать очередной велосипед… а ей разве откажешь? Она ведь как дитя малое.

Велосипед был создан. Велосипед без фантиков. Такой же простой, как автомат Калашникова, и многогранный, как швейцарский нож, где вместо наследования — события, вместо моделей, коллекций и представлений — один класс, с неограниченной вложенностью и полной свободой действий, почти в два раза меньший Backbone.js, использующий Underscore.js и, необязательно, jQuery/Zepto.

Добро пожаловать в Sqimitive.
Zen Book: введение в нирвану

Собеседование на должность JavaScript разработчика

Время на прочтение4 мин
Охват и читатели290K


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

Несколько интересностей и полезностей для веб-разработчика #24

Время на прочтение5 мин
Охват и читатели59K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Webhook


image

Webhook — это платформа для создания сайтов. Важно не путать со статическими генераторами, потому что это именно «CMS builder». Проект успешно завершил кампанию на Kickstarter 14 мая этого года, где смог собрать сумму в два раза большую, чем было необходимо. А буквально недавно состоялся релиз первой версии продукта. Webhook построен с использованием NodeJS, Grunt и Firebase для реалтайма, работает на Windows, Linux и Mac, внутри целая система виджетов со множеством вариаций на выходе, «Django-like templating» с помощью Swig JS, кроссплатформенная админ панель и еще целый ряд плюсов.
Читать дальше →

Изучаем Three.js.Глава 1: Создаем нашу первую 3D-сцену, используя Three.js

Время на прочтение13 мин
Охват и читатели118K
Всем привет!
Хочу начать вольный перевод замечательной книги «Learning Three.js- The JavaScript 3D Library for WebGL». Я уверен, что эта книга будет интересна не только новичкам, но и профессионалам своего дела. Ну не буду долго затягивать вступление, только приведу пример того, что мы совсем скоро сможем делать:



Будущее начинается здесь

Отладка асинхронного JavaScript с помощью Chrome DevTools

Время на прочтение6 мин
Охват и читатели37K

Вступление


Возможность асинхронной работы с помощью callback-функций(далее просто возвращаемых функций) — отличительная особенность JavaScript. Использование асинхронных возвращаемых функций позволяет вам писать событийно-ориентированный код, но так же добавляет кучу проблем, ведь код перестает выполняться в линейной последовательности.

К счастью, теперь в Chrome Canary DevTools вы можете отслеживать весь стек вызовов асинхронных функций в JavaScript!
Под катом 10Mb трафика

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность