Pull to refresh
-1
0
Евгений @Mistrail

Веб-разраб

Send message

Организация react-компонентов с помощью dot-notation и почему я часто прибегаю именно к этому способу

Reading time11 min
Views21K

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

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

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

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments16

Инструкция как писать стандартизированные комментарии к коммитам (git commit)

Reading time3 min
Views23K

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

Читать далее
Total votes 21: ↑3 and ↓18-14
Comments15

Изучаем язык ассемблера на примере TSR программы под MS-DOS. Часть 1

Reading time6 min
Views14K

Эта серия статей посвящена изучению и практике программирования на языке ассемблера.

Материал рассчитан на новичков в ассемблере, студентов, которым пришлось столкнуться с «динозавром» в виде MS-DOS, и может быть интересен тем, кто хочет немного узнать как функционировали операционные системы на заре своего существования.

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

Программа будет выполнять следующие функции:

– вывод текста вниз экрана по таймеру,

– переключение режима отображения шрифта: italic/normal,

– русификация,

– запрет на ввод прописных русских букв,

– резидентные часы,

– вывод бинарного представления символа.

Кто готов погрузиться в палеолит — погнали!

В палеолит
Total votes 15: ↑12 and ↓3+13
Comments17

Выбираем алгоритм, или Когда ждать уже невыносимо

Reading time2 min
Views3.2K

При разработке бизнес-логики приложений нужно продумать действия с множествами – с пересечением, разницей массивов или двойной разницей. Недостатки в этом алгоритме могут привести к рискам. Например, если вам нужно в реальном времени обработать объем данных, превышающий определенную границу, система может «тормозить» – до минуты и даже больше. Такие ситуации требуют лишнего расхода ресурсов, отталкивают пользователей и вызывают другие проблемы.

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

Читать далее
Total votes 8: ↑5 and ↓3+2
Comments1

Мой топ IT книг из прошлого века, актуальных до сих пор

Reading time5 min
Views66K

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

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

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

Читать далее
Total votes 49: ↑48 and ↓1+67
Comments55

Музыкальная математика за 13,5 минут (Алексей Савватеев)

Reading time4 min
Views15K
Любопытное объяснение математических закономерностей в музыке популяризатором математики, доктором физико-математических наук, профессором МФТИ Алексеем Савватеевым. Для тех, кто любит текст — публикуем расшифровку с картинками.


Что такое музыка с точки зрения математики? Что такое «ля» или «ми»? То, как именно звуки образуются, хорошо понятно на гитаре.

Звук «ми» (свободное звучание 1-й струны), звук «ля» (1-я струна зажатая на 5 ладу). «Ля» —  это 440 Гц. Что значит 440 Гц? Это 440 раз колеблется струна в секунду. Звук «ми» на 5 полутонов ниже, чем звук «ля» (зажатый на 5 ладу).



Еще на 7 полутонов ниже я получу снова «ми», т.е. октаву. Почему и свободное звучание первой струны и звучание струны, зажатой на 12 ладу, называется одинаковым словом «ми»?
Total votes 26: ↑12 and ↓14+2
Comments18

Паника государств: неочевидный взгляд на эпидемию короновируса 2019-nCoV

Reading time6 min
Views40K
В декабре-январе 2019 года в провинции Хубей КНР началась вспышка нового заболевания, вызванного, как позже оказалось, штаммом вируса 2019-nCoV. Автор этих строк в начале января находился в Китае а именно в Пекине и посещал соседнюю с Хубей провинцию Шанси. В начале января, по моим ощущениям там не наблюдалось никаких признаков беспокойства: на главной улице столицы провинции Шанси — Сианя проходили массовые народные гуляния и красочные шоу и все общественные места были открыты для посещения. Однако потом все переменилось (я узнал это уже после возвращения), власти Китая отдали распоряжение на закрытие практически всех музеев, общественных и культурных мест. Развитие ситуации после 10 января известно практически всем благодаря обширному освещению в средствах массовой информации. Я бы хотел изложить здесь свое личное мнение относительно потенциальных рисков данной эпидемии и возможных чрезвычайных событий для всех нас. Продолжение под катом.
Читать дальше →
Total votes 56: ↑35 and ↓21+29
Comments349

Эльфы на p-n переходах

Reading time4 min
Views2.8K

Пятнадцатый выпуск нашего подкаста “В бесконечность и далее” мы назвали “Эльфы на p-n переходах”, потому что в нём (начиная с 12й минуты) мы обсуждаем тему смерти в цифровом мире. Ведь, как известно, эльфы бессмертны, хотя могут быть убиты в бою. С другой стороны, компьютер нельзя убить, но он смертен, потому что любой p-n переход (т.е. транзистор) со временем деградирует и перестаёт работать. Также, в этом выпуске мы говорим о цифровом наследии; о соцсетях, как об электронных мемориальных досках; смеёмся над фильмом “Матрица”, но совершенно серьезно говорим о возможности, что вся наша вселенная — часть симуляции.


Наше обсуждение темы можно послушать (начиная с 11:02) в Youtube, в Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте, на сайте-хостинге подкаста и много где ещё. А ниже краткая выжимка-стенограмма из нашего диалога.


image


  • 12:57 Мы формулируем тему. Что делать с цифровым наследием человека после смерти самого человека, а также происходит ли автономная жизнь цифрового наследия в сети после смерти индивидуума?


  • 14:00 Пример: умер дедушка. Деньги и прочие активы

Читать дальше →
Total votes 4: ↑3 and ↓1+4
Comments14

Звуковой отпечаток компьютера через AudioContext API

Reading time5 min
Views14K


Компании, отслеживающие действия пользователей в интернете, нуждаются в надёжной идентификации каждого человека без его ведома. Фингерпринтинг через браузер подходит идеально. Никто не заметит, если веб-страница попросит отрисовать фрагмент графики через canvas или сгенерирует звуковой сигнал нулевой громкости, замеряя параметры ответа.

Метод работает по умолчанию во всех браузерах, кроме Tor. Он не требует получения никаких разрешений пользователя.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments10

Как нанимать, увольнять и возвращать из менеджмента в разработку: видео с Badoo Techleads Meetup #5

Reading time2 min
Views5K
На последней встрече сообщества IT-руководителей мы поставили перед спикерами непростую задачу — говорить не только про успехи, но и про проблемы руководителей в IT. В итоге получился честный разговор про ситуации, с которыми однажды столкнется каждый: подбор сотрудников, увольнения, сложные кадровые перестановки. 



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

Видео и презентации — под катом. Приятного просмотра!
Total votes 36: ↑34 and ↓2+32
Comments0

«Читай, если любишь слушать»: книги для тех, кто неравнодушен к музыке — от классики до хип-хопа

Reading time3 min
Views6.5K
Это — подборка книг для тех, кто небезразличен к музыке. Мы собрали литературу, посвященную разным жанрам и эпохам: от истории андеграундного панк-рока до западноевропейской классики.

Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments6

Neuralink: платформа интегрированного интерфейса мозг-компьютер с тысячами каналов

Reading time21 min
Views37K


Примечание. 16 июля 2019г. Илон Маск презентовал технологию, которая стала одной из первых серьезных попыток введения нейроинтерфейсов в клиническую практику и имеющая реальные трансгуманистические цели в долгосрочной перспективе. Данная статья является переводом оригинальной статьи описывающей технологию нейрокомпьютерного интерфейса, ссылка на которую также размещена на сайте компании разработчика Neuralink. Статья содержит описание особенностей и характеристик основных модулей лежащих в основе данной технологии, в том числе: гибких биосовместимых микроэлектродов, роботизированного нейрохирургического манипулятора для введения электродов в мозг, а так же специализированной микроэлектроники обеспечивающей приём, усиление и оцифровку сигнала поступающего от нейронной активности.
Читать дальше →
Total votes 71: ↑68 and ↓3+65
Comments62

Язык программирования P4

Reading time10 min
Views18K

P4 — это язык программирования, предназначенный для программирования правил маршрутизации пакетов. В отличие от языка общего назначения, такого как C или Python, P4 — это предметно-ориентированный язык с рядом конструкций, оптимизированных для сетевой маршрутизации.

P4 — это язык с открытым исходным кодом, лицензируемый и поддерживаемый некоммерческой организацией, которая называется P4 Language Consortium. Он также поддерживается Open Networking Foundation (ONF) и Linux Foundation (LF) — двумя крупнейшими зонтичными организациями в проектах с открытым исходным кодом в области сетевых технологий.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments9

Unity: отрисовываем множество полосок здоровья за один drawcall

Reading time9 min
Views24K
Недавно мне нужно было решить задачу, достаточно распространённую во многих играх с видом сверху: рендерить на экране целую кучу полосок здоровья врагов. Примерно вот так:


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

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

Метод, к которому я в результате пришёл, немного отличается от всего того, что я видел у других, и не использует вообще никаких классов UI (в том числе и Canvas), поэтому я решил задокументировать его для общества. А для тех, кто хочет изучить исходный код, я выложил его на Github.
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments9

PHP GR8: повысит ли JIT производительность PHP 8

Reading time6 min
Views30K


PHP — один из основных языков разработки в Badoo. В наших дата-центрах тысячи процессорных ядер заняты выполнением миллионов строк кода на PHP. Мы внимательно следим за новинками и активно ищем пути улучшения производительности, так как на наших объёмах даже небольшая оптимизация приводит к существенной экономии ресурсов. Одна из главных новостей в области производительности PHP — появление JIT в восьмой версии языка. Это, безусловно, не могло остаться без нашего внимания, и мы перевели статью о том, что есть JIT, как он будет реализован в PHP, зачем его решили делать и что от него ждать.

Если вы не вышли из пещеры или не прибыли из прошлого (в этом случае добро пожаловать), то уже знаете, что в PHP 8 будет JIT: на днях тихо-мирно завершилось голосование, и подавляющее большинство участников высказались за внедрение, так что всё решено.
 
Можно в порыве радости даже изобразить несколько безумных движений как на фото (это, к слову, называется «детройтский JIT»:
 
Читать дальше →
Total votes 70: ↑69 and ↓1+68
Comments76

WavesKit — PHP фреймворк для работы с блокчейном Waves

Reading time3 min
Views3.1K

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


Было довольно обидно, когда при знакомстве с отечественным блокчейном Waves Platform в его арсенале не оказалось готового SDK на PHP. Что ж, пришлось его написать.

Читать дальше →
Total votes 30: ↑24 and ↓6+18
Comments0

Гибкая схема хранения данных в MySQL (JSON)

Reading time16 min
Views39K
Александр Рубин работает в компании Percona и не единожды выступал на HighLoad++, знаком участникам как эксперт в MySQL. Логично предположить, что и сегодня речь пойдет про что-то, связанное с MySQL. Это так, но лишь отчасти, потому что еще мы поговорим про интернет вещей. Рассказ будет наполовину развлекательный, особенно первая его часть, в которой посмотрим на девайс, который Александр создал, чтобы собрать урожай абрикосов. Такова уж натура настоящего инженера — хочешь фруктов, а покупаешь плату.



Предыстория


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

Чтобы это узнать, школьник мог бы каждый день выходить во двор, смотреть, сколько солнечного света, и записывать это в блокнотик. Но это не дело — надо все оснастить оборудованием и автоматизировать.
Total votes 56: ↑50 and ↓6+44
Comments35

Понимание Q-learning, проблема «Прогулка по скале»

Reading time6 min
Views31K
Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Understanding Q-Learning, the Cliff Walking problem» автора Lucas Vazquez.


В последнем посте мы представили проблему «Прогулка по скале» и остановились на страшном алгоритме, который не имел смысла. На этот раз мы раскроем секреты этого серого ящика и увидим, что это совсем не так страшно.


Резюме


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


Total votes 12: ↑12 and ↓0+12
Comments1

Как работает робоэдвайзинг в инвестициях. Спойлер: просто

Reading time6 min
Views9.6K

Я редактор этого блога, и я довольно ленив.


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



С другой стороны, можно инвестировать в валюту, ценные бумаги или ПИФы. Некоторые ребята пишут пошаговые руководства о том, как это сделать, но они разбиваются о первый факт обо мне. Правда в том, что для этого нужно делать просто кучу всего. А мне лень.


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

Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments12

OpenAI демонстрирует перенос сложных манипуляций из симуляций в реальный мир

Reading time10 min
Views5.3K

После добавления случайных факторов в относительно простую симуляцию робот из OpenAI научился выполнять сложные наладонные операции




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

У людей уходят годы тренировок на то, чтобы научиться надёжно работать пальцами, но у роботов нет столько времени на обучение. Такие сложные задачи всё ещё решаются через практическое обучение и приобретение опыта, и задача состоит в том, чтобы найти способ обучать робота быстрее и эффективнее, чем просто дать роботизированной руке что-то, чем можно манипулировать снова и снова, пока она не поймёт, что срабатывает, а что – нет; на это может уйти сотня лет.
Total votes 23: ↑21 and ↓2+19
Comments5

Information

Rating
Does not participate
Location
Калининград (Кенигсберг), Калининградская обл., Россия
Date of birth
Registered
Activity