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

Все потоки

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

Закрылось в РФ на 36.3% больше организаций, а открылось на 25.64% меньше

Финансы в IT Статистика в IT Исследования и прогнозы в IT *

Решили проанализировать данные ЕГРЮЛ и ЕГРИП. Сравним открытые и закрытые организации и ИП с 24.02.2022 с аналогичным периодом прошлого года.

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

Новости

Record vs struct — когда кто кого

.NET *C# *

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

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

Предотвращаем утечки памяти в Go, ч. 1. Ошибки бизнес-логики

Блог компании МойОфис Совершенный код *Go *Разработка под Linux *Софт

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

Но, по сообщениям некоторых пользователей, у программ, написанных на Go, течёт память. Issue-трекер языка Go на github по запросам «high memory usage», «memory leak», «out of memory» выдаёт сотни и тысячи тикетов. А в самом популярном вопросе на stackoverflow по словосочетанию «golang memory» автор пытается разобраться, почему потребление оперативной памяти в рантайме в 4 раза превышает количество реально сделанных аллокаций. Обращения, в которых люди рапортуют о перерасходе оперативной памяти в Go, стали массовым явлением.

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

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

В какой вычислительной вселенной мы живем?

Блог компании FirstVDS Криптография *Научно-популярное
Перевод

Криптографы хотят знать, в каком из пяти возможных миров мы живем, что покажет, возможна ли вообще по-настоящему безопасная криптография.

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

Как сделать таск-трекер под себя на low-code конструкторе

Ненормальное программирование *Анализ и проектирование систем *SQL *SaaS / S+S *Управление проектами *

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

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

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 5. Асинхронное программирование

Python **nix *Разработка игр *Разработка под Linux *Разработка под Windows *

Выше мы рассмотрели, как появились генераторы, как они работают и как их можно использовать в роли сопрограмм. Еще раньше было разобрано, как реализовать асинхронность на колбеках с помощью модуля selectors. Теперь соединим оба материала и реализуем настоящую асинхронность — на сопрограммах (coroutines).

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

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

Человеческий фактор и автоматизация

Visual Basic for Applications *Управление продуктом *
Recovery mode

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

 Эпизод 1. Начать с себя.

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

И это засада.

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

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

Окей! Я же не идиот. Пусть будет много масок. Создается файлик справочника масок и по нажатию кнопки маска в него добавляется. Работает. Но вместо автомаизированного сохранения вложений определенного типа появляется ручная операция – глазками определить, что за тип письма+ добавление масок кнопкой.

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

DIY термоанемометр: собираем датчик скорости и температуры потока воздуха своими руками

Программирование микроконтроллеров *Разработка под Arduino *DIY или Сделай сам Электроника для начинающих
Tutorial

Пошаговое описание сборки дешевого, автономного и точного датчика скорости потока воздуха на базе wifi-контроллера WEMOS D1 и сенсора CG_Anem. Схемы, электронные компоненты и матчасть перемешаны с историями из жизни, примерами измерений и шутками за 300.

Целью статьи, как и всегда, является создание максимально подробной инструкции по сборке. Если повторить описанные шаги сможет самый юный мамкин анемометрист - мы достигли успеха.

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

Мал реактор да дорог, или о моде на ММР в атомной энергетике

Блог компании Моделирующие Системы Научно-популярное Энергия и элементы питания Физика

Малые модульные реакторы (ММР) – направление в атомной энергетике новое. О них говорят политики, журналисты, эксперты, бизнесмены, обычные интересующиеся и изредка даже сами атомщики. Обещают, что ММРы станут реакторами нового поколения, способными придать мирному атому новый импульс. Но так ли это? Мнение разработчика.

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

Тестирование производительности таблиц офисных пакетов в Linux на примере MS Office, LibreOffice, МойОфис, OnlyOffice

Lua *Visual Basic for Applications *Настройка Linux *Системное администрирование *Софт
Tutorial

Актуальность темы обусловлена форсированием перехода Государственных ведомств и госкомпаний России с Windows на Astra Linux. Это было сделано на фоне заявления корпорации Microsoft о сворачивании бизнеса в РФ. Так как у автора, да и у многих других пользователей MS Office, за долгие годы работы скопилось ряд наработок, то вопрос об их работоспособности и переносе под новый офисный пакет, на платформе Linux, стоит остро, как и возможность малой автоматизации рутинных действий.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1K
Комментарии 5

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

Блог компании Белая Радуга Здоровье Научно-популярное
У меня для вас просто отличный пример того, как люди могут жестоко заблуждаться относительно имплантов.

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


Слева видно три импланта, ставших виновниками гнойного расплавления нервной и костной тканей

Чтобы вы не питали иллюзий, сразу отмечу основные вещи:

  • У них есть срок службы. Обычно он составляет 20–25 лет, после чего нужно будет сделать «капремонт». Собственно, поэтому в цену хорошего импланта входит поддержка производителем 25 лет, иначе есть шансы не обнаружить комплектующие и вырывать его, а потом ставить новый. Так себе удовольствие.
  • Искусственные зубы нужно чистить. Да, они искусственные, но вот бактерии на них прилетают вполне себе живые.
  • Не стоит пропускать ТО: это та же самая полугодовая гигиена, что для живых зубов, но другими инструментами (без металла).
  • Требования к домашней чистке у имплантированных зубов выше, чем у «родных»: нужны ирригатор, ёршики и нить.

Разумеется, мы время от времени встречаем пациентов, забывших про «ТО рта», но этого случая не было бы в обучающих, если бы всё пошло как обычно. Так что осторожнее: ниже будут кровь и разные органы на фото, особенно в той части, где «пошло не по плану».
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 1.8K
Комментарии 0

Законы мира информационных технологий

Блог компании ГК ЛАНИТ Программирование *Управление разработкой *Управление проектами *

Всем известный закон Мёрфи гласит: «Если что-то плохое может случиться, то оно обязательно произойдет». Согласитесь, не самая позитивная установка, особенно когда это касается работы. И тут мне стало любопытно, а есть ли такие законы, которые мне, как ИТ-специалисту, максимально помогут избежать «чего-то плохого». К своему удивлению, я их нашел, и даже не один. Потому делюсь с вами сегодня своими сакральными знаниями в блоге ЛАНИТ. 

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

Lombok. Полное руководство

Блог компании Издательский дом «Питер» Программирование *Java *ООП *
Перевод

Здесь изложен необходимый минимум информацию, которую нужно изучить, если хочешь приступить к использованию проекта Lombok. Рассмотрим, как интегрировать его в вашу IDE и использовать, чтобы сократить объем шаблонного кода.  

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

Это библиотека Java, в которой предоставляется ряд аннотаций, направленных на исключение именно того кода Java, о котором известно, что он часто становится повторяющимся и/или шаблонным. Проект Lombok включается прямо в процесс сборки. Затем Lombok автоматически сгенерирует для Java байт-код, который вставляет в файлы .class, необходимые для реализации желаемого поведения, в зависимости от используемых вами аннотаций. Следовательно, каждая аннотация, предлагаемая в проекте Lombok, позволяет частично обойтись без написания методов и логики, без которых вы хотели бы обойтись. Речь о конструкторах, равенствах и функциях хеш-кода. Так вы сможете сэкономить массу времени и сосредоточиться на бизнес-логике вашего проекта. Кроме того, вы сможете держать базу кода сравнительно компактной, чистой, удобной для чтения и поддержки.

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

Десять лет — полет нормальный

CSS *Разработка веб-сайтов *Типографика *

Всем привет!

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

Итак, с чем пришли мы к сегодняшнему дню.
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 339
Комментарии 0

OpenLiteSpeed быстрый. Но не всегда

Блог компании ISPmanager Разработка веб-сайтов *Системное администрирование *Клиентская оптимизация *

Привет, Хабр! Меня зовут Алексей, сегодня расскажу, как делал нагрузочное тестирование nginx, Apache и OpenLiteSpeed (он же OLS) и какой из серверов быстрее. 

Поводом для теста стало добавление OLS в наш продукт — ISPmanager. Это панель для управления веб-серверами и сайтами. Поддержка Apache и nginx у нас была давно, а вот OLS — в новинку. Добавить его в ISPmanager очень просили наши пользователи. Разработчики говорят, что OLS супербыстрый сервер, да и независимые замеры подтверждают. Но мы решили проверить всё сами. Оказалось, сервер действительно производительный, но всё же не всегда обгоняет конкурентов. Подробности под катом. 

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

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 4. Сопрограммы в Python

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

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

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

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

Недельный геймдев: #77 — 10 июля, 2022

Разработка игр *

Из новостей: доступна бетка PixelBasher, Unity уволила 4% сотрудников, Nexters уволит 235 человек, Godot 4 добавляет режим Movie Maker, Arm представила свой первый графический процессор с аппаратной трассировкой лучей для Android, ЕС обязала Apple и Google разрешить установку приложений со сторонних площадок.

Из интересностей: круглый стол о перспективах российской игровой индустрии; игра, разошедшаяся тиражом в 500 тысяч копий, но вы про неё даже не слышали; встраивание JS в свой игровой движок.

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

Нейрон мне в элерон: суррогатные модели

Блог компании ЦИТМ Экспонента Проектирование и рефакторинг *Машинное обучение *Matlab *Инженерные системы *

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

Поставим нейросети обучение на службу проектировщику. Полетели!

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

История обрастания контентом одного продукта: как мы с нуля развивали техническую документацию

Блог компании Positive Technologies Управление проектами *Учебный процесс в IT Управление продуктом *Подготовка технической документации *

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

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

Статическое Python приложение в образе контейнера на базе scratch

Python *Системы сборки *DevOps *
Tutorial

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

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

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