Как стать автором
Обновить
1
0
Дмитрий Осинкин @DmOsinkin

Frontend Developer

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

Ускорить таблицу на React в 1 000 раз, изменив лишь одну строку

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

JP Camara, главный инженер Wealthbox, в своём блоге поделился интересным опытом ускорения TanStack Table — новой версии React-библиотеки для создания функциональных таблиц — аж до 10 мс. Делимся с вами переводом его статьи.

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

React hooks, как не выстрелить себе в ноги. Часть 2: useEffect и useLayoutEffect

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

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

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

Читать далее
Всего голосов 12: ↑9 и ↓3+6
Комментарии9

Развертывание React-приложения

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

Когда мы имеем дело с большим проектом, в репозитории которого накопились десятки тысяч строк кода, иногда единственным здравым решением кажется все переписать с нуля, а не оптимизировать. С точки зрения бизнеса может возникнуть вопрос: а почему вообще нужно оптимизировать или даже переписывать приложение, если оно работает? Дело в том, что по мере роста кодовой базы есть вероятность увеличения дублирующихся компонентов/фрагментов кода, появления устаревших участков, которые тормозят сборку, но полезной нагрузки уже не несут. Это негативно влияет на скорость работы приложения и увеличивает срок разработки.

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

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

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

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

Как поколение Y превратилось в поколение выгоревших?

Время на прочтение5 мин
Количество просмотров108K
Почему мы выгораем и даже не подозреваем об этом? Краткий перевод статьи Анн Хелен Петерсен, репортера BuzzFeed News.


Читать дальше →
Всего голосов 90: ↑79 и ↓11+68
Комментарии1297

Функции высшего порядка в JavaScript

Время на прочтение6 мин
Количество просмотров57K
Одной из особенностей JavaScript, которая делает его столь удобным для функционального программирования, является то, что он может принимать функции высшего порядка. Функция высшего порядка — это функция, которая может принимать другую функцию в качестве аргумента или возвращать другую функцию в качестве результата.
Читать дальше →
Всего голосов 23: ↑17 и ↓6+11
Комментарии1

Hello world! Или англоязычный Хабр, v1.0

Время на прочтение4 мин
Количество просмотров67K
Это первая публикация в нашем блоге в 2019 году, но она очень важная для всех нас. Мы наконец-то запускаем англоязычную версию Хабра! У нас было почти всё готово ещё к середине декабря, но релизиться перед Новым Годом — это как выкатывать релиз в пятницу вечером. Поэтому отправку в большое плавание мы решили перенести на начало 2019 года.


Read more →
Всего голосов 275: ↑268 и ↓7+261
Комментарии594

SQLite — замечательная встраиваемая БД (часть 1)

Время на прочтение5 мин
Количество просмотров483K
Решил все-таки написать статью про SQLite, в которой хочу обобщить свой 3-х летний опыт использования этой БД под Windows. Вижу, что тема популярная, но информации мало.

Часть 2
Часть 3

Небольшая вводная.

Эта статья не для начинающих программистов.
Она не является учебником по SQL.
Она не агитирует использовать SQLite.
Она не агитирует не использовать SQLite.
Статья написана в виде вопросов от гипотетического новичка в SQLite и ответов на них (поскольку информации очень много и так хоть немного проще ее структурировать).

Читать дальше →
Всего голосов 102: ↑100 и ↓2+98
Комментарии54

Классификация текста с помощью нейронной сети на Java

Время на прочтение12 мин
Количество просмотров80K
– Наша Лена уходит в декрет, – сообщил начальник, – поэтому нам надо искать замену на время ее отсутствия. Часть задач мы распределим, а вот как быть с задачей перенаправления обращений пользователей?

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

– Давай я напишу программу, которая это будет делать автоматически! – ответил я.

На этом увлекательный роман заканчиваем и переходим к технической части.

Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии28

Электронная цифровая подпись для чайников: с чем ее есть и как не подавиться. Часть 3

Время на прочтение6 мин
Количество просмотров167K
Часть 1
Часть 2

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

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

Использование Простой электронной подписи в документах

Время на прочтение7 мин
Количество просмотров38K
Цель написания статьи – популяризировать использование Простой электронной подписи (пЭП) в документах. Чем больше людей пользуется, тем более популярен механизм, тем меньше у всех страхов, подозрений и вопросов. Очень удобно, подписал счет и акты пЭП и передал по email в бухгалтерию контрагента.

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

image

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

Как сделать такой сервис проверки, и как организовать свою пЭП и будет описано в данной статье.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии85

Нейронные сети на JS. Создавая сеть с нуля

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

КПДВ про нейронные сети


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


Но врожденные любознательность и энтузиазм довели меня до того, что я стал одним из разработчиков Synaptic — проекта фреймворка для построения нейронных сетей на JS с 3к+ звезд на GitHub. Сейчас мы с автором фреймворка занимаемся созданием Synaptic 2.0 с ускорением на GPU и WebWorker-ах и с поддержкой почти всех основных фич любого приличного NN-фреймворка.


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

Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии43

WRO 2016: премьера фильма о победах сборной России на Всемирной олимпиаде роботов

Время на прочтение1 мин
Количество просмотров5.6K
image

Наша сборная завоевала 4 медали в «Футболе роботов», «Творческой» и «Основной» категориях на международных соревнованиях по робототехнике в индийской столице Нью-Дели.
Всего голосов 20: ↑19 и ↓1+18
Комментарии2

Неинициализированные переменные: ищем ошибки

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

Большое количество научных исследований используют код, написанный на языке Фортран. И, к великому сожалению, «научные» приложения тоже не застрахованы от банальных ошибок, таких как неинициализированные переменные. Стоит ли говорить, к чему могут приводить подобные вычисления? Иногда эффект от таких ошибок может довести до «серьёзных прорывов» в науке, или стать причиной действительно больших проблем – кто знает где полученные результаты могут быть использованы (но, мы догадываемся где)? Хотелось бы привести ряд простых и эффективных методов, которые позволят проверить существующий код на Фортране с помощью компилятора Intel и избежать подобных неприятностей.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии2

Информация

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

Специализация

Frontend Developer
Middle
Git
REST
JavaScript
TypeScript
React