Обновить
1480.42

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

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

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

После прочтения статьи «Увядает ли ремесло программиста?» и комментариев к ней появилась несколько парадоксальная мысль на эту тему, которую я хотел бы обсудить.

Уже несколько лет назад в дисскуссии услышал хоть холиварную, но в чём-то справедливую фразу о том, что сейчас в этом нашем IT стало намного сложнее, кривая обучения задралась, начальная ступень стала выше и, цитирую, — «от джунов сейчас ожидают объёма знаний сравнимого с тем, что требовали от сеньоров лет 10 назад».

Как и любая хлёсткая фраза правдива она лишь отчасти, но тем не менее, своя доля правды в ней есть.

А теперь смотрим на рассуждения в статье из первого абзаца.

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

А вот джунам придётся несладко.
Начальные ступени становятся ещё выше.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии2

TeamViewer для Linux-юзеров - sshx

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

Написано, кстати, на Расте.

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

Только что вышли две библиотеки с одним номером:

  • Spring for Apache Kafka 3.1

  • Spring AMQP (Spring for RabbitMQ) 3.1

Как следует из названия, это нативная поддержка Kafka и Rabbit в Spring.

Подробности — в релиз ноутах на GitHub. Здесь по Кафке, здесь по Рэббиту.

По сути, это минорные обновления и апгрейд до актуального Spring Framework 6.1.

Подробности должны быть в следующем дайджесте.

Теги:
Рейтинг0
Комментарии0

Только что вышел Spring Authorization Server 1.2

Это фреймворк, реализующий  OAuth 2.1 and OpenID Connect 1.0 поверх Spring Security.

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

Теги:
Рейтинг0
Комментарии0

Unix Time сегодня достиг значения 1700000000 

Счетчик обратного отсчёта есть по ссылке:
https://www.epochconverter.com/countdown?q=1700000000

Давайте уже готовиться к следующему крупному гету: проблеме Y2.038K. Как думаете, это полная ерунда, или что-нибудь серьезно выйдет из строя?

Теги:
Всего голосов 8: ↑7 и ↓1+6
Комментарии3

Приглашаем на митап сообщества Live PHP,
который пройдет в Санкт-Петербурге в четверг, 23 ноября.

? Применение SOLID при разработке на PHP
Эмиль Лимаренко, разработчик

Обновим знания о принципах SOLID на примерах PHP. Подумаем зачем и когда нам это нужно. Разберёмся наконец где заканчивается Dependency Injection и начинается Dependency Inversion.

? ИИ за место крыс
Иван Романов, аспирант лаборатории эволюции органов чувств ИЭФБ РАН

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

? PHP/Symfony/Doctrine: Создание и mapping сущностей, Enums, ValueObjects, etc
Станислав Ракчаев, разработчик

Рассмотрим подходы "проектирования сущностей", варианты создания. Для чего могут быть полезны ValueObjects, Enums и стоит ли их использовать.

? Рефакторинг крупного монолита без архитектуры
Дмитрий Алин, тимлид

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

? Дата и время сбора: 23 ноября 18:30, начало 19:00
? Место встречи: Failover Bar
Санкт-Петербург, 4-я Советская, д.7
? Трансляция: https://youtube.com/live/b1NE20DD2cc

Вопросы можно задать:
- В Telegram-чате Live PHP SPb
- В Telegram-чате Failover Bar

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

Microsoft представила выпуск открытой платформы .NET 8, созданной благодаря унификации продуктов.NET Framework,.NET Core и Mono. На основе.NET 8 можно создавать многоплатформенные приложения для браузера, облачных систем, рабочего стола, IoT‑устройств и мобильных платформ, используя единые библиотеки и общий процесс сборки, не зависящий от типа приложения.

Сборки.NET SDK 8,.NET Runtime 8 и ASP.NET Core Runtime 8 сформированы для Linux, macOS и Windows. .NET Desktop Runtime 8 поставляется только для Windows. Ветка .NET 8 отнесена к категории LTS и будет сопровождаться до ноября 2026 года. Связанные с проектом наработки распространяются под лицензией MIT.

В состав .NET 8 входит Runtime с JIT-компилятором RyuJIT, спецификации API, библиотеки WPF, Windows Forms, WinUI, Entity Framework, интерфейс командной строки dotnet, а также инструменты для разработки микросервисов, библиотек, серверных, графических и консольных приложений. Отдельно опубликованы стек для разработки web-приложений ASP.NET Core 8.0, ORM-прослойка Entity Framework Core 8.0 (драйверы имеются, в том числе, для SQLite и PostgreSQL), библиотека WPF 8 (Windows Presentation Foundation), фреймворк Windows Forms 8 для разработки GUI, платформа Aspire 8 для создания приложений Cloud Native, фреймворк MAUI 8 для разработки многоплатформенных интерфейсов пользователя, а также выпуски языков C# 12 и F# 8. Поддержка .NET 8.0 и C# 12 включена в свободный редактор кода Visual Studio Code.

Источник: OpenNET.

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

Поговорим про автоматизацию?

Я Юля, разработчик в команде IDM — комплекса систем, управляющих доступами сотрудников к внутренним ресурсам. Поделюсь мыслями на тему автоматизации.

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

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

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

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

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

А какие вам встречались примеры автоматизации — дружелюбной и не очень?

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии3

После года разработки представлен новый выпуск реализации языка программирования AWK от проекта GNU — Gawk 5.3.0. AWK был разработан в 70-х годах прошлого века и не претерпел значительных изменений с середины 80-х годов, в которых был определен основной костяк языка, что позволило на протяжении последних десятилетий сохранить первозданную стабильность и простоту языка. Несмотря на преклонный возраст, AWK до сих пор активно используется системными администраторами для выполнения рутинных работ, связанных с разбором различного рода текстовых файлов и генерацией несложной результирующей статистики.

Ключевые изменения в Gawk 5.3.0:

  • проведена работа по обеспечению совместимости с BWK ("The One True Awk");

  • добавлена опция "--csv" для разбора файлов в формате CSV (comma-separated values);

  • добавлена возможность использования escape-последовательностей "\u" для представления многобайтовых Unicode-символов;

  • прекращено использование библиотеки libsigsegv;

  • добавлена поддержка буферизации вывода при указании PROCINFO["BUFFERPIPE"].

Источник: OpenNET.

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

Топ-3 авторских DevOps/сисадмин-канала

Эта подборка появилась после ручного анализа всех Telegram-каналов (более 50) в тематике DevOps/системное администрирование. Упор в первую очередь сделан на каналы, которые ведутся от первого лица и содержат действительно полезную информацию.

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

BashDays - смелый проект от действующего девопс инженера, акцент сделан на работу с командной строкой и утилитами в linux. Автор самобытно и с долей юмора рассказывает про то, что в книжках обычно не пишут. Очень клевые кейсы по отладке и дебагу различных проблем. А самое главное всё разжевано до мелочей. Мастхев.

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

Записки админа - больше как копилка знаний про linux утилиты, технологии и системное администрирование. Иногда пролетают действительно крутые штуки, о которых мало кто знает.

Если знаете еще какие-то вменяемые каналы, которые ведутся от первого лица, закидывайте в комментарии.

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

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

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

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

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

Function(type par)
{//outer block(see“inner block”father)
  Int X = 123;
  If(par == someConst)       
  {//inner block
	We can use X here!
  }
}

Определение для Лямбда-функции тоже создает внутренний блок кода:

Action Function(type par)
{//outer block (see “inner block” father)
  Int X = 123;
  If(par == someConst)       
  goto Label; //we need goto just to escape definition of extra inner block
  Return lambda=>
  {// inner block
  some code that uses X in the block
  };
Label:
  We can still use X here!
}

Интересно! Это только мне кажется, что передача переменных из окружающего кода в код Лямбда-функции, ВОЗМОЖНО, изначально была ошибкой при разработке компилятора, когда стандартный способ распространения области видимости переменных по недосмотру применили к вновь появившимся инлайн реализациям функций? Но потом кто-то нашел применение такой возможности и, как это часто бывает, «Бага»(bug) превратилась в «Фичю» (feature)?

Теги:
Рейтинг0
Комментарии3

LofiTray - любая онлайн-трансляция в фоновом режиме в Вашей панели задач!

Для нетерпеливых: инструкция ниже, а так же на гитхабе проекта

Предыстория:

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

Так родилась идея для проекта и несколько месяцев не доходили руки. На прошлой неделе меня угораздило приболеть и освободившиеся 3 вечера я посветил LofiTray (tray - так обычной называют значки на панели задач)

Что это такое вообще?

- Это утилита для виндовс. Она позволяет включать/выключать, а также выбирать трансляции с YouTube. Функционал минимальный, покрывающий выполнение конкретной задачи - играть музон на фоне и не более.

А это не вирус?

- Нет, не вирус. Для всеобщего спокойствия, проверил через VirusTotal. Можете проверить установщик/распакованную программу (лежит в папке dist в репозитории), да хоть сам проект с гитхаба.

Как скачать?

- По кнопке в инструкции на ГитХабе. Продублирую эти 2 пункта здесь:

  1. Если у Вас не установлен VLC media playerустановите его перед загрузкой LofiTray. С помощью API этого плеера программа воспроизводит трансляцию в фоновом режиме

  2. Скачайте и запустите установщик LofiTray ?скачать?

В ближайших планах починить отображение ошибок в windows 11. А в дальнейших - добавить полноценное gui-меню, так как уже есть запросы от друзей

Такие вот дела

Теги:
Всего голосов 14: ↑14 и ↓0+14
Комментарии6

Ближайшие события

Me when posting about article updates
Me when posting about article updates

Поскольку на Хабре нет механизма оповещения об обновлениях статьи, решил написать про это пост.

Если вам посчастливилось одними из первых увидеть мою последнюю статью Глубина кроличьей норы: бинарная граница и ABI C++, то возможно, вы захотите к ней вернуться, когда узнаете что я добавил в неё несколько важных уточнений, которые перечислены в секции UPD (среди минорных исправлений пунктуационных ошибок и т.п.):

15.10.23:

  1. Добавил разьяснение про то, почему при переходе бинарной границы не стоит рассчитывать на copy elision. Ссылка на уточнение тут.

17.10.23:

  1. Добавил новый пункт про POD-типы: 2.3. Суровая реальность.

  2. Обновил заключение: В одном чёрном-чёрном доме ...

18.10.23:

  1. Добавил в пункт 2.1. Не позволяйте исключениям переходить бинарную границу подробный анализ причин почему не стоит пропускать исключения через бинарную границу.

Благодарю вас за уделённое время!

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

Расскажите своё мнение: на чём актуально писать более-менее крупную софтину под windows?

Работаю в проекте, нужна программа контроля доступа сотрудникам. БД + GUI + работа с устройством (перезаписывалка RFID меток). Проект - студенчесский стартап, так что пишем сами, не используем интеграции с крупными решениями.

Встал вопрос на чём писать. У меня компетенций в равной степени хватает на QT + C++, .NET + C# или Electron + js. Поэтому сложно определиться, важна скорость разработки и количество гайдов. По скорости выигрывает electron, а по гайдам .net.

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

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

Заранее спасибо!

P.S. Надеюсь не вызвал постом ощущение что я не желаю думать свой бОшкой, просто есть внутренний крик души, подумал, почему бы не посоветоваться с умными хабрятами)

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии8

NorrCompetition 2.0.2 – компонент голосований за фото и видео на Joomla 5

Вышла новая версия NorrCompetition версии 2.0.2 – популярного компонента для организации конкурсов и голосований на платформе Joomla.
Ключевой особенностью данной версии является совместимость с Joomla 5 и PHP 8.2. Начиная с этой версии, NorrCompetition можно установить на Joomla 5 без плагина обратной совместимости. Разработчики делают все возможное, чтобы предоставлять качественные услуги и постоянно работают над улучшением продуктов.

Кроме этого, версия идет со следующими улучшениями:

  • Masonry режим отображения участников (в виде плитки). Демо можно посмотреть здесь;

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

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

Подробнее о продукте:

Страница продукта на сайте разработчика
Продукт в российском каталоге SovMart
Как создать голосование за фото и видео на Joomla (урок)

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

What's up guys!

Всех с днём программиста! В этом посте я расскажу о сегодняшнем празднике.

День программиста - это профессиональный праздник, который отмечают в России по указу Медведева с 2009 года. В качестве даты для этого праздника был выбран 256-ой день года, это значит, что дата этого праздника плавающая в високосный год это 13 сентября, как например в это году (2023), а в следующем году - 12 сентября.

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

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

Сегодня 256-й день года, а это значит, что пришла пора поздравлять программистов с профессиональным праздником!

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

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии1

С днём программиста!

Сегодняшняя дата выбрана не случайно! Это 256-й день в году. Сакральное число для IT-шников. Желаем всем дальнейшего развития и продвижения до 256-го уровня и выше. Как известно, совершенству нет предела. Поэтому дарим полезный подарок, который поможет прокачать ваши hard- и soft-skills — записи выступлений докладчиков конференции TestDriven Conf, которых ещё не было в открытом доступе.

Видео с конференции TestDriven Conf 2022

С днём программиста!
С днём программиста!

С праздником! Развивайтесь сами, развивайте IT-сообщество и двигайте отрасль в целом!

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

Компания Microsoft выпустила версию 17.6.4 Visual Studio 2022 с исправлением ошибки утилизации ресурсов процессора при последовательном запуске нескольких тестовых проектов.

Ошибка была связана с постоянным опросом данных через testhost, в новой версии этот баг исправлен. Кроме того, в новой версии устранена проблема зависания IDE при сохранении файла C ++.

Подробнее обо всех исправлениях читайте на сайте разработчика.

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