Задать вопрос
  • Как установить печатную плату на металлическую пластину?

    • Пластиковая ручка с пустым пастиком. Из ручки напилить дистанционных втулок. Пастик вставить через плату и втулки, нагреть и прижать как заклепку.
    • Взять стойки от материнской платы
    • Взять термоусадку большого диаметра, запихнуть в нее плату и усадить
    • Взять толстую подложку, подложку привренуть к железяке, а платы к подложке
    • Взять любую пластиковую коробочку по размеру, положить платы в коробочку, провода вывести через стенки и бросить её на железяку
    • ... и ещё 1001 вариант, как быстро заколхозить сабж )))
    Ответ написан
    2 комментария
  • Как сохранить сбоку AssemblyBuilder? Где методы Save, DefineDynamicAssembly?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Дока, которую ты отправил, относится к .NET Framework.
    После перехода на .NET Core и .NET Standard эту тему перестали поддерживать.
    Работы по этому поводу сейчас ведутся и в .NET 9 должно появиться: https://github.com/dotnet/runtime/issues/92975
    Но если хочешь прямо сейчас, то вот репа с примером, как можно своими силами это сделать: https://github.com/dotnet/runtimelab/blob/feature/...
    Ответ написан
    Комментировать
  • Как создают интерфейсы в программах?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Самый низкий уровень - системные вызовы:
    Это WinAPI, X11 и т.д. Я не десктоп разработчик, но сейчас мало кто ими пользуется.

    Дальше идут фреймворки, потроенные вокруг них:
    Это wxWidgets, WTL (Windows Template Library)

    И на самом верху - полноценные языки разметки/программирования:
    Qt, XAML, Electron

    Дополнительно, никто не мешает свой фреймворк написать оконный - поверх существующих WinAPI, либо через графический фреймворк (SDL, например)
    Ответ написан
    1 комментарий
  • Возможно ли купить подсеть и вписать себе в маршрутизатор:)?

    @asmelnik
    Если вы хотите вот совсем независимо и самостоятельно всем распоряжаться:
    Технически как физлицо вы не можете "купить" адреса, собственно они вообще не продаются :).
    Вы можете взять в аренду, вернее даже в субаренду, блок адресов у LIR-а.
    Кто такой LIR- Local Internet Registry- https://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%BA%D...
    Блоки IPv4 адресов для провайдеронезависимой маршрутизации кратны 256штукам.
    Т.е. вы можете взять 256, 512, 768, 1024, ... и никак иначе.
    В "довесок" к блоку адресов ван нужен будет номер Автономной системы (AS) -- так же аренда.
    И уже потом вы договариваетесь с 1-2-3 и т.д .провайдерами о взаимодействии.
    Вы "объявляете" им, что у вас есть такой-то блок адресов, они передают дальше и т.д.
    И таким образом весь Internet узнаёт, что такой-то блок адресов "приписан" к такому-то номеру AS, а сама AS достижима по такому-то направлению (интерфейсу)....
    В домашних условиях технически возможно, но судя из вашей формулировке вопроса вам понадобится соответствующий специалист... ну или много и долго самостоятельно разбираться с новой для себя темой :)
    Маршрутизация в глобальных сетях выглядит несколько иначе, чем в локальных.
    Ответ написан
    6 комментариев
  • Что поставить вместо Аваста?

    @ewgenc
    Чем встроенный защитник не устраивает?
    Ответ написан
    2 комментария
  • Как benchmarkdotnet передает аргументы?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Разве для каждого метода, каждой итерации не новый объект приходит?

    Судя по исходному коду (https://github.com/dotnet/BenchmarkDotNet/blob/109...), аргументы создаются во время создания объекта бенчмарка.

    Если тебе нужно на каждую итерацию создавать новый объект и работать с ним, то для этого используются Setup/Teardown методы. Их помечать через [IterationSetup]/[IterationCleanup] атрибуты надо.
    Примерно так:
    public class SampleBenchmark
    {
        private object _object;
    
        [IterationSetup]
        public void MySetup()
        {
            _object = CreateData(1000);
        }
    
        [IterationCleanup]
        public void MyCleanUp()
        {
            _object = null;
        }
        
        [Benchmark]
        public void Benchmark()
        {
            _object.DoSomething();
        }
    }


    как вообще можно узнать что пришло, если какой-то гений придумал что в Debug не работает Benchmark, гений

    BenchmarkDotNet использутся для замера производительности. В него помещается изначально правильно работающий код, производительность которого нужно замерить для будующих запусков в проде. В дебаг режиме есть много лишнего, неоптимизированного кода, поэтому производительность будет ниже и, чтобы таких ситуаций не было сделали такое ограничение.
    Если тебе нужно дебажить - то это юнит (xUnit, NUint, MSTest) и другие виды тестирования
    Ответ написан
    Комментировать
  • Где искать работу начинающему без опыта?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    "Начинающим без опыта" ты станешь, когда закончишь учиться. А сейчас ты - студент, который ищет стажировку. Начинать надо вот с этого - чтобы не вводить в заблуждение сразу.
    Работадателю пофиг на твои проблемы - тебе надо - ты и крутись.

    У нас студенты появляются регулярно. Потом часто и на работу приходят - ненадолго правда, видимо считают, что есть места и лучше. Оно конечно так, они наверное есть...
    Ответ написан
    Комментировать
  • Возможна ли автоматизация проектирования с помощью ИИ?

    Maksim_64
    @Maksim_64
    Data Analyst
    Экономически вряд ли это целесообразно, слишком много средств потребует создание такой нейросети.
    Ответ написан
    Комментировать
  • Как понять для чего использовать различные инструменты в программировании?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Не существует правильного варианта использования какого-либо инструмента - он просто имеет определенный функционал, а как его использовать - это уже на твоей совести и воображении.

    Например, ref и struct можно объединить для реализации посетителя, который модифицирует посещаемого объекта и т.к. структура на стеке хранится (неправильно так говорить, но тут сойдет), то можно объект сделать struct а после передавать через ref - боксинга не будет. Так, например, реализован JSON десериализатор в System.Text.Json - нигде не пишут что так можно делать, просто нашли способ.

    Или можно сделать 2 конструктора - один private без аргументов, а другой public с аргументами и тогда можно использовать EF Core, чтобы этот класс использовать и как объект в БД и как объект бизнес-логики. EF Core сам объект создаст и нужные поля выставит.

    Таких вариантов - куча. Как найти их - опыт. Уже сам описал как его получить - пиши свои проекты, изучай проекты других, читай умные книжки/статьи.
    Ответ написан
    1 комментарий
  • Почему нет записи о printf в секции .plt.dyn?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Но там запись о функции puts, а не printf.

    Это уже оптимизация компилятора. Возможно ты не передаешь printf никаких аргументов и он решил, что проще вызвать puts.
    Такое поведение уже было описано вот тут:
    The C compiler gcc likes to use its knowledge of builtin functions to manipulate code. The version of gcc in NetBSD 4.0.1/macppc will simplify the printf statement to puts("Greeting, Earth!"); so the main function effectively calls puts(3) once and then returns 0.
    Ответ написан
    1 комментарий
  • Какую литературу читать новичку по C#?

    Литература по языку C#

    Книги для новичков: а о чём это вообще?

    • Head First C#, Jennifer Greene, Andrew Stellman (русский перевод: Изучаем C#, Д. Грин, Э. Стиллмен). Содержит упражнения. Рекомендуется многими как хорошая книга для новичков.
    • Язык программирования C# 5.0 и платформа .NET 4.5 - Эндрю Троелсен. Популярная книга, многие начинали с неё.
    • C# 4.0: полное руководство, Герберт Шилдт. Несмотря на неоднозначное отношение к автору, книга пользуется популярностью.
    • C# 2010. Ускоренный курс для профессионалов, Нэш Трей
    Книги среднего уровня: если hello world не проблема
    • CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#, Джеффри Рихтер. Неувядающая классика. Хотите знать, что и как происходит на самом деле? Это книжка для вас. Не самое живое изложение, зато максимум подробностей из первых рук.
    • C# 6.0 in a Nutshell, Joseph Albahari, Ben Albahari (русский перевод предыдущей версии:C# 5.0. Справочник. Полное описание языка, Джозеф Албахари, Бен Албахари). Отличная книга, затрагивает многие аспекты, расставляет по местам ваши знания о предмете. Сводит разрозненные отрывочные знания в общую понятную картину, объясняет, какими средствами нужно пользоваться, а для чего есть уже более хорошие подходы. Есть online-глава о многопоточности (русский частичный перевод), почитайте!
    • Essential C# 5.0, Mark Michaelis в сооавторстве с Эриком Липпертом. Хорошая книга для программистов, желающих овладеть C#. Знания других языков, перед чтением, приветствуются. От Эрика Липперта в книге представлены продвинутые советы, которые встречаются на протяжении всей книги.
    • Effective C# и More Effective C#, Bill Wagner. О том, как надо и как не надо программировать на C#. Разбираются отдельные аспекты программирования, способствует углублению понимания языка.
    • Programming C# 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework, Ian Griffiths. (Русского перевода пока нет.) Очень детальная, подробная книга, в которой найдутся ответы на продвинутые вопросы.

    Книги для специалистов: внутренние механизмы и пыльные углы

    • C# in Depth, Jon Skeet, Third Edition (русский перевод: C#. Программирование для профессионалов, Джон Скит, пока переведено лишь второе издание). Имя автораговорит само за себя. Джон один из лучших людей, которые умеют доходчиво объяснять сложные вещи.
    • C# 5 Unleashed, Барт де Смет. Фундаментальная книга.
    • Debugging Microsoft .NET 2.0 Applications, John Robbins (русский перевод: Отладка приложений для Microsoft .NET, Джон Роббинс). Основы промышленной отладки: WinDbg/SOS, дампы памяти и решение проблем в приложениях (почти) без Visual Studio.
    • Under the Hood of .NET Memory Management, Chris Farrell, Nick Harrison. Полное описание всех тонкостей управления памятью в платформе .NET. Книга доступнабесплатно на английском.
    • Expert .NET 2.0 IL Assembler, Serge Lidin. В книге представлены ответы почти на все тонкости низкоуровневого программирования на .NET, а именно на языке IL. В книге описаны детали .NET Framework 2.0, по этому на данный момент какие то аспекты могут быть не актуальны.
    • Оптимизация приложений на платформе .NET с использованием языка C#, Саша Голдштейн, Дима Зурбалев, Идо Флатов (Переводчик: Александр Киселев). В книге рассматривается моменты .NET с точки зрения производительности. Рассказывается об способах замеров и шаблонах оптимизации. Также там рассматриваются вопросы, связанные с GC и небезопасным кодом.

    Дополнительные ресурсы:

    • Официальная спецификация C# 5
    • Framework Design Guidelines. Руководства и соглашения по проектированию многократно используемого кода. Является выдержкой из одноимённой книги, Krzysztof Cwalina, Brad Abrams. Книга переведена на русский под названием Инфраструктура программных проектов, Кржиштоф Цвалина, Брэд Абрамс.

    Литература по асинхронному программированию и многопоточности

    • Concurrent Programming on Windows, Joe Duffy. Профессиональное использование многопоточности в инфраструктуре .NET от одного из лучших мировых специалистов по многопоточности. В книги описаны тонкости использования как stream'oв так и thread'ов. Раскрыто, как и когда использовать Concurrent-, Parallel- и Asynchronous-модели. Примеры в книге присутствуют от достаточно низкоуровневых (с использованием системных потоков через WinAPI) до высокоуровневых Task'ов и PLINQ. Книга написана под .NET Framework 4.0, поэтому работа с ключевыми словами async/await в книгу не вошла.
    • Concurrency in C# Cookbook, Stephen Cleary. (Русского перевода пока нет.) Очень толковое разъяснение современных паттернов использования многопоточности, особое внимание уделено использованию конструкции async/await. Обсуждается решение типичных проблем, решаемых асинхронным кодом. Отдельно описывается работа с Reactive Extensions и TPL Dataflow.

    Литература по WPF
    • Pro WPF 4.5 in C#: Windows Presentation Foundation in .NET 4.5, Matthew MacDonald (русский перевод: WPF: Windows Presentation Foundation в .NET 4.5 с примерами на C# 5.0 для профессионалов, Мэтью Макдональд). Разбор XAML'а, лаконичные, но полезные примеры. Пристальное, но не навязчивое внимание к деталям.
    • Windows Presentation Foundation Unleashed, Adam Nathan. Наверное, лучшая книга для новичка.
    • Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation, Чарльз Петцольд. Фундаментальная книга великолепного специалиста. Написана довольно тяжело, много листингов, плотный поток информации

    Литература по ASP.NET
    • Pro ASP.NET MVC 5, Adam Freeman (русский перевод: ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов, Адам Фримен). Поэтапное написание веб-приложения с рассмотрением большинства важных аспектов разработки приложения: паттерн MVC, юнит-тестирование, инверсия зависимостей и т. п.
    • Pro ASP.NET 4.5 in C#, Adam Freeman (русский перевод: ASP.NET 4.5 с примерами на C# 5.0 для профессионалов, Адам Фримен).
    • Professional ASP.NET MVC 5, Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen
    • Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC, Jess Chadwick, Todd Snyder, Hrusikesh Panda (русский перевод: ASP.NET MVC 4. Разработка реальных веб-приложений с помощью ASP.NET MVC, Джесс Чедвик, Хришикеш Панда, Тодд Снайдер).
    • ASP.NET MVC Framework, Гайдар Магдануров, Владимир Юнев
    • Pro ASP.NET MVC 2 Framework, Steven Sanderson (русский перевод: ASP.NET MVC Framework с примерами на C# для профессионалов, Стивен Сандерсон)
    Дополнительные ресурсы:
    • Get Started with ASP.NET от Microsoft
    • Видеокурсы на intuit.ru: Разработка веб-приложений на ASP.NET, Разработка веб-приложений с использованием ASP.NET MVC Framework.

    Литература по LINQ
    • Pro LINQ: Language Integrated Query in C# 2010, Joseph Rattz, Adam Freeman (русский перевод: LINQ. Язык интегрированных запросов в C# 2010 для профессионалов, Адам Фримен, Джозеф С. Раттц). Учебно-справочное пособие, в котором понятно и подробно описаны возможности языка LINQ. Хороша для старта.
    • LINQ Pocket Reference, Joseph Albahari, Ben Albahari (русский перевод: LINQ. Карманный справочник, Джозеф Албахари, Бен Албахари). Хороший справочник по всему, что относится к LINQ. Рассмотрены новые конструкции C# для поддержки LINQ. Много примеров.
    • C# in Depth, Jon Skeet (русский перевод: C#. Программирование для профессионалов, Джон Скит). Немалая часть книги посвящена тому, как работает LINQ.

    Литература по принципам, шаблонам и методикам разработки
    • Внедрение зависимостей в .NET, Марк Симан. Несложно написанная книга про управление зависимостями в приложениях.
    • Принципы, паттерны и методики гибкой разработки на языке C#, Роберт С. Мартин, Мика Мартин

    Литература по Windows Workflow Foundation
    • Essential Windows Workflow Foundation, Dharma Shukla, Bob Schmidt (русский перевод:Основы Windows Workflow Foundation, Дхарма Шукла, Боб Шмидт). Для тех, кого заинтересовала 26 глава («Введение в Windows Workflow Foundation») из книги Эндрю Троелсена Язык программирования C# 5.0 и платформа .NET 4.5.
    • Pro WF 4.5, Bayer White (русской версии нет). Более углубленный взгляд на WF.

    Литература по XML
    • XML.NET, Джо Грей, Динар Дальви, Бипин Джоши, Фредрик Нормен, Фрэнсис Нортон, Энди Ольсен, Дж. Майкл Палермо IV, Даршан Сингх, Джон Слэйтер, Кевин Уильямс (Переводчик: И. Штерев). В книги содержится всё про применение XML в .NET за исключением LINQ. Старовата уже, но зато там есть объяснение, как внедрить свои функции на C# в XSLT.

    Литература по ADO.NET
    • Основы ADO.NET, Боб Бошемин (Переводчики: О.А. Лещинский, А.В. Журавлев, Н.Н. Селина)

    Литература по .NET Remoting / WCF
    • Microsoft .NET Remoting, Скотт Маклин, Джеймс Нафтел, Ким Уильямс
    • Создание служб WCF, Джувел Леве (Переводчики: Е. Матвеев, А. Пасечник)

    Литература по безопасности
    • Криптография и безопасность в технологии .NET, Питер Торстейнсон, Гнана Ганеш (Переводчик: В. Хорев). Книга дает представление .NET разработчику о реализации и применении криптографии, цифровой подписи, аутентификации, авторизации и доступа к коду (CAS). В ней описывается, что такое симметричное и асимметричное шифрование, что представляют собой цифровые подписи и как их использовать в .NET приложениях.
    • Microsoft ASP.NET. Обеспечение безопасности, Доминик Байер. Не смотря на то, что в названии указано ASP.NET в книге рассматриваются технологии безопасности под Windows, применимые из .NET для всех типов приложений. Это аутентификация, авторизация, олицетворение и Membership.
    Ответ написан
    5 комментариев
  • Законно ли использование GOip (GSM-шлюзов)?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Очень интересно решение и законное?

    Для собственных целей вполне законное - технически опсосу пофиг кто на том конце сидит менеджер с айфоном или с гоипом
    А вот сдавать номера в аренду могут только опсосы с лицензией связи.
    Здесь единственный вариант - это как сказал Drno ставить гоип и комп с астериском на офисе клиета и продавать им это дело как оборудование+по+сопровождение и чтобы симки были их
    Ответ написан
    Комментировать
  • Почему unreal engine сложнее unity?

    ZhenyaMak
    @ZhenyaMak
    Писать качественный софт? Пфф, это не для меня.
    Blueprint сомнительная идея, нормальные разработчики будут писать игру на реальном языке, поэтому и пишут в основе на C++ ( из за этого уже сложнее).
    Интерфейс там ещё сложнее чем в Unity.
    Ответ написан
    2 комментария
  • По какому принципу разбивается http запрос/ответ?

    @Dementor
    программист, архитектор, аналитик
    Детальный ответ на твой вопрос с примерами:
    https://datatracker.ietf.org/doc/html/rfc9110
    Ответ написан
    Комментировать
  • По какому принципу разбивается http запрос/ответ?

    @Everything_is_bad
    Из чего состоят http запросы и как правильно читать запросы и писать ответы, по какому принципу или структура их надо разбирать и собирать?
    так есть же описание протокола HTTP, открывай, да изучай.

    И вообще, зачем тебе это делать, зачем работать на таком низком уровне, особенно если опыта вообще нет? есть куча готовых решений, если очень хочется увидеть как это парсят, так же открывай, да читай их исходный код.
    Ответ написан
    Комментировать
  • Где хранится информация и откуда её берет нейросеть для ответа?

    Vindicar
    @Vindicar
    RTFM!
    Окей, если объяснить на пальцах, то есть два варианта.
    1. Собственные знания модели. Большие языковые модели, по сути, умеют только одно: предсказывать следующее слово по набору предыдущих. Почти все остальные задачи сводятся к этому. Так что веса модели - это описание офигительно сложной функции, которая описывает взаимосвязь между предшествующим набором слов и последующим словом. Все "знания" модели, таким образом, сводятся к ответу на вопрос "какое слово будет дальше с наибольшей вероятностью?" Отсюда вытекают и слабые стороны языковых моделей - они не понимают, что пишут, они просто пишут "по аналогии".
    2. Retrieval Augmented Generation. Грубо говоря, в распоряжении модели есть база текстов, где каждому фрагменту сопоставлено некоторое описание его смысла. Модель использует такое же представление смысла слов в запросе, чтобы найти подходящие по смыслу фрагменты. Найдя эти фрагменты, модель строит ответ уже на основании фрагментов И запроса. Это не требует переобучения модели для добавления новых знаний, как в первом случае. Но будут проблемы, если фрагменты слишком длинные или их слишком много.
    Ответ написан
    Комментировать
  • Где можно применить hexagonal architecture?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Чистая архитектура - это просто идея, а не готовая архитектура. Гексагональная - частный случай чистой.
    В блоге Роберта Мартина первыми строками идет:
    Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems. These include:

    Hexagonal Architecture (a.k.a. Ports and Adapters) by Alistair Cockburn and adopted by Steve Freeman, and Nat Pryce in their wonderful book Growing Object Oriented Software
    Onion Architecture by Jeffrey Palermo
    Screaming Architecture from a blog of mine last year
    DCI from James Coplien, and Trygve Reenskaug.
    BCE by Ivar Jacobson from his book Object Oriented Software Engineering: A Use-Case Driven Approach
    Ответ написан
    1 комментарий
  • Как убрать уведомление 'Опасный сайт'?

    @Refguser
    Решения для бизнеса: корп.сайты, ИМ и пр.
    Выкинь это домен. Он в блеклистах. Запаришься вытаскивать.

    Но если сильно хочешь - можешь и заняться. Возможно через годик-другой и вытянешь :)
    Ответ написан
    Комментировать
  • Есть ли смысл делать SPA на ванильном JS?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Прежде всего стоит перестать воспринимать обучение, как трату времени. Практика с ванильным js даст базу для понимания зачем тот же React вообще нужен и как он работает под капотом.
    Ответ написан
    2 комментария
  • Как улучшить код?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Улучшить можно по разным направлениям.
    • С одной стороны, новые версии python предоставляют новые возможности, которые могут позволить сделать код плотнее и аккуратнее, к примеру заменить гирлянды if/elif на match/case.
    • С другой стороны, можно доработать надежность программы, обработав крайние случаи, потенциальные ошибки и др.
    • С третьей стороны - рефакторинг по подобным друг другу фрагментам, где делается практически одно и то же, к примеру функции про рестарт практически однотипны и можно свести к одной функции с набором параметров.
    • А можно рефакторить еще глубже, сделать класс типовых приложений, обладающий типовыми методами, от него наследовать каждое приложение вашей программы, ну и всё вот это вот ООП и т.п.
    • Можно все текстовые строки вынести в файл статики и оттуда подтягивать, и если хорошенько подумать, то еще и сделать возможность выбора языка.
    • А еще обвешать всё юнит-тестами.

    Да мало ли…
    Глубоко не вчитывался, но есть над чем поработать.
    Ответ написан
    1 комментарий