Как стать автором
Обновить
-1
0
Евгений @Mistrail

Веб-разраб

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

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

Время на прочтение11 мин
Количество просмотров21K

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

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

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

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии16

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

Время на прочтение3 мин
Количество просмотров23K

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

Читать далее
Всего голосов 21: ↑3 и ↓18-14
Комментарии15

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

Время на прочтение6 мин
Количество просмотров14K

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

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

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

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

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

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

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

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

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

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

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

В палеолит
Всего голосов 15: ↑12 и ↓3+13
Комментарии17

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

Время на прочтение2 мин
Количество просмотров3.2K

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

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

Читать далее
Всего голосов 8: ↑5 и ↓3+2
Комментарии1

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

Время на прочтение5 мин
Количество просмотров66K

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

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

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

Читать далее
Всего голосов 49: ↑48 и ↓1+67
Комментарии55

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

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


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

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



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

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

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

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

Время на прочтение4 мин
Количество просмотров2.8K

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


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


image


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


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

Читать дальше →
Всего голосов 4: ↑3 и ↓1+4
Комментарии14

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

Время на прочтение5 мин
Количество просмотров14K


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

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

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

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



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

Видео и презентации — под катом. Приятного просмотра!
Всего голосов 36: ↑34 и ↓2+32
Комментарии0

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

Время на прочтение3 мин
Количество просмотров6.5K
Это — подборка книг для тех, кто небезразличен к музыке. Мы собрали литературу, посвященную разным жанрам и эпохам: от истории андеграундного панк-рока до западноевропейской классики.

Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии6

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

Время на прочтение21 мин
Количество просмотров37K


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

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

Время на прочтение10 мин
Количество просмотров18K

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

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

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

Время на прочтение9 мин
Количество просмотров24K
Недавно мне нужно было решить задачу, достаточно распространённую во многих играх с видом сверху: рендерить на экране целую кучу полосок здоровья врагов. Примерно вот так:


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

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

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

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

Время на прочтение6 мин
Количество просмотров30K


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

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

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

Время на прочтение3 мин
Количество просмотров3.1K

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


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

Читать дальше →
Всего голосов 30: ↑24 и ↓6+18
Комментарии0

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

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



Предыстория


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

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

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

Время на прочтение6 мин
Количество просмотров31K
Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Understanding Q-Learning, the Cliff Walking problem» автора Lucas Vazquez.


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


Резюме


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


Всего голосов 12: ↑12 и ↓0+12
Комментарии1

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

Время на прочтение6 мин
Количество просмотров9.6K

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


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



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


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

Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии12

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

Время на прочтение10 мин
Количество просмотров5.3K

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




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

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

Информация

В рейтинге
Не участвует
Откуда
Калининград (Кенигсберг), Калининградская обл., Россия
Дата рождения
Зарегистрирован
Активность