Как стать автором
Обновить
11
0

Пользователь

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

Учимся летать: симуляция эволюции на Rust. 1/5

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров8.4K



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


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


Предполагается, что вы немного знакомы с Rust, остальное я постараюсь объяснить.

Эта серия состоит из нескольких статей:


  1. Введение (что мы будем симулировать, как работает нейронная сеть и генетический алгоритм).
  2. Реализация нейронной сети.
  3. Реализация генетического алгоритма.
  4. Реализация глаз, мозга и самой симуляции (в двух частях: первая, вторая).




Интересно? Тогда поехали.

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

От идеи до продукта: Как я создал и запустил свой собственный IT стартап один [Part 1]

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров17K

Всем привет, меня зовут Влад и я запилил собственный IT стартап в одиночку потратив $100. Я давно хотел проверить свои силы и показать самому себе на что я способен, смогу ли я дойти от: создания идеи, проработки ui/ux, разработки frontend & backend, до публикации продукта и его маркетинга.

Для общего понимания я постараюсь кратко описать свой background. В 14 лет я увлёкся веб разработкой поскольку у меня была команда по игре counter strike и для того чтобы заявляться на турниры, нам требовался сайт, по мере его поддержания, я освоил исскуство владения фотошопом. Этот сайт я начал монетезировать и смотрел как его можно продвигать.

Дальше был универ, где я много писал код на c++, python, c#, писал свои нейронки, программировал роботов, проходил алгоритмы и структуры данных. В это самое время вместе с друзьями начали развивать ивент стартап, который помогал пользователям узнавать расписание, изменения, следить за интересными спикерами. Я занимался ui/ux проектированием и frontend разработкой. В это самое время я изучил первые в своей жизни методологии дизайна: google material design guidelines and Apple Human Interface Guidelines.

Писал диплом на тему: примерка мебели в дополненой реальности на свифте.

Потом был момент, когда мы с партнёрами открыли it outsource компанию на 40 человек разработки, где я был CTO и следил за технологиями в компании на стеке: JS, Typescript, React, Vue, Php, python, nodejs, reactnative.

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

Читать далее
Всего голосов 19: ↑15 и ↓4+13
Комментарии9

Летающий Санта и танцующие снегири: опыт реализации и оптимизации CSS-анимации

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров2.2K

Привет! На связи Кристина, фронтенд-разработчик в KTS.

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

Рассказываю, как создавала CSS-анимации для игры из внутреннего спецпроекта, какие SCSS-фичи использовала для оптимизации кода и как сделала CSS-анимации более производительными.

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

GPT vs Copilot: кто лучший помощник в написании UI-тестов для iOS?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.6K

Мы выпускаем обновления приложений Lamoda минимум 4 раза в месяц. С каждым обновлением идут серьезные изменения: новые продукты, внедрение ML-моделей и так далее. У нас налажен процесс тестирования нового кода, но есть нюанс: проверять перед релизом нужно не только новую функциональность, но и базовые возможности приложения, чтобы убедиться, что они работают корректно и ничего не сломалось. 

На проверку базового функционала уходит куча времени QA. Поэтому мы создали автоматические UI-тесты. Они автономно проверяют базовые функции и помогают снизить нагрузку на тестировщиков.

Но приложение постоянно растет, а с ним должно расти и тестовое покрытие. Главная сложность здесь — количество тестов, которое приходится писать. Когда у меня появилась задача написать очередную партию тестов, я сразу подумал о том, что мне нужна помощь. Меня зовут Марк, я iOS-разработчик из Lamoda Tech. В этой статье я расскажу, как использовал LLM для написания UI-тестов, и сравню результаты ChatGPT и Copilot.

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

Шардирование баз данных и проектирование систем

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

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

Такой подход позволяет избежать проблем с производительностью, возникающих, когда одна из машин работает в условиях перегрузки, и обеспечивает более экономичное и грамотное масштабирование. По мере увеличения объема данных и трафика все чаще возникает необходимость горизонтального масштабирования путем добавления новых машин, а не вертикального путем модернизации одного большого сервера.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+15
Комментарии3

Распределенные блокировки с применением Redis

Время на прочтение12 мин
Количество просмотров25K
Привет, Хабр!

Сегодня мы предлагаем вашему вниманию перевод сложной статьи о реализации распределенных блокировок средствами Redis и предлагаем поговорить о перспективности Redis как темы. Анализ рассматриваемого алгоритма Redlock от Мартина Клеппмана, автора книги "Высоконагруженные приложения", приведен здесь.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии6

Как правильно замерить скорость работы кода в .NET

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

Поговорим о бенчмаркинге кода: о том, что это такое и для чего нужно. А также покажем, как на основе результатов бенчмаркинга оценить производительность кода в проекте, написанном на C#.

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

Prostore — простой Event sourcing + CQRS фреймворк

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров10K

На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить примером при создании вашего собственного решения.

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

Деревья выражений в C# на примере нахождения производной (Expression Tree Visitor vs Pattern matching)

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


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

Consistent против Rendezvous — чем отличаются подходы для хэширования данных на сервере

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

Всем привет, меня зовут Михаил Алексеев, я работаю программистом в студии ITT, пишу бэкенд на Java. Перформанс — это моя страсть, как и распределенные системы. Но еще больше я люблю, когда математика встраивается в перформансные цели и задумки.

В этом тексте я расскажу про разницу между Consistent и Rendezvous хэшированием, а также на примерах покажу, с какими проблемами мы сталкиваемся в работе.

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

Семантики доставки событий в распределенных системах

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

Павел Агалецкий, ведущий разработчик в юните Platform as a Service в Авито, рассказал про семантики или гарантии доставки сообщений, и почему с ними не всегда просто разобраться.

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

Оконные функции SQL простым языком с примерами

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

Привет всем!

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

P.S. Если автор что-то не разобрал и не написал, значит он посчитал это не обязательным в рамках этой статьи))) 

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

Читать далее
Всего голосов 49: ↑46 и ↓3+58
Комментарии16

Global Talent visa для IT-ника. Путь с нуля

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров8.6K

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

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

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

Архитектурные антипаттерны в микросервисах и способы их избежания

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

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

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

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

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

.NET: Инструменты для работы с многопоточностью и асинхронностью. Часть 1

Время на прочтение18 мин
Количество просмотров69K
Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight.
Вторая часть доступна здесь

Необходимость делать что-то асинхронно, не дожидаясь результат здесь и сейчас, или разделять большую работу между несколькими выполняющими ее единицами была и до появления компьютеров. С их появлением такая необходимость стала очень ощутимой. Сейчас, в 2019, набирая эту статью на ноутбуке с 8 ядерным процессором Intel Core, на котором параллельно этому работает не одна сотня процессов, а потоков и того больше. Рядом, лежит уже немного потрепанный, купленный пару лет назад телефон, у него на борту 8 ядерный процессор. На тематических ресурсах полно статей и видео, где их авторы восхищаются флагманскими смартфонами этого года куда ставят 16ти-ядерные процессоры. MS Azure предоставляет менее чем за 20$/час виртуальную машину со 128 ядерным процессором и 2 TB RAM. К сожалению невозможно извлечь максимум и обуздать эту мощь не умея управлять взаимодействием потоков.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии5

Создание библиотеки компонентов с использованием Storybook

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

Введение


image

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

Компании все чаще прибегают к написанию интерфейса состоящего из множества независимых компонентов, которые могут быть использованы повторно. Многие дизайнеры создают дизайн проект который описывает каждую деталь дизайна. Они используют ряд инструментов для документирования интерфейсов, первые которые приходят на ум это axshare.com и zeplin.com. Тот же фотошоп, в котором у них все разложено строго по папочкам. Это позволяет им с легкостью работать над дизайном проекта, обновлять и добавлять новые страницы, просто копируя уже имеющиеся наработки.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

Storybook: разработка без боли для команды и бизнеса. Возможности и нюансы

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров31K

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

Меня зовут Александр, я frontend-разработчик в Simbirsoft. Хочу поделиться, как этот инструмент может сократить время на разработку и тестирование, улучшить качество конечного продукта, а также сэкономить бюджет на больших проектах.

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

Мы рассмотрим такие возможности, как создание документации, тестирование, тестирование доступности, работу с моками, аддоны для имитации API и контекста. Я поделюсь, какие проектные задачи мне удалось решить, и чем может быть полезен Storybook для вас.

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

Как устроен CTF: соревнование, где каждый может побыть хакером

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров41K

Совсем скоро пройдет IT’s Tinkoff CTF для ИТ-специалистов. У нас уже готов сайт, где вы можете узнать подробности и зарегистрироваться, но это еще не все. Для тех, кто пока не знаком с таким форматом соревнований, мы подготовили эту статью. В ней мы расскажем, что такое CTF, и разберем тестовое задание. Если вы любите интересные задачи, приглашаем под кат. 

Читать далее
Всего голосов 22: ↑21 и ↓1+24
Комментарии7

Как на самом деле работает Async/Await в C# (Часть 1)

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров53K

Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.

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

.NET и HashiCorp Vault: Использование секретов в настройках .NET Core приложения

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

Данная статья поможет разобраться в нюансах настройки секретов HasiCorp Vault и NET приложения в Kubernetes.

Читать далее
Всего голосов 9: ↑8 и ↓1+9
Комментарии14
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

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

Fullstack Developer
Senior
.NET
Entity Framework
PostgreSQL
Microsoft SQL Server
React
Redux
TypeScript
Docker
TDD/BDD
Unix