Pull to refresh
22
0
Артур Столяр @NekR

User

Send message

Использование React JSX вместе с TypeScript 1.6

Reading time7 min
Views45K
Не так давно Microsoft объявила о выпуске TypeScript 1.6 Beta, одним из интересных, на мой взгляд, нововведением является поддержка React/JSX, что в совокупности с особенностями TypeScript'а открывает новые возможности.



Я расскажу о личном опыте — как начал использовать связку TypeScript + React, с каким проблемами столкнулся и как их решал. А так же покажу примеры gulp-тасков для того, чтобы это все заработало и продемонстрирую код минимального todo приложения на TypeScript + React (ссылка на Github).

Если вам это интересно — пожалуйста, заходите под кат.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments5

(Не)безопасный frontend

Reading time13 min
Views60K

Интро


Не так давно я выступал на конференции FrontendConf 2015 (РИТ++) с темой данной статьи. И при подготовке доклада начал искать информацию, а кто вообще выступал на данную тему и что есть в Сети на данный момент.

Оказалось, что информации совсем немного, более-менее можно было бы отметить доклад mikewest.org/2013/09/frontend-security-frontendconf-2013 от Mike West из компании Google, но какой-то «непентестерский» взгляд и уж совсем мало материала. И www.slideshare.net/eoftedal/web-application-security-in-front-end где тема раскрыта более детально, но выступление 2011 года. А за 4 года технологии и атаки на месте не стояли.

Долго и сложно выбирая темы, что же все-таки рассказать разработчикам фронтендов про безопасность, при этом минимум касаясь бекэнда (местами все-таки это неделимо), получился доклад, а здесь — его текстовый пересказ.

О чем вообще разговор?


А действительно, о чем тут вообще можно разговаривать? Говоря про взломы и безопасность невольно приходят в голову тезисы — слили базу, получили доступ к выполнению команд ОС на сервере, прочитали чужую переписку. Но это все — server side код. А что ж может «нагородить» фронтэндер? Главная опасность, конечно же, в обходе атакующим SOP — Same Origin Policy, главной политики безопасности браузеров, которая регулирует работу в разных Origin. Но не только, давайте разбираться.

Читать дальше →
Total votes 64: ↑63 and ↓1+62
Comments4

Очередной умный дом, в трех частях. Часть первая, железная

Reading time5 min
Views137K
Хочу рассказать и показать результаты проекта, который развивается примерно 10 лет. Развивается как хобби, поэтому бывает, что за неделю делается новое устройство, а потом за полгода – не делается ничего. Я очень не люблю словосочетание «Умный дом», поэтому дальше оно не встретится. Также тут не будет схем, примеров кода, опутанных проводами макетных плат и прочих скучных вещей. Будет много фото и рассуждений на общие темы.

image
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments79

Размышления о стандартной библиотеке JavaScript. Core.js

Reading time64 min
Views103K
Один пацан писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно.
— С просторов интернета

К чему это я? Занятная штука — JavaScript. Основа современного web и на фронтэнде альтернатив как таковых не имеет.

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

Ванильная стандартная библиотека JavaScript, в целом, неплоха. Это не только стандартная библиотека по спецификации языка ECMA-262 актуальных версий — от 3 до черновика 6. Часть API вынесена в отдельные спецификации, например, API интернационализации ECMA-402. Многие возможности, без которых сложно представить JavaScript, например, setTimeout, относятся к web-стандартам. Консоль не стандартизована вовсе — приходится полагаться на стандарт де-факто.

Вот только не такая уж она и стандартная — везде разная. Есть старые IE, в которых из коробки мы получаем стандартную библиотеку ES3 90-бородатого года даже без Array#forEach, Function#bind, Object.create и консоли, и есть, например, Node.js, на которой многие уже вовсю используют возможности грядущего ES6.

Хочется иметь универсальную, действительно стандартную библиотеку, как на сервере, так и в любом браузере, максимально соответствующую современным стандартам, а также реализующую необходимый функционал, что (пока?) не стандартизован. Статья посвящена библиотеке core.js — реализация моих соображений по поводу стандартной библиотеки JavaScript. Кроме того, эта статья еще и шпаргалка по современной стандартизованной стандартной библиотеке JavaScript и заметки о её перспективах.

Содержание, или что получим на выходе:


Читать дальше →
Total votes 87: ↑82 and ↓5+77
Comments40

Запуск Android-приложений под Windows, OS X, Linux в Chrome

Reading time1 min
Views74K
archon

Корпорация Google довольно давно добавила Android-приложения в каталог Chrome Web Store, позволяя запускать ряд таких приложений на Chromebook или Chromebox. Не так давно несколько разработчиков сообщили, что есть возможность запускать и другие Android-приложения, не из каталога Chrome Web Store. Правда, перед запуском такие приложения нужно специальным образом подготовить.

Благодаря такой подготовке Android-приложения можно запускать не только на Chromebook, но и работать с ними в Windows, OS X, и Linux. Причем приложения запускаются, как нативные.

Читать дальше →
Total votes 48: ↑45 and ↓3+42
Comments27

Изменение правил конкурса Tizen App Challenge

Reading time1 min
Views3.1K
Добрый день, Хабр!

В связи с переносом на неопределенный срок выхода смартфона Samsung Z на Tizen, мы вынуждены изменить правила конкурса. Номинации теперь связаны исключительно с умными часами Gear 2 и Gear 3 (они же Gear S), сроки продлеваются, но призовой фонд остается неизменным. Обновленные правила можно изучить ЗДЕСЬ.

Total votes 11: ↑6 and ↓5+1
Comments17

DigitalOcean добавил возможность использования CoreOS

Reading time2 min
Views18K
logo DO-CoreOS

Буквально позавчера DigitalOcean объявила о возможности использования предустановленного образа CoreOS.

По заверениям DigitalOcean их интеграция с альфа-версией CoreOS предоставит мобильным и веб-разработчикам, заитересованных в использовании Docker, простой и быстрый путь для выпуска приложений и экспериментов с контейнерами. В CoreOS docker-контейнеры могут стартовать за миллисекунды, обеспечивая беспрецедентную гибкость в управлении нагрузкой на кластер дроплетов. Среди дополнительных плюшек — автоматическое обновление, автоматическая настойка сети и интерграция с etcd.
При этом DigitaOcean выпустила ряд статей по запуску и настройке CoreOS:


Читать дальше →
Total votes 34: ↑28 and ↓6+22
Comments15

Редактор CSS Shapes для Chrome

Reading time1 min
Views32K


Спецификации CSS Shapes позволяют красиво оформить обтекание текстом на веб-странице. Средствами CSS можно создать произвольную форму, но это обычно весьма трудоёмкая задача. Новое расширение CSS Shapes Editor для Chrome кардинально облегчает процесс. Это интерактивный редактор CSS Shapes, где контуры указываются простым перетягиванием точек с помощью мыши.
Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments17

oDesk (Upwork). Мой опыт за полтора года

Reading time12 min
Views445K
Вот уже полтора года я зарабатываю фрилансом на бирже oDesk. За это время у меня накопилось много материалов по данной теме. В данном топике я собрал все в одну статью и адаптировал для аудитории хабра.
image
Читать дальше →
Total votes 192: ↑185 and ↓7+178
Comments321

Как пароль изменил мою жизнь

Reading time4 min
Views376K
«Как она могла так поступить со мной?» — спрашивал я себя. Каждый день. Все время.

В 2011 году, когда еще были популярны градиенты, а Ай-ОС иконки задавали направление в дизайне и люди пользовались дезодорантами, я был в депрессии из-за своего развода.

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

* * * * *

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

Ваш пароль устарел.
Кликните на кнопку «Изменить пароль», чтобы изменить пароль.


Да ладно! А я-то думал кнопка «Изменить пароль» предназначена для чего-то другого.

Я прочитал это дурацкое сообщение про себя голосом ворчливого старика: «Чертов пароль устарел».

На моей работе Microsoft Exchange Server требовал менять пароль каждые 30 дней у тысяч сотрудников.

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

Я был в ярости этим утром вторника в 9:40. На улице было настолько жарко, что я вспотел еще до того как приступил к работе. Я опоздал. Я был все еще в своем шлеме. Я забыл позавтракать. Во рту был вкус напоминающий сигарету. Мне предстояло разобраться с этим до начала совещания в 10 часов. Впереди меня ожидала необходимость потратить на это кучу своего времени.

* * * * *

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

Вскоре, немного успокоившись, я вспомнил про метод, который слышал от своего бывшего начальника Расмуса. Он объединил список дел с паролями. А я решил использовать расширенный вариант этого метода.

Я решил использовать пароль, чтобы изменить свою жизнь.
Читать дальше →
Total votes 344: ↑283 and ↓61+222
Comments232

Gremlins.js — monkey testing библиотека для веб приложений

Reading time6 min
Views36K
NPM version

Это первая из двух статей, рассказывающая о тестировании с помощью gremlins.js и grunt-gremlins. Первая статья — перевод официальной документации gremlins.js. Вторая — опыт внедрения gremlins.js в реальный проект при помощи grunt-gremlins.

Gremlins.js это monkey testing библиотека написанная на JavaScript, для Node.js и браузеров. С ее помощью проверяется надежность веб-приложений под полчищем гремлинов.

Kate: What are they, Billy?
Billy Peltzer: They're gremlins, Kate, just like Mr. Futterman said.


image
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments13

Information

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