Как стать автором
Обновить
869.65
Рейтинг

Программирование *

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

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

Тайна меняющейся фавиконки

Firefox Разработка веб-сайтов *Работа с иконками *Программирование *Браузеры
Перевод

Вчера на работе разработчик обратился ко мне с проблемой. Разговор шел примерно так...

Читать
Всего голосов 23: ↑21 и ↓2 +19
Просмотры 6.1K
Комментарии 14

Как не выстрелить себе в ногу, обрабатывая ошибки в голанге

Блог компании FirstVDS Программирование *Системное программирование *Компиляторы *Go *


А пока мы все сидим и ждём выхода Go 2 с его новой схемой обработки ошибок, программы писать надо прямо сейчас. Так что от обработки ошибок никуда не деться.

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

Итак, поехали.
Читать дальше →
Всего голосов 23: ↑19 и ↓4 +15
Просмотры 6.3K
Комментарии 18

Мутационное тестирование: опыт внедрения на 1500 сервисов

Блог компании AvitoTech Тестирование IT-систем *Программирование *Тестирование веб-сервисов *

Привет, Хабр! Меня зовут Александр, я разработчик в юните, который является центром экспертизы по качеству в Авито. Мы помогаем командам с внедрением эффективных и современных подходов тестирования, а также разрабатываем инструменты для тестирования и управления качеством. 

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

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 8.9K
Комментарии 9

Сравниваем async/await и then/catch с примерами

Блог компании Skillbox JavaScript *Программирование *
Перевод

 В JavaScript есть два основных способа обработки асинхронного кода: Promise (ES6) и async / await (ES7). Эти синтаксисы дают нам равные базовые функции, но по-разному влияют на читаемость и область видимости. В этой статье мы увидим, как один синтаксис помогает, а другой отправляет нас в callback hell! Материал адаптирован на русский язык совместно с Тимофеем Тиуновым, автором курса “JavaScript” в Skillbox.

Читать далее
Всего голосов 22: ↑14 и ↓8 +6
Просмотры 22K
Комментарии 26

Темизация, часть 3. Themeizer – юный попутчик стилей

Веб-дизайн *Разработка веб-сайтов *CSS *JavaScript *Программирование *

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

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

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

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

Go-контексты и микросервисы. Как решить проблему с соединениями к базе при помощи контекстов

Блог компании iSpring Программирование *Go *Микросервисы *

Всем привет! В статье расскажу:

— Как и почему у нас возникла необычная проблема, вызвавшая поток 400-ых ошибок. 

— Как реализовали полноценную поддержку отмены операций в микросервисе.

— Как реализовали свой пул подключений к базе для переиспользования подключений к базе в рамках запроса к сервису.

— Как применили контексты в микросервисе и что от этого получили.

Читать далее про контексты и микросервисы
Всего голосов 14: ↑10 и ↓4 +6
Просмотры 7.5K
Комментарии 18

Про системы счисления

Программирование *Математика *Учебный процесс в IT Научно-популярное
Из песочницы

Что же это, чёрт возьми, такое, как работают нули-единицы, и кто и зачем это вообще придумал.

Начинаю серию статей с простым объяснением всяких фундаментальных вещей. Школьнику, которого учитель информатики заставляет переводить числа туда-сюда, а он вообще не врубается, что происходит. Дизайнеру, который не знает, что значит цвет #FFDD00. Тем, кто всё знает, но не против ещё раз укрепить модель.

Дальше — простое объяснение с иллюстрациями.

Жил-был древний человек...

Читать далее
Всего голосов 53: ↑21 и ↓32 -11
Просмотры 4.9K
Комментарии 25

Компилятор бизнес-правил на основе деревьев выражений

Блог компании Arcadia Программирование *.NET *C# *Microsoft Azure *

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

К коду
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 2.5K
Комментарии 9

Дебаг и поиск ошибок

Программирование *.NET *Отладка *

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

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

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 2.9K
Комментарии 1

День Святого Валентина: Как найти девушку при хайтек-эмиграции в «Силиконовый Лес» в Портленд, Орегон?

Программирование *Алгоритмы *Карьера в IT-индустрии Производство и разработка электроники *Электроника для начинающих

Silicon Forest в штате Орегон не так известен как Silicon Valley в Калифорнии, но он несомненно входит в топ-5 хайтек-мест в США. Просто факт из Википедии: хотя штаб-квартира Интела остается в Калифорнии, но еще в 1990-х компания начала переносить самую продвинутую разработку микроархитектуры в Орегон. Как очевидец, могу сообщить банальную причину: в начале интернет-бума цены на дома в Долине выросли вдвое, а потом втрое, и агломерация вокруг Портланда стала ближайшим местом бегства из Калифорнии для инженеров, которые хотели купить дом, но не хотели переучиваться на джаву и становиться дотком-миллионерами.

Но "Кремниевым Лесом" окресности Портленда назвали еще до описываемых событий. После второй мировой войны там выросла компания-производитель осциллографов Tektronix, а в начале 1980-х годов - производитель софтвера для проектировщиков микросхем Mentor Graphics (сейчас Siemens EDA). Чуть позже в Лесу возник производитель ПЛИС Lattice, а потом подтянулись японские компании: Fujitsu, Epson, NEC. Наконец, там сделали отделения IBM и HP, и "Кремниевый Лес" состоялся.

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

Лайфхаки
Всего голосов 34: ↑18 и ↓16 +2
Просмотры 5.2K
Комментарии 32

oneTBB: интеграция и сборка через CMake

Блог компании Intel Программирование *C++ *Параллельное программирование *
Tutorial

Threading Building Blocks (TBB) — популярная библиотека для параллельного программирования на C++ с открытым исходным кодом, опубликована на GitHub. Пару лет назад команда разработки решилась на глобальный рефакторинг библиотеки (проект TBB revamp), в который удалось вписать долгожданную смену системы сборки с GNU Makefiles на CMake. Свежая версия вышла в релиз в рамках инициативы oneAPI, обновив имя на oneTBB. В этой статье я расскажу про то, как подключить oneTBB в CMake-проект и как собрать, протестировать и установить oneTBB.

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

Рейтинг языков программирования 2022. C# обошел Java, TypeScript сравнялся с PHP, а Dart – наиболее комфортный язык

Программирование *Исследования и прогнозы в IT *Карьера в IT-индустрии Статистика в IT
Перевод

Украинский профильный ресурс DOU.UA провел очередной ежегодный опрос о языках программирования.

Python уже второй год подряд демонстрирует негативную динамику. Java тоже теряет позиции – в этом году она на третьем месте по популярности. На второе место поднялся язык C#. Доля JavaScript после небольшого падения в 2021 году снова растет. Но самая лучшая динамика у TypeScript (уже более 10% и прирост увеличился почти вдвое).

Читать далее
Всего голосов 24: ↑22 и ↓2 +20
Просмотры 163K
Комментарии 79

Нет такого понятия — чистый код

Программирование *Совершенный код *Терминология IT Управление продуктом *
Из песочницы
Перевод

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

Тем не менее, я осознал: нет такого понятия — чистый код.

Читать далее
Всего голосов 44: ↑36 и ↓8 +28
Просмотры 14K
Комментарии 29

Как мы собрали проект на Django и React и уважили загрузчик Webpack

Блог компании Издательский дом «Питер» Разработка веб-сайтов *Python *JavaScript *Программирование *
Перевод

Когда мы взялись за гибридный проект, в котором одновременно использовались Django и React, мы столкнулись с дилеммой: как интегрировать две эти части, в особенности, как разрешить шаблонам Django отображать ресурсы JavaScript, сгенерированные при клиентской сборке. Мы нашли изящный способ, позволяющий с этим справиться: использовать Webpack-загрузчик для Django с трекером бандлов Webpack, при помощи которых нам поддался этот этап работы сборочного конвейера. А в этой статье мы научим вас, как это делается.

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

Колокол — система событий в Go или очередная event-system библиотека

Программирование *Go *

В работе над одним проектом нам в компании NUT.Tech понадобилась система событий, работа которой не влияла бы на основной поток выполнения программы. Как ни странно, но мы не смогли найти полностью отвечающую нашим требованиям готовую библиотеку. И тогда, конечно же, мы решили написать ее сами.

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

Снижаем размерность

Python *Программирование *Визуализация данных *

Всем привет! Рассмотрю два популярных алгоритма уменьшения размерности, а именно T-distributed Stochastic Neighbor Embedding (t-SNE) и Uniform Manifold Approximation and Projection (UMAP). Их удобно использовать, когда необходимо визуализировать данные с большим количеством параметром (также будем называть это размерностью данных).

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

Вычисление стихотворного размера

Программирование *.NET *Алгоритмы *C# *Natural Language Processing *

Привет, Хабр! Расскажу о решении нестандартной задачи: алгоритм определения силлабо-тонического стихотворного размера по строке на русском языке. Опишу все нюансы и неочевидные подводные камни, с которыми столкнулся.

Читать далее
Всего голосов 87: ↑87 и ↓0 +87
Просмотры 8.4K
Комментарии 30

20 часов оптимизаций, вживую

Программирование *.NET *SQL *Microsoft SQL Server *C# *

Всем привет.

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

А славы и света софитов хочется-то! 

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

И я попробовал.

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

Под катом немного об идеях с которыми я делал видео и немного текста про каждую из тем.

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

20 лет .NET

Блог компании Microsoft Программирование *.NET *Visual Studio *C# *

Сегодня исполняется 20 лет с тех пор, как Visual Studio .NET была запущена, и первая версия платформы .NET была выпущена для всего мира. Мы празднуем весь месяц и приглашаем вас прийти на специальную праздничную трансляцию, которая состоится сегодня, 14 февраля, в 20:00 по московскому времени на сайте www.dot.net. Делитесь своими историями в Твиттере с хэштегом #dotNETLovesMe, расскажите о своих проектах или скачайте что-нибудь.

Читать далее
Всего голосов 42: ↑42 и ↓0 +42
Просмотры 11K
Комментарии 22

Что будет, если объединить трансформер и дерево решений

Блог компании SkillFactory Python *Программирование *Машинное обучение *Научно-популярное
Перевод

Исследователи добились значительного прогресса в скорости конвергенции, точности и интерпретируемости решений визуального трансформера. За подробностями приглашаем под кат. Материалом из блога Google Research делимся к старту флагманского курса по Data Science.

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

Вклад авторов