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

Разработка

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

Лямбды в C++. Как это работает

C++ *
Рассмотрим такой пример кода:
void f(int i)
{
    auto g = [i](auto j)
    {
        return i + j;
    };
    g = [i](auto j)
    {
        return i - j;
    };
    g(1);
}

При компиляции возникнет ошибка в строке g = [i](auto j).

Почему так происходит?
Читать дальше →
Всего голосов 9: ↑2 и ↓7 -5
Просмотры 2.7K
Комментарии 3

Новости

5 DIY-проектов на базе Raspberry Pi осени 2022 года: клавиатуры, контроллеры и звонок для котиков

Блог компании Selectel Разработка на Raspberry Pi *Гаджеты DIY или Сделай сам

Привет, Хабр! «Малинки» не теряют свой популярности, проектов на их основе становится все больше. А значит, самое время рассказать об интересных и (правда, не всегда) практичных проектах. Возможно, кто-то из вас захочет повторить или доработать один из них — в этом случае было бы круто, если бы вы рассказали об этом. Ну или если у кого-то есть собственный проект на базе Raspberry — тоже расскажите об этом, например, в комментариях. Все самое интересное, как всегда, под катом.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 2.1K
Комментарии 0

Вышел bash 5.2

Блог компании SkillFactory Open source **nix *Софт
Перевод


Первая публичная версия bash-5.2 теперь доступна по URL-адресам ниже. Подробности к старту курса по DevOps — под катом.



Читать дальше →
Всего голосов 7: ↑2 и ↓5 -3
Просмотры 2.2K
Комментарии 1

«В начале проекта стоит смириться с тем, что в одиночку его не сделать». Интервью с основателем SelfPrivacy

Блог компании Privacy Accelerator Информационная безопасность *Хакатоны Управление проектами *Развитие стартапа

Привет! 

Мы решили сделать серию интервью с проектами, которые проходили или проходят акселерацию в Privacy Accelerator. Это, чтобы, как говорится, и себя показать (то есть проекты, а они у нас достойные!), и людей посмотреть - ведь на Хабре самая классная техническая аудитория, которая разбирается в нашей теме.

Сейчас в Privacy Accelerator стартует пятый набор, но мы по-прежнему на связи со всеми выпускниками прошлых лет. Некоторые из первых резидентов Privacy Accelerator опять с нами, но уже в новом формате - инкубатора. Сегодня поговорим с участником самого первого набора, осень 2020 года.

Знакомьтесь - Кирилл, основатель и  CEO проекта SelfPrivacyДва года назад его команда была отобрана в акселератор и активно в нем поработала: проверила гипотезу, провела серию пользовательских интервью, опрос, выявила ключевые боли, сделала MVP и разработала дизайн. А еще презентовала свой проект на питчинге перед экспертами и зрителями Privacy Day 2021 в Москве. Затем продолжила работу в инкубаторе. Как проект попал в Privacy Accelerator? Как проходила работа и что было особенно ценно? Чем сейчас занимается команда и какие у нее планы?

 

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

Это деловой подход

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

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

Технологии развиваются, скорость развития возрастает экспоненциально (возможно осуществление гипотезы «технологической сингулярности»). Вакансии образуются, на них нужно кого-то нанимать… но талантливых ведь не много? Что теперь считать талантом? Как устроено снижение порога входа в IT и какие есть проблемы?

В рамках этой статьи рассмотрен в общем вектор развития IT, влияние рынка, и, конечно же, бизнес...

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

Playwright или Selenium?

.NET *Тестирование веб-сервисов *

Написание тестов в современной разработке играет одну из самых важных и неотъемлемых этапов разработки современного программного обеспечения. В рамках разработки одного из последних проектов перед нами возникла подобная задача. Одним из способов тестирования стала разработка полноценных End2End тестов.

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

Просто о сложном: Confidential Cloud Computing

Информационная безопасность *IT-инфраструктура *Облачные вычисления *Сетевые технологии *Облачные сервисы *
Перевод

Сегодня мы попробуем разложить по полочкам  концепцию Сегодня мы попробуем разложить по полочкам концепцию Confidential Cloud Computing и содержательно поговорить о конфиденциальных вычислениях в Web 3.

Термин «облако» несколько раз пересматривался в истории Интернета. Для первопроходцев на заре Интернета идея заключалась в создании распределенной системы взаимосвязанных мейнфреймов, которая сама стала бы облаком. В более позднем видении облако будет означать возможность пользователей получать доступ к своим ресурсам (в основном данным) с любого устройства, которое к нему подключено.

Облако начало приобретать современные очертания только в начале 2000 года. Что произошло? До этого Интернет был в основном в руках нескольких энтузиастов. Затем произошла удивительная вещь: сотрудники Amazon (в то время интернет-магазина) не были удовлетворены скоростью, с которой они могли разрабатывать новые продукты и услуги. Проще говоря, они внедрили новый процесс для своих команд разработчиков и построили инфраструктуру с двумя ключевыми функциями:

позволить инженерам создавать новые сервисы быстрее и не затрачивать слишком много ресурсов на обслуживание;

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

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

User Defined Type. Что это и как его использовать

Программирование *Читальный зал Visual Basic for Applications *

Картинка: Designed by vectorjuice / Freepik

Большинство пользователей VBA прекрасно знают такую штуку как Type, он же User Defined Type (UDT). Кто-то, как я, использует его на повседневной основе. Кто-то, возможно, о нем слышал, но не мог понять как его применить.

Лично я помню, как не так давно смотрел на этот Type и пытался понять зачем он мне нужен, ведь он просто хранит в себе переменные, которые можно с тем же успехом объявить в функции/процедуре или на уровне модуля?

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

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

История одного бага

Тестирование IT-систем *Java *Отладка *

Всё началось с баг репорта от одного из пользователей нашего фрэймворка JDI Light - NullPointerException при WebPage.open(), а точнее WindowsManager.getWindows()

Максимально странное падение до 30% тестов разом с одной ошибкой. Причём либо падает сразу много, либо - не падает вообще.

Мы в JDI очень трепетно относимся к баг репортам пользователей, особенно такого фантастического качества - с подробным описанием и вот этим всем.

Приступить к расследованию
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.6K
Комментарии 1

Rust должен умереть, МГУ сделал замеры

Ненормальное программирование *Assembler *C *Rust *

В предыдущих сериях:



Медленно, но верно Раст проникает не только в умы сотрудников больших корпораций, но и в умы школьников и студентов. В этот раз мы поговорим о статье от студента МГУ: https://rustmustdie.com/.


Её репостнул Андрей Викторович Столяров, доцент кафедры алгоритмических языков факультета ВМК МГУ им. М. В. Ломоносова и по совместительству научрук студента-автора статьи.


Я бы сказал, что тут дело даже не в том, что он "неинтуитивный". Дело скорее в том, что компилятор раста сам решает, когда владение "должно" (с его, компилятора, точки зрения) перейти от одного игрока к другому. А решать это вообще-то должен программист, а не компилятор. Ну и начинается пляска вида "как заставить тупой компайлер сделать то, чего я хочу".
Бред это всё.

— А. В. Столяров
Кощунство!
Всего голосов 184: ↑174 и ↓10 +164
Просмотры 26K
Комментарии 72

Открытый проект мультизонного термосенсора с логированием и блютусом

Программирование микроконтроллеров *Схемотехника *Интернет вещей DIY или Сделай сам Электроника для начинающих

Цель проекта - получить устройство с возможностью простого подключения множества термосенсоров. Термосенсоры должны однозначно идентифицироваться по месту. Все температуры должны отображаться на одном экране и логироваться в файл. За основу была взята шина 1-Wire и сенсоры DS18S20+.

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

Управление учетными записями в Linux. Часть 2. Не/правильная настройка доступа

Блог компании OTUS Информационная безопасность **nix *Серверное администрирование *

В предыдущей статье мы рассмотрели вопросы хранения учетных данных в ОС семейства Линукс. Теперь перейдем к обсуждению вопросов правильной и не очень настройки прав доступа к различным объектам операционной системы.

Напомню основные моменты относительно учетных записей в Линукс: есть суперпользователь root (id=0), который может все и есть все остальные учетные записи (id от 500 или 1000), которые имеют ряд ограничений и по идее не могут нанести большого вреда системе.

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

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

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

Source Generators в действии

Блог компании JUG Ru Group .NET *C# *

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


Ранее Андрей Дятлов TessenR выступил на конференции DotNext с докладом «Source Generators в действии». А теперь, пока мы готовим следующий DotNext, сделали для Хабра текстовую расшифровку его доклада.



Что вообще такое эти Source Generators? Как их использовать? Как предоставить пользователю вашего генератора необходимую гибкость конфигурации и понятные сообщения о возникающих проблемах? Как разобраться, когда что-то пошло не так?


Ответы на все эти и другие вопросы — в тексте.

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

Как повысить безопасность приложений с помощью фабрик строк в psycopg

Блог компании RUVDS.com Python *Программирование *SQL *Администрирование баз данных *
Перевод

psycopg — это адаптер базы данных PostgreSQL для Python, то есть одной из его основных задач является автоматическая подстройка типов при составлении запросов и получении ответов между PostgreSQL и Python. И хотя это преобразование отлично применяется к встроенным типам, psycopg также предоставляет нативный способ обрабатывать специализированные типы данных с помощью фабрик строк.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 732
Комментарии 0

Эмуляторы, симуляторы или тестовые фермы. Что выбрать для мобильного тестирования?

Блог компании СберМаркет Разработка мобильных приложений *Тестирование мобильных приложений *

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

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

Безопасный Spring REST с применением Spring Security и OAuth2

Блог компании Southbridge Java *API *Kotlin *
Перевод

В этой статье мы продемонстрируем пример настройки Spring Security + OAuth2  для защиты конечных точек REST API на фреймворке Spring Boot. Клиенты и учетные данные пользователей будут храниться в реляционной базе данных (для баз данных H2 и PostgreSQL подготовлены примеры конфигураций).

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

Хочу в ГЕЙМДЕВ! Что нужно знать прежде чем выбрать новую профессию

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

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

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

Лонгрид. Доступна видео-версия:

Лонгрид. Доступна видео-версия:
Всего голосов 4: ↑0 и ↓4 -4
Просмотры 2.2K
Комментарии 5

Разбор ошибок в игровом движке Stride

Блог компании PVS-Studio Разработка игр *C# *

Stride – это мощный, бесплатный и активно развивающийся игровой движок, реализованный на C#. Он вполне может стать альтернативой Unity, но насколько качественный исходный код Stride? Узнаем это с помощью статического анализатора PVS-Studio.

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

Platform V Incident Manager и обработка связанных инцидентов: упрощаем жизнь командам сопровождения

Блог компании Сбер IT-стандарты *Service Desk *Управление продуктом *
Recovery mode

Привет, Хабр! Меня зовут Евгений Янес, я ведущий руководитель IT-направления в СберТехе — компании, которая строит Platform V, цифровую платформу Сбера для разработки бизнес-приложений.

В статье расскажу, как мы создали Platform V Incident Manager — продукт для автоматизации процесса обработки ошибок, а за счёт функции обработки связанных инцидентов оптимизировали работу сразу нескольких бизнес-процессов.

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

Auto Layout настройка кодом

Разработка под iOS *Xcode *Swift *
Из песочницы

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

Ограничение(constraint) - это правило, позволяющее операционной системе размещать ваш компонент пользовательского интерфейса. В UIKit есть 2 основных способа установки ограничений:  StoryBoard и кодом. В данной статье рассмотрим только подход кодом.

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