Задать вопрос
  • Как создатется сайт безопасных сделок?

    Sanes
    @Sanes
    Готовых CMS нет и быть не может. Это сложная и дорогая бизнес-схема и разрабатывается индивидуально.
    Точнее CMS есть, но они вряд ли вам подойдут без существенной доработки. Например CS Cart Multivendor.
    Ответ написан
    2 комментария
  • Где взглянуть на C# проект с "эталонной" архитектурой?

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

    Всегда можно к чему-то придраться.
    Качество архитектуры можно понять только в динамике - легко ли вносить изменения в продукт, или сложно.
    А так есть eShopOnWeb и eShopOnContainers
    Ответ написан
    Комментировать
  • Считается ли только создание API достаточным пет проектом для демонстрации своих навыков в бэкенд разработке в резюме?

    @mletov
    API API рознь.

    Если один контроллер и 3 экшена, в которые засунута вся логика - то никому не интересно, даже с навыками фронта.

    А вот если API сделано:

    - с использованием ООП и паттернов
    - многоуровневой архитектурой
    - SQL запросами, которые сложнее просто SELECT
    - авторизацией, проверкой прав на рутинги, JWT
    - асинхронностью
    - Swagger

    то хватит более чем, возьмут и без знания фронта или по крайней мере с минимальным знанием (например, bootstrap + jquery).

    А если еще всяких рэббитов, монги и сфинкса для кучи сверху навернуть и тестами покрыть, то вообще с руками оторвут.

    Так то бэкенды в основном API и пишут, но важно в первую очередь качество исполнения, степень сложности решенной задачи, а также желательно показать разнообразие инструментов, технологий и подходов, которыми владеете.
    Ответ написан
    2 комментария
  • Как правильнее сравнить на практике языки программирования, чтобы понять, какой изучать?

    Griboks
    @Griboks Куратор тега C#
    Изучать нужно С#.

    Если в какой - то момент вы почувствуете, что упускаете какие-нибудь фишки, то вы сможете их загуглить и убедиться, что это не так.
    Ответ написан
    4 комментария
  • Как "починить" проводник в windows 10?

    @kalapanga
    Вопрос такой уже здесь был, возможно уже и не один раз. Поищите, какие там были решения.
    Я советовал проверить контекстное меню Windows (для этого можно специализированные утилиты найти).
    Был подобный эффект при "битых" пунктах меню. Случайно при каких-нибудь сбоях образовавшихся или, например, оставшихся после некорректного удаления программ, или просто корявых программ, при удалении не убирающих за собой мусор.
    Ответ написан
    2 комментария
  • Запуск своей программы вместо графической оболочки в Linux?

    @rPman
    Например
    1. отключаешь display manager - lightdm (или что у тебя там для меню авторизации и выбора DE)
    2. минимум что необходимо для работы графического режима - это xserver, для его запуска достаточно запустить утилиту X (кстати кажется до сих пор требует root), будет запущен графический сервер без Desktop Environment, но нужно понимать что DE отвечает за управление окнами, а точнее управление их размерами, положением на экране и вообще сокрытие/минимизация. Т.е. без этого, если твое приложение ожидает что пользователь будет перемещать его окна (а это к примеру диалоговое окно открытия/сохранения файлов) то он уже это сделать не сможет, все окна будут без заголовков и бордюра для изменения их размеров.
    И кстати, чтобы графическое приложение запустилось и отображалось на X нужно устанавливать переменную окружения DISPLAY, значение смотреть либо в конфиге X либо в логах (скорее всего будет что то типа :0, это имя сервера и номер xserver, запущенного на нем, напоминаю, что linux из коробки умеет multiseat)
    3. чтобы появился хоть какой то интерфейс взаимодействия, нужно установить DE, из минималистичных, идеальных для kiosk mode - я бы рекомендовал awesome, в нем к примеру можно настроить чтобы все открываемые окна сразу разворачивались на весь экран.

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

    Из минималистичных и вполне функциональных DE можно предложить еще какой-нибудь openbox, его можно настроить так чтобы вообще никаких 'пуск' и списка задач не было, а только иконки и приложение на весь экран. Но пользователь сможет добраться до редактирования меню и запустить любое приложение, т.е. это не для kiosk mode

    Чтобы запустить xserver с DE автоматически можно либо настроить автозагрузку в lightdm (это правильно) либо просто запускать утилиту startx, которая смотрит в пользовательском каталоге .xinitrc и запускает DE от туда.

    На самом деле процесс запуска DE стал очень замудреный, его запутали несколько поколений разработчиков и выпутывать не желают, но обычно все это критично для тяжелых DE типа KDE, а что то простое и легкое с приложениями на gtk работает и так

    Собственно как запускать приложения автоматически при включении компьютера тоже вопрос очень интересный, способов много, минимум три могу предложить
    * правильный - настроить службу и прописать ей зависимости и автозапуск,
    * так же до сих пор есть устаревший способ настройки службы без зависимостей sysvinit - /etc/init.d
    * ну еще есть /etc/rc.local
    Ответ написан
    1 комментарий
  • Надо ли знать C# разработчику javascript?

    Вроде недавно несколько раз задавали такой вопрос.

    Если будешь делать фронтенд, то js тебе понадобится в любом случае.

    Сам по себе в чистом виде асп нет к фронтенду отношения не имеет, но у него есть расширения в виде Blazor и MVC, которые как раз отвечают за фронт.

    ИМХО: тут идеально подходит поговорка "волков бояться - в лес не ходить".
    Сейчас практически все продукты так или иначе связаны с интернетом, а значит с сайтами и js.

    Сам по себе JavaScript очень простой язык и его бояться не следует, особенно если говорить про TypeScript.

    Если вот принципиально не хочешь писать на js, а хочешь писать только на C#, то обрати внимание на геймдев с Unity и десктопную/мобильную разработку с WPF, Winforms, Xamarin, MAUI, UNO, Avalonia
    Ответ написан
    4 комментария
  • Как сделать интернет для компьютерного клуба?

    katelin1106
    @katelin1106
    Сетевой инженер MikroTik
    Сеть в клубах клиентам настраиваю часто.

    Для Вашего случая вполне подойдёт любой неуправляемый коммутатор TP-Link на 16 портов (если не потребуется ещё, скажем, видеонаблюдение делать), а в качестве роутера - hEX либо hAP ac2. На скоростях до 100 Мбит/с выдержит большое количество очередей (о них позже).
    Сами эти роутеры вывозят реальную скорость до гигабита, но не в случае очередей трафика.
    Если скорость уже 200-300 Мбит/с, то лучше выбирать RB4011, он помощнее.

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

    Теперь про очереди. В онлайн-играх важно, чтобы игровой трафик получал приоритет. При игре по локальной сети обычно никаких проблем не бывает, но при игре с игроком за пределами клуба можем столкнуться с проблемой потерь пакетов в случае загруженного канала. Решаю обычно следующим образом - выделяем несколько типов трафика:
    1. Игровой - в него входит собственно игровой трафик, голосовой трафик, и icmp запрос-ответ (в народе - пинг). Обычно не более 2-3 Мбит/с в сумме.
    2. Трафик обновления игр (когда при запуске клиент хочет обновиться).
    3. Всё остальное, что не вошло в два предыдущие - веб-серфинг, обновление Windows, прочее.
    4. Трафик от гостевого Wi-Fi.

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

    Получается два дерева очередей - на загрузку и на выгрузку.

    Ещё пара слов про коммутаторы. В данном случае не вижу смысла брать ни CRS326, ни CSS326, они оба избыточны в данном кейсе. Если же есть желание получать подробную информацию о трафике на каждом порту, то, конечно, предпочтение за CRS326. Если такого желания нет, то достаточно тупого 16-портового надёжного коммутатора.
    Ответ написан
    1 комментарий
  • От чего компьютер решил просыпаться?

    Varikorek
    @Varikorek
    Python разработчик ботов, и Java Mobile Dev.
    выспался))
    Ответ написан
    Комментировать
  • От чего компьютер решил просыпаться?

    profesor08
    @profesor08
    Дернул мышь, нажал кнопку, пришел пакет на сетевую карту. В настройках энергосбережения выключи триггеры и в биосе.
    Ответ написан
  • Какие плюсы с перехода на react c vue?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Я предложу вашей фирме хард аудитинг и порку вашего архитектора.
    что вью что реакт дают все тоже самое
    Ответ написан
    2 комментария
  • Какие плюсы с перехода на react c vue?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Перейдя на реакт вы будете страдать. Реакт - это тупо даунгрейд. Всё то же самое, но хуже и местами отсутствует. Есть ли в нём хоть какие-то преимущества перед vue? Не знаю таких.
    Что за проблемы у вас с библиотеками?
    Ответ написан
    2 комментария
  • Где посмотреть идеи для проекта OpenSource?

    @Kirill-Gorelov
    С ума с IT
    Идешь на фриланс биржу, любую.

    Смотришь, что люди заказывают из ПО.
    И делаешь это ПО открытым.

    Профит.
    Ответ написан
    5 комментариев
  • Информационная архитектура веб-сайта. Чем она полезна?

    hahenty
    @hahenty
    ('•')
    Чтобы проникновение информации с сайта в мозг происходило с меньшим сопротивлением.
    Ответ написан
    Комментировать
  • Function Scope vs Block Scope?

    @alekcena
    Нелинейный наставник
    Эта штука работает вместе с старым объявлением переменной.
    function test(){
    // Работаем в области функции нет разницы
    var a = 10; // console.log(a)  - 10
    let b = 10; // console.log(b)  - 10
    // var в блоке можно получить из вне.
    for(var c = 0;c < 2; c++){}
    console.log(c) // console.log(c) - 2
    for(let d = 0;d<1;d++){}
    console.log(d) // console.log(d) - ошибка нет такой переменной
    }

    use strict - директива включающая новые правила для написания правильного кода. Чтобы человек меньше себе стрелял в ногу тем что переменная из цикла могла существовать на глобальном уровне.
    Там если ошибка то сразу по ручкам.
    Пример:

    //Обычный js:
    function test(){
    magic = 10;}
    test();
    console.log(magic) // 10
    //С use strict:
    function test(){
    magic = 10;}
    test();
    console.log(magic) // magic is not defined


    P.S:
    Если можете то просто посмотрите как писать с use strict ) И не вспоминайте как можно работать без него
    Ответ написан
    Комментировать
  • Как скомпилировать проект на C# в один .exe файл?

    Single File Application - фича современных дотнетов со времён .net Core 3
    Буквально при помощи одной опции в файле проекта или одной строкой в консоли собирает ваш проект в единый екзешник, в который ещё может быть опционально встроен рантайм.
    Вот пример csproj:
    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net6.0</TargetFramework>
        <Nullable>enable</Nullable>
      </PropertyGroup>
    
      <PropertyGroup>
        <!-- Вот это самое главное -->
        <PublishSingleFile>true</PublishSingleFile>
        <!-- Это чтобы тащить за собой рантайм До .NET 6 будут рядом лежать нативные библиотеки jit-а и сборщика мусора-->
        <SelfContained>true</SelfContained>
        <!-- Это необходимо, чтобы сборщик понимал, для какой ОС нужен экзешник -->
        <RuntimeIdentifier>win-x64</RuntimeIdentifier>
        <!-- Это чтобы ускорить запуск -->
        <PublishReadyToRun>true</PublishReadyToRun>
        <!-- Эти две строки, чтобы уменьшить размер бинарника -->
        <PublishTrimmed>true</PublishTrimmed>
        <TrimMode>link</TrimMode>
      </PropertyGroup>
    </Project>

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

    Для старых версий дотнета есть ILMerge и Costura.Fody, но в .net 5+ они не нужны, и я крайне советую использовать именно .NET 8, тк он сейчас самый актуальный
    Ответ написан
  • Почему Линус не любит C++?

    mejedi
    @mejedi
    Проблема не в качестве языка, а в качестве программистов.

    Не любят вот почему:
    1) Сферический C++ программист не знает структур данных — за него все делает STL.
    2) Сферический C++ программист беззаботно выделяет память.
    3) Программа сферического C++ программиста не работает без буста.
    4) Сферический C++ программист делает простые вещи сложно.
    Ответ написан
    6 комментариев
  • Почему Линус не любит C++?

    @lesha_penguin
    <Мысль_вслух>Если существует специальный «ад для говнокодеров», то наверняка, одним из самых жестких наказаний в нем была бы отладка того говнокода, который, который в С++ получается по принципу «делается более просто и изящно».</Мысль_вслух>

    Если начинать «от сотворения мира»:

    1) Как известно C++ был был придуман Страуструпом, мы не будем умалять его «ученные регалии» (ученных-то наград куча, но они по сути единственное чего «добился человек», кстати, 90% прямо или косвенно за c++). Однако, заметим, что Страуструп — как раз есть пример «чистого теоретика» (в отличии от «практика»-Торвальдса), т.е. является человеком за свою жизнь не принимавшим участия в разработке ни одного серьезного реального программного проекта. По сути компилятор c++ — единственное более-менее практическое дело в его жизни. Соотвественно о том с какими проблемами приходится сталкиваться в реальном «software development-е» с «высоты его ООП-теорий» он имеет весьма посредственное представление.

    2) Как верно заметили, в упомянутой статье, изначально это был как раз «Це с классами», т.е. изначально НЕ БОЛЕЕ ЧЕМ «академическая» попытка навернуть на C отдельные элементы «обьектности» (типа, Smalltalk обьектный, а давайте попробуем сделать такое на более низком уровне). Кстати, могу Вам сказать, что с C++ я впервые познакомился в 80-90е годы, когда языком «ученной среды» был Фортран, языком «системщиков» Си, а для обучения «всех непрофильных специальностей» основам программирования использовались Basic и Pascal. Да, но правда «тогдашний C++ 80» отличался от нынешнего — он реально производил впечатление «просто прикольной поделки» (на память помню, что например, тогда не было и половины привычного функционала например таких вещей как всяких «reinterpret_cast-ов» или namespac-ов.). Кстати, да… барабанная дробь… НЕ БЫЛО STL!!!

    3) Наверное Страуструповский «Це с классами», наверное так бы и остался в списке «прикольных поделок» в аналах истории, если бы не одно обстоятельство: «ВНЕЗАПНО» произошел «софтверный бум», соотвественно: a) «элитных» «олдскульных» программистов стало резко не хватать b) «требования к качеству софта» резко упали c) понадобилось средство для генерации достаточно низкоуровневого «говнокода в промышленных масштабах». И как ни странно, (ага, угадали, именно с появлением в C++ STL-я) C++ так и не избавившись от своих «академических болячек» был брошен в пучину «мейнстрима».

    4) Вам говорят истинную правду, когда говорят, что «C++» это маркетинговое название для «Це с классами». Да, это так. И можно сказать, к великому сожалению, он нашел свою рыночную нишу. (Сейчас любой дурак может легко «освоить C++ за 21 день (с бустом и стлем)», при этом не умея даже внятно ответить на простой вопрос «Если ты такой умный, обьясни тогда почему, c$k@, у тебя программа течет по памяти и падает», (про такие «неполиткорректные вопросы», как «зачем писать 100 строк на то, что пишется в две-три», мы вообще тактично молчим, а то, мало ли, может у человека «сдельная зарплата» за количество строк ;) ), зато с видом крутого Беара Грилса можно обсуждать такие «высокие материи» как «Паттерны» и «чистый ООП»).

    5) И к самому большему сожалению, в некоторых случаях альтернативы нет. Да, Я еще не встречал ни одного программиста, который в действительно реальной разработке софта активно использовал бы C++ и при этом от него бы не плевался. У C++ есть «Огромный ПЛЮС» — Его Мультипарадигменность! По-сути это его единственный плюс, позволяющий «не уйти в дебри» (типа попыток запихнуть «main()» в обьект только ради «идеи чистого ООП»)!

    6) А теперь, после такого «исторического» вступления еще раз перечистайте внимательно письмо Торвальдса, высказывание человека который лучше многих «теоретиков чистого ООП» знает как это оно «на собственной шкуре» разрабатывать сложные системы, и комментарии от хабраюзеров, которые «на живой практике» знают «почем фунт лиха» в топике. Под большинством утверждений я лично бы поставил свою подпись золотыми буквами.
    Ответ написан
    5 комментариев
  • Наткнулся на проекты Arduino и они мне безумно понравились, на нем можно создать что душа пожелает?

    Jump
    @Jump
    Системный администратор со стажем.
    Можно.
    Но все несколько сложней.
    Ардуино хороший конструктор для начинающих, так чисто для себя сделать побыстрому.
    Но готовое изделие на ардуино в серию не запустишь, оно будет очень дорогим и громоздким.
    Поэтому - берите ардуино, разбирайтесь и творите.
    А захочется запустить в продажу - готовый проект на ардуино будет не так уж сложно переписать под нормальное железо.
    Ответ написан
    3 комментария