Обновить

Разработка

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

Книга «Современный C#. Разработка настольных, облачных, мобильных и веб-приложений». Работа со встроенными массивами

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

Приветствуем, Хабр.

Сегодня расскажем о нашей большой ноябрьской новинке – книге «Современный C#. Разработка настольных, облачных, мобильных и веб-приложений». Иэн Гриффитс продолжает многолетнюю работу над своим справочником по C#, и в новом издании осветил версию C#12. Вот ссылка на гитхаб-репозиторий с примерами к книге.

Более ранние издания этой книги (по версиям C#5 и C#8) уже выходили на русском языке, поэтому данное энциклопедическое пособие наверняка известно опытным .NET-разработчикам. Мы не претендуем на лавры «подхвативших упавшее знамя», но решили выпустить новую версию книги, так как она в подробностях затрагивает облачные и контейнерные аспекты работы.  Вот что появилось нового в этом издании по сравнению с версией «C# 8», опубликованной на русском языке в 2021 году:

Читать далее

Новости

У меня 300 задач, и все самые приоритетные. Вот что я делаю

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

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

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

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

Я тогда поняла — здесь все по-другому.

Читать далее

Как мы внедряли комментарии и чаты: опыт выбора между своей разработкой и готовыми решениями

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

Привет! Меня зовут Алексей Гомелевский, я frontend-разработчик в Garage Eight. Моя команда занимается улучшением взаимодействия пользователей с продуктом, и недавно мы решили реализовать комментарии. В этой статье расскажу, как выбирали между решением из коробки и собственной разработкой, с какими сложностями столкнулись и как на базе комментариев создали чаты. 

Читать далее

Релиз Explyt Spring: SQL, Docker-Compose, Debugger

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

Всем привет! На связи команда Explyt Spring. Недавно у нас вышел очередной релиз, который включает несколько важный обновлений: поддержа SQL, очередные улучшения для Spring Debugger, поддержка Spring пропертей для Docker-compose файлов и многое другое. Если вам интересны подробности то добро пожаловать под кат!

Читать далее

Security by design на практике: проектирование безопасной инфраструктуры

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

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

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

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

Читать далее

Оживляем самый массовый карточный таксофон двухтысячных

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

Приветствую всех!
Эпоха фрикинга таксофонов в России безвозвратно ушла. Все оставшиеся аппараты переведены на бесплатное обслуживание, а карты оплаты давным-давно упразднены. Но что, если сейчас раздобыть такой аппарат и попробовать запустить его в домашних условиях? Именно этим мы сегодня и займёмся.

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

Бесплатный звонок

Наследие кода: разбор С и С++ модулей Erlang, которые работают десятилетиями

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

Код некоторых модулей Erlang/OTP старше, чем большинство современных junior-разработчиков. Эти файлы — настоящие цифровые патриархи, десятилетиями обеспечивающие работу банковских транзакций, телефонных сетей и систем обмена сообщениями. Мы решили заглянуть под "капот" этого языка-долгожителя, чтобы проверить, что именно скрывается в строках, на которые сегодня полагаются миллионы пользователей. А вот что мы нашли, узнаем в этой статье.

Читать далее

В защиту «обычных» разработчиков

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

Мем про «10×-разработчика» живёт не просто так — такие люди встречаются. Но это не то, чем можно управлять. Софт делает команда, а скорость задаёт система вокруг неё. В статье — как навести порядок в этой системе, чтобы «обычные» инженеры стабильно давали сильный результат: короткий путь «коммит → прод», быстрый откат вместо героизма, наблюдаемость по умолчанию, удобный платформенный self-service и найм не «самых крутых», а подходящих под задачи и ценности. Продуктивность измеряется не строками кода и не тайтлами, а влиянием на бизнес; остальное — лишь прокси-метрики.

К материалу

Настраиваем nano под себя

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

Nano для меня one love инструмент повышения продуктивности работы в консоли, не больше, не меньше. Спорить о достоинствах и недостатках смысла не вижу. Одни защищают Emacs, превращая его в полноценную операционную систему с календарём, почтой и встроенным браузером. Другие восхищаются Vim, где можно писать код, не отрывая рук от клавиатуры, но ведь не даром, дядя, самый популярный запрос про vim в Google до сих пор - «how to exit Vim».

Nano в этом шуме выглядит почти аскетом. Он не требует зубрёжки, всё нужное видно внизу экрана, и вы можете начать редактировать файл, даже если впервые видите консоль.
Из реальных недостатков я за длительное время использования слышал лишь о мелочи: при удалённой работе по ssh стрелки вправо и влево иногда ведут себя странно - не по вине nano, а из-за несовпадений в настройках терминала.

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

Читать далее

Эволюция диагностики аккумуляторов Makita: от Arduino OBI к автономному веб-интерфейсу на ESP32

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

Каждый, кто работает с профессиональным инструментом Makita, знает, что их аккумуляторы — это не просто «банки» с энергией. Внутри скрывается сложная система управления (BMS), которая хранит массу полезной информации: от количества циклов заряда до напряжения на каждой ячейке. Однако получить эти данные без специального оборудования невозможно.

Несколько лет назад сообщество энтузиастов подарило нам проект OBI (Open Battery Interface) — решение на базе Arduino и Python, которое впервые позволило заглянуть «под капот» этих батарей. Это был настоящий прорыв, который послужил отправной точкой и для моего проекта. Но, как и у любой технологии, у него были свои ограничения. Я поставил перед собой цель создать более современное, удобное и полностью автономное устройство. Эта статья — история его разработки, от идеи до финальной реализации.

Читать далее

Малоизвестные уязвимости PHP: что скрывается за строками кода

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

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

PHP – один из самых популярных языков веб-разработки. Благодаря экосистеме фреймворков (Laravel, Symfony, Yii) и обширному опен-сорсу он остаётся выбором №1 для быстрого вывода приложений. При этом сообщество в основном концентрируется на классических уязвимостях (SQL-инъекции, XSS, CSRF, LFI/RFI). Тонкие особенности интерпретатора, малоизученных расширений и встроенных механизмов нередко остаются вне поля зрения. В этой статье мы подробно рассмотрим малоизвестные опасности и способы защиты от них.

 

Читать далее

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

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

35-летняя сага о Kryptos, загадочной скульптуре с четырьмя зашифрованными сообщениями, расположенной перед штаб-квартирой ЦРУ, только что приняла странный поворот. Первые три отрывка криптографы разгадали уже в 1990-х годах, всего через несколько лет после того, как художник Джим Санборн установил медный монолит. А вот четвёртый отрывок, известный как K4, оставался неприступной крепостью, состоящей из 97 символов, 35 лет — вплоть до 2 сентября, когда журналисты Джаретт Кобек и Ричард Бирн обнаружили ответ в архивах Смитсоновского института.

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

Читать далее

Поднимаем внутренний мессенджер и VoIP-сервер без нарушения законодательства

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

Cейчас, когда связь с внешними сервисами работает с перебоями, а самым стабильным международным способом созвониться теперь является, внезапно, Steam, VoIP которого точно не блокируется, возникает резонный вопрос: а как коммуницировать хотя бы в рамках собственной компании? Особенно с учетом того, что Discord давно и надежно заблокирован, Slack с рынка ушел, а популярные публичные мессенджеры замедляются или рискуют отправиться в бан? Решение очевидно: поднимать собственные текстовые и VoIP-сервера, о чем мы и поговорим в статье на примере связки Matrix и Jitsi.

Читать далее

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

Как некачественные данные подтачивают способности нейросетей и что с этим делать

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

Языковые модели помогают кодить, писать тексты, отвечают на вопросы и даже подсказывают идеи. Но все, чему они учатся, берется из интернета, а там хватает и полезного, и откровенного мусора. Ученые из Texas A&M и Purdue University выяснили, что если в обучающие наборы попадает слишком много поверхностного или ошибочного контента, модели начинают работать хуже. Этот эффект исследователи описали как «размягчение мозга» (brain rot) — по аналогии с тем, как у человека притупляется внимание после длительного погружения в поток однотипной информации.

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

Читать далее

Купил увлекательный квест за 0,00896 BTC

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

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

Не так давно я решил купить ещё один вечный сервак у этого провайдера. И здесь начинается ещё не сам квест, а предыстория к нему...

Читать далее

Динамические группы проксируемых серверов в Angie

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

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

Читать далее

Пять лет спустя: почему мы всё переписали с нуля

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

Пять лет назад на Хабре мы писали о Web Camera Pro — и казалось, что впереди только апдейты, оптимизации и новые функции. За это время изменилось многое — и не только в технологиях, но и в законодательстве.

Как мы наступили на те же грабли

Когда в 2015 году мы начинали разработку системы для видеонаблюдения, Qt 5 казался идеальным решением. На первый взгляд всё выглядело просто: берём готовые библиотеки, оборачиваем в красивый интерфейс, добавляем AI-аналитику — и готово.

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

“Один фреймворк, любая платформа” — звучало как музыка.

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

Qt позволял быстро собрать прототип, но, когда речь заходила о стабильности, о 24/7-нагрузке, о реальной работе с потоками и камерами, его недостатки становились критичны.

Читать далее

Как мы воскресили русский NLP и сократили потребление памяти на 90%

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

Как мы воскресили русский NLP и сократили потребление памяти на 90%

Форкнули четыре ключевых библиотеки русского NLP (pymorphy, razdel, slovnet, natasha), которые не обновлялись годами. Сократили потребление памяти на 90%, ускорили загрузку в 30 раз, повысили точность токенизации с 70% до 95%. Всё работает offline, 100% совместимо с оригинальными API. Экосистема MAWO — production-ready инструменты для работы с русским текстом.

Помните ли вы тот момент, когда открываешь проект для обработки русского текста и видишь знакомую картину? В requirements.txt красуется pymorphy2, последний коммит в репозитории датирован 2015 годом, Python 3.12 ругается на deprecated методы, а production ждать не будет. Знакомо? Тогда эта история для вас.

Читать далее

Open source-стратегии: как МойОфис развивает открытый подход — рассказывает Тамара Щепалкина, CTO компании

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

Делюсь разговором с Тамарой Щепалкиной, техническим директором МойОфис. В интервью — подробный разбор открытого подхода, реализуемого компанией.

Читать далее

GPS-мониторинг выездных сотрудников: посчитать, ускорить, не оставить в беде

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

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

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

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

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

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

Читать далее
1
23 ...