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

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Простейший алгоритм разбивки слова на слоги

Время на прочтение 3 мин
Количество просмотров 1.1K
Алгоритмы *
Однажды на проводимом мной практическом занятии [по ЯП] я, скучая, разглядывал список студентов группы. Глаз зацепился за знак ударения в фамилии Лемзекóв, который я поставил [для себя] после того, как произнёс фамилию этого студента неправильно. Я мысленно прочёл эту фамилию по слогам, и тут у меня возник вопрос: «а по какому алгоритму мозг разбивает слова по слогам?» Почему-то интуитивно получается "Лем-зе-ков", а не "Ле-мзе-ков" или "Лем-зек-ов". Я выписал ещё несколько примеров, и разглядывая их размышлял о том, как перевести это в алгоритм.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 5

Новости

Показываем и рассказываем про ЦКП «Визуализация высокого разрешения» на базе «Сколтеха»

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 218
Производство и разработка электроники *Научно-популярное Физика Химия IT-компании
Интервью

В 2018 году в «Сколтехе» был создан Центр коллективного пользования (ЦКП) «Визуализации высокого разрешения», оснащённый современными электронными микроскопами, в том числе просвечивающий электронный микроскоп с корректором сферических аберраций Titan Themis Z, двухлучевой сканирующий электронный микроскоп Helios G4 Plasma FIB Uxe и сканирующий электронный микроскоп Quattro S с возможностью работы в низком вакууме. Героем сегодняшнего интервью стала Шахова Ярослава Эдуардовна — руководитель ЦКП «Визуализация высокого разрешения». Ярослава подробно рассказала об истории Центра, его достижениях и богатом техническом оснащении.

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

Попробуем выиграть 300 мс при загрузке Википедии

Время на прочтение 7 мин
Количество просмотров 192
Высокая производительность *JavaScript *Программирование *Проектирование и рефакторинг *Браузеры
Перевод

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

Нервозное перещёлкивание (rage clicking)

Повышенный отток пользователей и снижение показателей конверсии

Потерю позиций в поисковой выдаче

Более трёх лет мобильная версия Википедии сбоила из-за фрагмента кода на JavaScript, выполнение которого могло занимать более 600 мс при загрузке страницы на маломощных устройствах. В результате работать со страницей становилось попросту невозможно.

Читать далее
Рейтинг 0
Комментарии 1

Нет ветвлений? Нет проблем — Форт-ассемблер

Уровень сложности Средний
Время на прочтение 23 мин
Количество просмотров 1.1K
Assembler *Forth *
Из песочницы
Перевод

Эта статья является частью серии «Начальная загрузка» , в которой я начинаю с 512-байтного начального источника и пытаюсь загрузить реальную систему.

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

Истории

Простое должно быть простым: Палки в разметку

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 929
Программирование *
Кейс

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

А как быть тем, кто заходит в сияющий мир CSS лишь изредка - по необходимости?

(А еще под раздачу попадут React-либы MUI и AntD!)

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

Как сделать автодеплой ui-kit на npm с помощью ci/cd gitlab

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 386
JavaScript *Программирование *Git *Node.JS *
Из песочницы

Как я сделал удобный автодеплой ui-kit на npm с помощью pipeline's gitlab.

Что удалось сделать?

Автоматическое обновление версии пакета при пуше изменений.

Автоматический деплой новой версии на npm.

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

Как мы разрабатывали сервис расчета стоимости доставки для ритейлера

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 375
PostgreSQL *Symfony *Разработка под e-commerce *ReactJS *
Из песочницы

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

Меня зовут Артём Кияшко, я руковожу группой аналитиков в крупной ИТ-компании. В этой статье расскажу о том, как мы разработали и внедрили сервис расчёта стоимости доставки. 

Читать далее
Рейтинг 0
Комментарии 0

Как обрабатывать ошибки в Golang – рассказываем на собственном примере

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 1.3K
Блог компании Quadcode Go *
Кейс

Ошибки это один из самых важных аспектов любого языка программирования. То, как обрабатываются ошибки, влияет на приложения многими способами. То, как определяются ошибки в Golang, немного отличается от таких языков как Java, Python, Javascript. В Go ошибки – это значения.

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

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

MariaDB, фрагментация, varchar и печалька

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 1.4K
Разработка веб-сайтов *MySQL *SQL *
Кейс

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

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

Отслеживание сетевого трафика между подами в Kubernetes

Время на прочтение 2 мин
Количество просмотров 977
Блог компании Southbridge IT-инфраструктура *DevOps *Kubernetes *
Перевод

Как работает связь между подами в Kubernetes?

Как трафик достигает пода?

В этой статье вы узнаете, как работает низкоуровневая сеть в Kubernetes.

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

Книга «JavaScript с нуля до профи»

Время на прочтение 14 мин
Количество просмотров 2.7K
Блог компании Издательский дом «Питер» Разработка веб-сайтов *JavaScript *Программирование *Профессиональная литература *
imageПривет, Хаброжители!

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

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

Обучайтесь на основе проектов, дополняющих теоретические блоки и серии примеров кода, которые могут быть использованы в качестве модулей различных приложений, таких как валидаторы входных данных, игры и простые анимации. Обучение дополнено ускоренным курсом по HTML и CSS, чтобы проиллюстрировать, как компоненты JavaScript вписываются в полноценное веб-приложение.

Для кого эта книга
Для комфортного знакомства с книгой не требуется никакого опыта в JavaScript. Конечно, упражнения дадутся немного легче, если вы хотя бы немного умеете программировать. Знакомство с основами HTML и CSS будет вашим преимуществом. Если вы начинающий программист, для нас большая честь поприветствовать вас в мире программирования. Вначале он может показаться сложным, но мы проведем вас через все трудности.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 0

Как ранжируются сайты в тематике криптовалют?

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 344
Поисковые технологии *Поисковая оптимизация *Криптовалюты
Аналитика

В последнее время наблюдается определенная динамика выдачи, связанная с выходами на лидерские позиции в выдаче новых сайтов, таких как VPN-агрегаторы

Выход в ТОП подобных сайтов за короткий срок (домен зарегистрирован 20 сентября 2022), очевидно, подразумевает высокую работоспособность накрутки, однако, это не единственный и часто далеко не главный драйвер роста сайтов в нише.

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

Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 2

Время на прочтение 6 мин
Количество просмотров 1.1K
Блог компании Selectel Разработка веб-сайтов *Python *Django *
Туториал

В предыдущей части мы частично разобрали шаблон для нашего блога, выбрали виртуальную машину и запустили на ней нативный веб-сервер Django. Однако он предназначен только для тестирования и запуска приложений во время разработки. Для обработки запросов в продакшене нужно настроить Nginx и WSGI Gunicorn. В этой статье показываем, как это сделать.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 1

Битва медведей: Pandas против Polars

Время на прочтение 8 мин
Количество просмотров 1.5K
Блог компании Spectr Python *Big Data *Машинное обучение *Искусственный интеллект
Обзор

Привет! На связи Грегори Салиба из Spectr.

Возможно, вы прочитали название статьи и подумали, что попали на программу «В мире животных». Но нет, речь пойдет о сравнении двух  гигантов аналитики данных в Python: Pandas и Polars. В этой статье мы подробно рассмотрим вопрос быстродействия этих двух решений в части работы с файлами больших объемов.

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

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

Куда подевались все хакеры? Как правильно обсуждать языки программирования

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 3.3K
Блог компании RUVDS.com Программирование *Управление разработкой *Управление проектами *
Мнение
Перевод

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

▍ Что мы на самом деле сравниваем, сравнивая языки программирования?


Придя в гости к другу, я увидел, что на нём надета футболка Golang. Он сказал, что любит Golang, я ответил, что мне нравится футболка, а сам язык чуть меньше. Ему понравилась мысль «обсудить это позже», и после ужина мы уселись на диванах и приступили к разговору. Я хотел поговорить о сборщике мусора (1, 2), о том, что горутины/каналы — это удобная абстракция, но я предпочитаю абстракции BEAM, потому что они позволяют использовать супервайзоры, обсудить очень свободное отношение Golang к корректности, но… он не горел желанием говорить обо всём этом. Мой друг с восторгом рассказывал о том, что ему нравится, что «разработчики на Go знают, что достаточно одного цикла for. Кто-то притащил в мою компанию Scala, и мне очень не нравится смена образа мышления».

Разговор был бесплодным, и мы оба ощущали, что собеседник не ценит то, что было важно другому. Когда люди говорят о языках, которые им нравятся или не нравятся, я группирую аспекты обсуждения на три большие категории, которые назову почва, поверхность и атмосфера:
Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 2

ProxiFyre: Open Source SOCKS5 Проксификатор для Windows

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 971
Информационная безопасность *Сетевые технологии *Разработка под Windows *
Туториал

ProxiFyre — это Open Source инструмент, функционирующий как "соксификатор" для приложений, не имеющих встроенной поддержки работы через SOCKS прокси-серверы. Программа является улучшенным вариантом одного из демонстрационных примеров для Windows Packet Filter. В отличие от базовой версии, ProxiFyre обеспечивает поддержку протокола UDP и предлагает функцию одновременного использования нескольких экземпляров SOCKS5 прокси, что существенно расширяет ее функциональные возможности. Приложение в схожем виде существует уже пару лет, но я опубликовал его всего лишь пару недель назад после небольшого ревью. Поводом для публикации стали несколько последовательных запросов на дополнительные функциональные возможности (в частности поддержку UDP), а также скромная надежда на то, что те, кто просит об этих улучшениях, примут посильное участие в дальнейшем развитии проекта.

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

Что нам не нравится в C++

Время на прочтение 6 мин
Количество просмотров 2.8K
Блог компании OTUS C++ *
Перевод

Результаты ежегодного опроса Annual C++ Developer Survey "Lite" за 2023 год наконец опубликованы, и мы можем почерпнуть из них ценную информацию об опыте C++ разработчиков. Одной из самых интересных целей этого опроса является выявление ряда болевых точек, с которыми приходится иметь дело C++ разработчикам.

В этой статье мы рассмотрим несколько узких мест в разработке на C++, на которые больше всего жаловались опрошенные разработчики.

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

Чем плохо ООП (иногда)

Время на прочтение 6 мин
Количество просмотров 2.6K
Блог компании Национальная Медиа Группа Программирование *Проектирование и рефакторинг *ООП *
Мнение
Перевод

ООП используется уже давно, оно применяется в большинстве программ. Но всегда ли ООП является правильным путём? Далеко нет.

Что такое ООП?

ООП — это парадигма, при которой код разделён на множество классов, что приводит к настраиваемому доступу и разъединению компонентов. Основные преимущества использования ООП заключаются в следующем:

1. Сокрытие подробностей реализации

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

2. Разъединённые компоненты

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

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

Телеграм бот для CustDev'а на Aiogram

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 1K
Python *Управление проектами *
Из песочницы

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

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

Невредные советы по Cassandra — как избежать ошибок?

Время на прочтение 11 мин
Количество просмотров 410
Блог компании Лига Цифровой Экономики NoSQL *Администрирование баз данных *Распределённые системы *IT-компании

Привет, Хабр! Меня зовут Евгений Абрамкин, я руководитель поддержки третьего уровня в направлении омниканальных решений Лиги Цифровой Экономики. Моя команда — последняя «инстанция» во флоу по решению инцидентов. Мы пишем доработки и фиксы, чтобы победить проблему клиента, а также можем предоставить оптимальную конфигурацию для системы, которая передана на эксплуатацию или требует масштабирования. Это может быть кластер Elasticsearch, балансировщики nginx или что поинтереснее — распределенная NoSQL СУБД Apache Cassandra.

В материале я расскажу именно об Apache Cassandra: какие ошибки можно совершить при ее использовании, на что стоит обратить внимание и чем лучше не пренебрегать.

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