Женя Жарков

Женя Жарков

Темы
Неделя
Dec 7, 2015 → Dec 13, 2015

Архив недели @2j2e

Понедельник


Новая неделя, новый ведущий, с вами в эфире @2j2e

Разрешите представиться 9 лет пилю код с переходами PHP -> .NET -> JS. Продуктовые компании, аутсорс, аутстаф, фриланс, удаленный сотрудник

98% на территории Украины (Николаев > Киев) месяц назад переехал в Минск, стартап

В JS мире использовал Prototype, jQuery, MooTools, ExtJS, Sencha, Angular 1, нынче React, что-то 3 дня, что-то несколько лет

А если кто-то помнит, то с @xaoccps у нас был подкаст 2Гига, по крайней мере статистика говорила о 100к прослушиваний за 2 года

Так же лет 7 уже выступаю на различных митапах и конференциях, 3 года был Microsoft MVP по Silverlight

и уже 27 лет зовут меня Женя Жарков

Так как @jsunderhood существует уже не первый день было много чего обсуждено, у каждого своя точка зрения, сложно местами не повторяться

Рекомендую начать неделю с видео @listochkin youtube.com/watch?v=xPFRUM… если вы пропустили,о том как не сгореть в порыве за новыми технологиями

Если коротко, о том как я вижу мир JS на данный момент
notion image

@jsunderhood давай больше про React окружение: какой Flux (или Redux?) используешь? Какие UI компоненты? TypeScript или Flow? gulp/webpack?
Окей, поговорим об этом twitter.com/PetrMyazin/sta…

использую redux, material-ui, react-select, разные masked поля, часто приходится переписывать все на свое

Недавно redux-router был, но после проблемы gist.github.com/2j2e/67c2f907b… я отказался от него redux-simple-router так же не подходит,примитивен

Читаете ли вы исходный код библиотек, которые используете? А смотрите зависимости?
🤔 19.5% Нет
🤔 71.4% Бегло просматриваю
🤔 9.1% Вдумчиво разбираюсь

@jsunderhood спасибо за намек, а то я вчера рефакторил и потом еще до beta5 обновился и искал ошибку(( откатился до beta4 и все ок стало)
Мне немного грустно, что сталкиваются многие с этим, базовый сценарий по сути, но не оттестирован twitter.com/sevaisnotcow/s…

@jsunderhood пользуешься опенсорсом — помогай коммьюнити, давай обратный "фидбэк" в виде тех или иных контрибуций (например создай issue)
Опенсорс не работает так, как мы думаем, у авторов свое виденье бывает, помогать стоит но не сильвербулет twitter.com/sevaisnotcow/s…

Про redux-router github.com/rackt/redux-ro… и будущее, скорее всего никакое

теперь почитайте код redux-simple-router,на днях добавили replace(bool) вместо UPDATE_PATH > REPLACE_PATH github.com/jlongster/redu…

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

Пока идет голосование, расскажу как я выбираю компоненты, после нескольких неприятных “ожогов”

Найти все возможные реализации Проверить дату последнего комита и релиза. Проверить Issues, бегло прочитать ±10 штук

Я никогда не смотрю на Stars, Watch, Forks и прочее, это не показатель для меня. Считаете иначе? Попробуйте обосновать, послушаю.

GitHub Issues это, кстати новый SO, если у вас есть проблемы теоретического/технического формата, там вероятно уже есть овтет

Из последнего в каком-то треде Issues “используй вон ту библиотеку, автор хороший парень”

Так как я использую последнее время npm, как билд тул, то оценивать библиотеку можно еще по кол-ву загрузок.

@jsunderhood @cssunderhood а сделайте RT. Разработчики сайта РЖД, если видите это - напишите мне реплай!
Разработчики РЖД где вы? За вами приедет черный воронок с уютным креслом и кока-колой twitter.com/iSnifer/status…

Подведем итоги опроса, самые активные(а мы все здесь) просматривают код, 20% - нет, в реальности это 40%
notion image

GitHub, как социальному тулу не хватает мерджей PRов, которые поддержало Н-ое количество пользователей, это размывало бы ответственность

Все что становится популярным, уже сложно подходит под категорию - менторится 2-5 человеками

Кто верит в будущее Angular 2 и почему?

@jsunderhood хочу верить, тк видел графики, где он уделывал реакт в рендеринге на больших и на очень больших примерах.
А пример графика? (не будем обсуждать синтетические тесты) twitter.com/hellbeast92/st…

Завтра выходит Angular 2.0, вы понимаете, он хорош, бросите все 1-2 года опыта React? (а он ведь тоже активно развивается)

Не забывайте, когда выйдет новый Angular, все то море текущих вакансий на 1.3 автоматически заинкрементится до 2.0.

А тем временем там все билдится по 10 раз на дню и промежуточные альфа-версии выходят
notion image

Так я вижу Angular 2.0 когда смотрю доклады разработчиков……вот уже 1.5 года…
notion image

@jsunderhood ему ещё пару лет настояться надо)
никто не хочет использовать фреймворк без готового окружения twitter.com/unel86/status/…
notion image

Еще господа js-разработчики учите верстку, за вас никто верстать не будет, обслуживать себя великое дело и автономность.

Некоторые компании, на моей памяти большие, выделяют для верстки отдельных людей twitter.com/SheVasya/statu…

У нас в команде есть парень, js-отлично, с версткой учится, в прошлой компании был отдельный верстальщик @hellbeast92

@jsunderhood @SheVasya У нас 20 человек и программисты в вёрстку не лезут. В независимости от того, умеют они её или нет.
Как органично поднялась тема, устроим батл, должен ли JS-разработчик уметь нормально верстать и шарить в CSS? twitter.com/roman01la/stat…

@roman01la А как же программисты на Ноде? Им не сдались джейквери-ангуляры, зато есть монги-экспрессы @SheVasya @jsunderhood
Они к бекендщикам относятся,тут же канал фронтендщиков,но я обмолвился согласен js-разработчик=frontend-разработчик twitter.com/dshster/status…

Вторник


Первое время с React
notion image

Валидация, что же использовать, где зло, а где добро? validator, joi, parsley? там зависимость от ноды, там от jquery, там не лаконично

Мне нравится Joi, но средней сложности зависимости в нем уже идут со скрипом, как и вложенные проверки и он жестко привязан к node

parsley - jquery :( абсолютным злом не назову, но во многих местах оно не нужно, думаю согласитесь

в итоге остановился на validator и декларативные if (validator.isLength) не нравится, не логичные параметры, не морфологично, где цепочки?

Как я вижу Angular 2.0
notion image

@jsunderhood вот такая штука в нашей команде прижилась github.com/deepsweet/valya
Пробежался по примерам, не все прозрачно, но давайте посмотрим Валю :) twitter.com/mistadikay/sta…

Я слышу часто не использовать декораторы, но использую, иногда понимаю, что неправильно “приготовил” но это больше моя проблема, как у вас?

Пример хорошего набора декораторов github.com/jayphelps/core…

@jsunderhood для отвязки от ноды есть yup
Очень странно, что я его раньше не увидел twitter.com/kompotium/stat…

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

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

Еще лучше, когда сам спикер, тогда есть возможность в узком кругу что-то обсудить. Что вас зажигало на конференциях и давало результат?

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

Среда


в 2009 году интегрировал я платежи в Moneybookers(Scrill нынче),для каждого платежа можно было указать 2-3 поля описания (по 100 символов)

Стало интересно,работают ли там html теги-да работают,именно поля описания никак не проверялись на XSS,не экранировались

<script> естественно выполняелся, за 20 минут накидал plain js, который при сабмите оплаты(номер карты, ccv или логин/пароль) перехватывал

Было немного сложно вписаться в 2 по 100 символов,но тут помог jQuery, который успешно жил на сайте.Данные отсылались на любой сервер GET

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

Описав проблему в Moneybookers я не получил никакого ответа, дыру не поправили,проверял потом несколько месяцев. Такая история jQuery-хакера

С какими уязвимостями сталкивались вы?

Забыл сказать, написав в Moneybookers я описал проблему с определенными деталями и попросил 500$ за раскрытие всех деталей :)

Миф о гениальном программисте, 55 минут, как не бояться ошибок или выглядеть глупым, ставьте на фон и слушайте youtube.com/watch?v=0SARbw…

Не выдержал наследия и спустя полгода снова поставил VS Code на тест, пока хорошо, даже JSX после правки конфигов подсвечивает из .js

Четверг


Граждане разработчики всегда синхронизируйте последние изменения с главной репой в конце дня, девайс может не дожить до следующего

Хотите узнать на сколько оптимизированный у вас процесс разработки? Возьмите чистую машину, засеките сколько времени ушло на сетап.

Теперь заметьте все моменты, на которые вы закрывали глаза до этого и исправьте

Собираете все через npm? фиксируйте версии жестко, увы авторы пакетов не всегда понимаю правила версионирования docs.npmjs.com/misc/semver

@jsunderhood плюс пользователям гитхаба рекомендую greenkeeper.io
Подходит только для чистого JS, если компонент имеет UI - нет twitter.com/StepanKuzmin/s…

. @freiksenet_ru пример - поменялся border-color :active элемента, когда у него есть value и стал зеленым

Не забывайте о зрении, используйте f.lux justgetflux.com ночью даже так
notion image

Подоспел правильный скрин f.lux
notion image

Пятница


Или копируйте на дискету! twitter.com/reklatsmasters…

На сегодня у вас задача посмотреть 2 видео Скота Хансельмана, одного из самых харизматичных гиков наше время.

Почему нужно знать больше технологий, чем вы используете каждый день, но не разбираться в них идеально youtube.com/watch?v=Bx17yw…

Scaling Yourself короткая версия youtube.com/watch?v=FS1mnI… длинная youtube.com/watch?v=IWPgUn…

Воскресенье


С вами был @2j2e не забывайте расширять свои границы и быть больше, чем просто программист

Ссылки