Обновить
3
0.9

Пользователь

Отправить сообщение

Git — сравнение Visual Studio 2022 с MeGit/EGit и SourceTree

Время на прочтение11 мин
Охват и читатели15K

В этой статье мы сравним функциональность Git в IDE Visual Studio 2022 и в других клиентах Git с GUI. Git внутри VS2022 имеет упрощённый интерфейс по сравнению с некоторыми другими GUI-клиентами наподобие MeGit/EGit и SourceTree. Это привлекает многих разработчиков к платформе VS2022/Git, однако опытным пользователям дополнительно потребуются и другие инструменты.
Читать дальше →

Как создать dApp за три шага

Время на прочтение11 мин
Охват и читатели16K

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

В этом техническом руководстве вы узнаете как создать простой dApp, который позволяет пользователю получать и хранить текущую цену Ethereum в смарт-контракте. Готовую демонстрационную версию можно найти на GitHub.

Читать далее

Операционная система FreeBSD на ноутбуке Lenovo

Время на прочтение117 мин
Охват и читатели60K

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

Моя статья посвященная настройке САПР КОМПАС-3D под FreeBSD получила ряд одобрительных комментариев, поэтому мне захотелось продолжить тему «FreeBSD на десктопе». К тому же, есть добрые предпосылки — недавно я приобрел новый современный ноутбук Lenovo Ideapad 3 Gaming взамен окончательно рассыпавшегося на несколько частей Asus VX7, а с ним и массу приятного и затейливого опыта установки и настройки ОС FreeBSD для работы на новом «железе». В этой статье я не будут касаться установки и настройки специализированного ПО и прочих САПР, будет рассмотрен только системный вопрос: установка операционной системы, драйверов, патчей, библиотек, настройка и борьба с железом. Будет много выдержек из системного руководства (мануала - man) — уж сильно я к нему пристрастился за последние 130 лет.

Ссылка на статью в формате PDF для "офф-лайн" прочтения

Продолжить читать журнал

Виртуализация в образовании

Время на прочтение6 мин
Охват и читатели3.8K

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

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

Особенности ИТ в учебных заведениях

Работа ИТ-персонала в учебных заведениях имеет ряд отличий от аналогичного процесса в обычных компаниях и организациях. 

Первое отличие — это фактор непредсказуемости в виде студентов и школьников. Из любопытства, по незнанию или поддавшись на «слабо», они могут запустить на школьном компьютере вредоносное ПО, изменить сетевые настройки, а при сильном желании — привести систему в нерабочее состояние. Ситуацию осложняет еще и тот факт, что все эти действия могут выполняться в рамках учебного процесса, если, например, речь идет о дисциплинах «Системное администрирование» или «Защита информации». А если все студенты, как это часто бывает, работают под одной «учебной» учеткой, невозможно даже понять, кто и зачем сказал «мяу» отформатировал диск.

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

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

Читать далее

Знакомимся с дата-ориентированным проектированием на примере Rust

Время на прочтение13 мин
Охват и читатели13K
image

James McMurray


В этом посте мы исследуем основные концепции «Data-Oriented Design» (далее «дата-ориентированное проектирование» на языке Rust.
Весь исходный код для этого поста выложен на Github.
Читать дальше →

Отладка в C++ геометрии и топологии

Время на прочтение5 мин
Охват и читатели6.6K

Генерация 3д объекта - как правило, многоэтапный процесс (например в булевых операциях сначала поиск графа пересечений, нахождение геометрии кривых пересечения и построение топологии результирующего тела). Закономерно возникает сложность с его отладкой. Положим при генерации что-то пошло не так и имеем наполовину готовый объект, который не может быть визуализирован разрабатываемой CAD системой. Что делать? Как локализовать место и момент ошибки? Анализировать глазами тысячи xyz координат промежуточных результатов и вспомогательных объектов на момент выдачи исключения? Или хуже, если отклонения желаемого результата от фактического незначительные, тогда и все числа внешне будут корректны. Работая С++ программистом в области 3Д моделирования и построения различных CAD/САПР систем, я регулярно сталкивался с проблемой визуализации вспомогательных/промежуточных сущностей.               

Сформировал себе универсальный инструментарий DumpSTL, позволяющий с минимальными усилиями, в любом C++ проекте дампить в .stl файлы любые внутренние объекты в проекте.
Почему именно .stl? Так уж исторически сложилось. Много использовал чпу фрезера и 3д принтера, где основным и простейшим форматом моделей является .stl.

Суть использования сводится к однократной адаптации инструмента под структуры данных конкретного проекта, затем:
1) подключить один DumpSTL.h
2) вызвать к необходимым данным метод DUMP::save(...)
3) получить на выходе множество файлов с 3д моделями, которые можно открыть в любом 3д редакторе

Читать далее

Есть ещё выдающиеся программисты, кроме Торвальдса, Беллара и Дина? Знакомьтесь — Джастин Танни

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели48K
Программистам не дают Нобелевские премии. Хотя некоторые заслуживают. В нашей отрасли есть настоящие герои с выдающимися достижениями. Эти люди не строят карьеру, перепрыгивая с одной должности на другую, прокачивая зарплату. Создаётся впечатление, что им карьера вообще не важна. В силу высокого интеллекта, врождённой любознательности и особого характера эти люди не способны выполнять скучные, рядовые задания. Только интересные или важные. И только по своей воле, не по указанию сверху.

На Хабре рассказывали про «чак норрисов» от программирования, таких как Линус Торвальдс, Фабрис Беллар и Джефф Дин. Конечно, есть и другие феноменальные таланты, их много. Зачастую эти люди далеки от публичности, никогда не давали интервью и известны только по никам. Но их объединяет одно — выдающиеся индивидуальные разработки, которые разрывают шаблон и выделяются из общей массы.

Мы собирали этот список несколько лет. Начнём с последних строчек своебразного хит-парада… Знакомьтесь — Джастин Танни (Justine Tunney), хакерша и гений системного программирования.
Читать дальше →

Пособие по программированию модулей ядра Linux. Ч.1

Время на прочтение19 мин
Охват и читатели59K

Перед вами последняя версия пособия по программированию модулей ядра Linux, вышедшего 2 июля 2022 года. Пособие большое, поэтому материал будет разбит на серию статей. В первой части мы разберём, что такое модули ядра, рассмотрим необходимые подготовительные этапы для их создания и в завершении по традиции напишем первый простейший модуль «Hello world», попутно разобрав вопросы лицензирования, передачу аргументов командной строки и прочие нюансы. Это пособие вы можете смело воспроизводить и изменять в соответствии с условиями Open Software License v 3.0.
Читать дальше →

Простые highload паттерны на Go

Время на прочтение5 мин
Охват и читатели23K

Привет, Хабр! Меня зовут Агаджанян Давид, хочу поделиться некоторыми инженерами рекомендациями, которые часто на моем опыте помогали держать highload нагрузку не прибегая к хардкору. Примеры будут на Go. Эти подходы довольно хорошо известны, но как мне кажется они недооценены и многие этими подходами пренебрегают. Если вы впервые видите их, то рекомендую хотя бы попробовать реализовать в своих проектах и провести бенчмарки, возможно вы будете приятно удивлены..

Читать далее

Собираем бесшумный ПК без заморочек

Время на прочтение11 мин
Охват и читатели70K

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

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

Внутри много текста и фотографий

Супер универсальная зарядка

Время на прочтение4 мин
Охват и читатели28K

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

Как я попытался решить эту задачу:

Шахматы на C++

Время на прочтение68 мин
Охват и читатели58K

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

Читать далее

Обстоятельно о подсчёте единичных битов

Время на прочтение16 мин
Охват и читатели104K
Я хотел бы подарить сообществу Хабра статью, в которой стараюсь дать достаточно полное описание подходов к алгоритмам подсчёта единичных битов в переменных размером от 8 до 64 битов. Эти алгоритмы относятся к разделу так называемой «битовой магии» или «битовой алхимии», которая завораживает своей красотой и неочевидностью многих программистов. Я хочу показать, что в основах этой алхимии нет ничего сложного, и вы даже сможете разработать собственные методы подсчёта единичных битов, познакомившись с фундаментальными приёмами, составляющими подобные алгоритмы.

Читать дальше →

Что читать разработчику C++

Время на прочтение6 мин
Охват и читатели29K

В этой подборке — не только классические рекомендации книг для C++ программистов. Обычно советуют издания про паттерны, развитие стандарта или успехи большой компании. Но за всем этим изобилием «экспертных советов» и best practices теряется одна простая мысль: язык программирования — это средство выражения мысли от одного разработчика другому, а также средство описания пользовательского API в самом широком смысле.

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

Первые 5 книг этой подборки — в меньшей степени про технику, в большей степени об осознанности деятельности C++ программистов любого уровня. Остальные — «золотой фонд» классической литературы для C++ разработчиков.

Читать далее

Хватит ссылаться на TIOBE

Время на прочтение5 мин
Охват и читатели35K

Что такое TIOBE?


Индекс TIOBE — это показатель популярности языков программирования. Индекс обновляется раз в месяц… Важно заметить, что индекс TIOBE — это не признак лучшего языка программирования или языка, на котором написано больше всего строк кода.

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

Источник: tiobe.com.

Индекс языков программирования, помогающий выбрать язык, который нужно использовать. Похоже, полезная штука!
Читать дальше →

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

Время на прочтение11 мин
Охват и читатели6.1K

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

Утечка данных 150 тыс. клиентов Совкомбанка, слив исходного кода Госуслуг, потеря данных более 8 млн. пользователей сервисов доставки еды — мне продолжать? Кажется, всё это — достаточно веские причины, чтобы задуматься о безопасности. Говоря о приложениях для финансового учета, вопрос сохранности данных стоит ребром.

Читать далее

Обзор паттернов интеграции микросервисов. Часть 1

Время на прочтение7 мин
Охват и читатели45K

Недавно мы проводили вебинар «Обзор паттернов интеграции микросервисов». На нём энтерпрайз архитектор Пётр Щербаков рассказал, зачем IT-специалистам нужны шаблоны интеграции, и разобрал, для каких задач они подходят, а для каких нет. Для тех, кто пропустил или предпочитает читать, а не смотреть подготовили текстовый обзор интеграционных паттернов: Circuit Breaker, Sidecar, Ambassador, Anti-Corruption Layer и Async Request-Reply.

Читать далее

С++ exception handling под капотом или как же работают исключения в C++

Время на прочтение15 мин
Охват и читатели79K

От переводчика


В мире победили языки высокого уровня и в мирах руби-питон-js разработчиков остается только разглагольствовать, что в плюсах не стоит использовать то или иное. Например, исключения, потому что они медленные и генерируют много лишнего кода. Стоило спросить "и какой же код он генерирует", как в ответ получил мямленье и мычание. А и правда — как же они работают? Ну что ж, компилируем в g++ с флагом -S, смотрим что получилось. Поверхностно разобраться не сложно, однако то, что остались недопонимания — не давали мне спать. К счастью, готовая статья нашлась.

На хабре есть несколько статей, подробных и не очень (при этом все равно хороших), посвященных тому, как работают exceptions в C++. Однако нет ни одной по-настоящему глубокой, поэтому я решил восполнить этот пробел, благо есть подходящий материал. Кому интересно как работают исключения в C++ на примере gcc — запаситесь pocket-ом или evernote, свободным временем и добро пожаловать под кат.
Читать дальше →

ОС с нуля: Глава 2, Часть 1 — Да зачем нам этот Legacy

Время на прочтение9 мин
Охват и читатели20K

Пару месяцев назад я решил начать серию статей про написание своей ОС с нуля. Описал написание Legacy MBR загрузчика и переход в защищенный режим (без прерываний) и ещё пару мелочей. Сегодня я решил, что попытаюсь "перезапустить" эту серию (сохранив нумерацию частей). Суть в том, что теперь будут использоваться актуальные на август 2022 года материалы, и разработанное ПО можно будет легко протестировать на своей (U)EFI-машине.

Читать

DALL·E 2 — мои первые эксперименты с возможностями нейросети

Время на прочтение5 мин
Охват и читатели66K

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

И когда Open AI открыли возможность получить доступ к их новой нейросети DALL·E 2 я конечно же воспользовался возможностью и вот на прошлой неделе и она попала мне в руки.

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

Читать далее

Информация

В рейтинге
1 854-й
Зарегистрирован
Активность