Задать вопрос
  • Как преобразовать List в строку?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Зачем нам весь ваш код?

    Вот небольшой метод для решения вашей задачи:

    public string ListConcat(ICollection<Player> players)
    {
         string list = string.Empty;
         foreach (Player player in players)
              list += player.Name;
    }


    А вообще посмотрите в сторону метода string.Concat
    Ответ написан
    5 комментариев
  • Как программировать на машинных кодах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У меня есть идея, создать свой диалект ассемблера с простым синтаксисом, что бы на нем мог программировать любой человек, не проигрывая в скорости.

    Это очень наивная идея. Она была работоспособной в XX веке, когда система команд была простая и процессоры
    были однопоточные и без кешей и конвейеров и микро-кода (КР580, Z80...)

    Современный компиллятор знает больше чем обычный человек-разработчик. И очень мало людей в мире
    в состоянии писать машинный код думая одновременно
    1) О состоянии кешей
    2) О состоянии всех регистров
    3) О микрокоде и о загрузке конвейеров
    4) Об таймингах mmx, sse, avr командах и сравнивать их на ходу по скорости исполнения
    5) О прогнозировании переходов

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

    Обычный кейс - надо писать код.
    Надо писать МНОГО кода.
    Надо не делать ошибок.
    Надо гарантировать хорошую производительность этого кода.
    Ответ написан
    Комментировать
  • Как «правильно» перенести файловое хранилище?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Любой способ, переносящий данные и права доступа. Можно и Dfs и копирование с помощью robocopy
    Ответ написан
    Комментировать
  • Какие простые, "бытовые" задачи подходят для изучения машинного обучения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Машинное обучение (ML) это над-множество задач типа классификация, регрессия, кластеризация
    и детектирование аномалий.
    В последнее время очень часто идет подмена понятий и вместо ML
    задач все время подсовывают нейронные сети, хотя они закрывают некое под-множество этих
    же задач.

    Вы совершенно правильно ставите вопрос говоря
    Но зачем мне инструмент машинное обучение если я и сам могу сравнить все исходные массивы, и найти тот, что совпадает?


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

    Сама по себе идея например применять нейронные сети не плоха, но с точки зрения экономического расчета
    может быть полностью провальной ведь для хорошей НС - вам надо купить хостинг у гугла с процессорами
    тензоров например
    . А зачем это делать если вы и так решаете вашу задачу просто линейной логикой
    (набором if-else)?
    Ответ написан
    3 комментария
  • Как наработать навык декомпозиции задач?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Программирование - это как плаванье. Ты сколько книжек не читай - все равно программистом не станешь.
    Ты просто должен сесть и начать программировать. Прыгнуть в воду и плыть.

    По поводу декомпозиции. Обычно такой вопрос возникает когда кода много или когда задача большая.
    Эта декомпозиция идет параллельно со знанием таких частей ООП как Single-Responsibility, и структурных
    шаблонов проектирования
    . Начни это применять и декомпозиция сама собой пойдет.

    Чаще заказывай code-review своего кода и слушай советы старших коллег. Даже если обидно и стыдно.
    Слушай. Записывай и потом применяй.

    По поводу Алгоритмов и Структур данных. Почитай Никлауса Вирта. Он как раз такую книгу и написал.
    Ответ написан
    Комментировать
  • Как наработать навык декомпозиции задач?

    yesbro
    @yesbro
    Думаю, помогаю думать
    С декомпозицией все просто. Для начала берешь любую задачу из жизни и думаешь какие шаги нужно сделать что бы ее решить. Когда это станет просто, то переходишь к программированию. Лучше всего взять какой-то готовый небольшой проект и сам себе ставишь задачи, сначала очень простые(!!!), потом сложнее(добавить метод, добавить что-то еще, изменить логику и прочее). Не начинаешь программировать пока по шагам не напишешь себе что надо делать. В процессе разработки смотришь насколько твой план расходится с реальностью. Запоминаешь, учитываешь в следующий раз.

    Для получения навыка решения алгоритмических задач есть куча соответствующих сайтов - начинаешь с самых простых уровней.

    Для развития логического мышления изучи формальную логику и так же решай задачи.
    Ответ написан
    Комментировать
  • Как наработать навык декомпозиции задач?

    GavriKos
    @GavriKos
    Мне кажется, этот навык приобретается как раз в ходе изучения программирования. Когда начинаешь реально с основ и мелочей. Но - надо понимать, что не факт что у вас это в принципе получится. Я например рисовать не умею, и какую литературу я бы не читал - просто это не мое и все.

    А что сейчас за должность, раз не разработчик?
    Ответ написан
    5 комментариев
  • Можете посоветовать сервис (CRM?) где есть удобный календарь на день?

    Sanes
    @Sanes
    Удобство, вещь субъективная. Смотрите всё подряд или пишите свой велосипед. Всё равно этими календарями никто не пользуется. А если пользуются, то в очень упрощенном режиме.
    Ответ написан
    Комментировать
  • Как сделать шлюз для изолированой сети?

    @Stariyded
    Сетевой админ
    А просто запретить трафик из 10.10.11.0/24 в 192.168.0.0/24 до НАТа пробовали?
    sudo iptables -A FORWARD -s 10.10.11.0/24 -d 192.168.0.0/24 -j DROP
    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    Еще можно в маскараде указать -d !192.168.0.0/25
    Ответ написан
    Комментировать
  • Как сделать шлюз для изолированой сети?

    @root31337
    Почему нельзя поназначать vlanы? Можно использовать какой нибудь программный шлюз типа idecoUTM. У меня на proxmox виртуалки, на нем же можно и шлюз.
    Ответ написан
    Комментировать
  • Как отслеживать и выводить обновления базы данных?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    1. Здесь, скорее всего нужны триггеры. На SO есть похожий вопрос - https://stackoverflow.com/questions/26418412/how-t...
    2. В данном случае, тебе нужно использовать больше чем 1 СУБД. Предлагаю такой вариант:
    - MySQL - для хранения всех сообщений
    - Redis - для очереди событий

    Алгоритм такой:
    1. Кто-то отправляет сообщение
    2. Сохраняешь сообщение в БД
    3. Публикуешь событие "сообщение добавлено"
    4. Все подписавшиеся отправляют это сообщение своим клиентам

    Получение истории - при первом подключении (это уже SELECT)

    Т.е. тут без активного опроса.
    P.S. если сервер только 1, то и какая-нибудь inmemory очередь сообщений сойдет.

    3. SignalR твою проблему не решит - это просто фреймворк поверх вебсокета (рекомендую использовать его, т.к. облегчает многие задачи). Твоя проблема кроется скорее в слое хранения, т.к. mysql (как и любая другая реляционная СУБД) плохо заточена под event-driven архитектуру, скорее запрос-ответ.
    Ответ написан
    1 комментарий
  • Какие есть способы хранения вебсокет соединений?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сокеты невозможно сериализовать. Придумай другую термиологию или другую идею.

    Возможно ты хотел что-то другое?
    Ответ написан
    2 комментария
  • Какой браузер выбрать для максимальной анонимности и приватности?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Виртуалка. Можно поставить какие угодно данные.
    Ответ написан
    Комментировать
  • Как восстановить Telegram?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Никак.

    Когда Вы регились с виртуала, Вы осознавали риски, что в случае необходимости восстановления данной учетки Вы не сможете это сделать, так как номер одноразовый. Ну вот, этот случай наступил :)
    Ответ написан
    Комментировать
  • Как восстановить Telegram?

    @Drno
    Нужен доступ к номеру телефона… так что - никак
    Ответ написан
    3 комментария
  • Как проверять класс на null?

    public async Task<Country?> GetCountry(string countryCode, CancellationToken cancellationToken)
    {
        var countries = await SearchCountries("en-gb", cancellationToken);
        var country = countries.Value?.FirstOrDefault(x => string.Equals(x.Code, countryCode));
        return country; // всё ок - теперь типы сходятся.
    }
    Ответ написан
    Комментировать
  • Где можно получить полную (хотя бы продолжительную и непрерывную) историю цен на крипту?

    @maksam07
    https://github.com/ccxt/ccxt
    Библиотека по работе с сотней бирж для нескольких языков программирования. Имеет примерно один интерфейс работы со всеми биржами. Можете написать скрипт, который будет выводить нужную для вас информацию для одной биржи, и если там не будет нужной информации, то с легкостью переключаетесь на другую биржу. И так можно опробовать столько бирж, пока результат вас не устроит.
    Ответ написан
    2 комментария
  • Как прервать поток c#?

    Это вообще правильно?

    Да, это правильно и это по сути единственный адекватный способ отмены долгоиграющих операций.
    Когда-то давно у потоков был метод Abort, но его удалили, тк его использование очень часто приводило к неприятным багам.
    Ну и пихать проверку cancellation token повсюду не обязательно.
    Поток вызывает 1 функцию библиотечную неуправляемого кода, как ее прервать?

    Безопасно - никак, если эта неуправляемая функция не предоставляет интерфейс для отмены.
    Даже если бы и был способ (тот же Abort), то прерывание неуправляемого кода очень вероятно приведёт к утечке ресурсов (в лучшем случае не будет освобождена динамическая память)
    Ответ написан
    Комментировать
  • Получение з/п в крипте. Какие минусы?

    Минусы:
    1. Вам самим придётся все свои доходы декларировать, чтобы потом не жаловаться, что вам заблокировали счета и начислили пени за неуплаченный налог в лучшем случае
    2. Закон тебя никак не защищает (могут уволить одним днём, например, и вполне законно могут недоплатить, списав на волатильность курса)
    3. Работодатель, который такое предлагает - в 99% случаев занимается чем-то серым, а то и незаконным => тебя ещё могут как соучастника накрыть, если очень сильно не повезёт.
    4. Курс волатильный и могут быть проблемы при попытке перевода в фиат (начиная с комиссий и невыгодного курса, заканчивая обвалом курса и отсутствием покупателей. Про возможность объявления крипты вне закона или блокировки счёта на бирже или в банке я молчу)

    Законно ли это(живу в России)?

    То что ты делаешь уже не законно, даже без привлечения крипты, тк в России запрещено иметь трудовые отношения (регулярные работы на полный рабочий день с фиксированной ежемесячной оплатой) между самозанятым (исполнителем в статусе самозанятого) и заказчиком, ибо это очевидное уклонение от налогов (со стороны исполнителя, ибо так ты уклоняешься от НФДЛ) и нарушение трудового кодекса (со стороны заказчика, тк он уклоняется от уплаты взносов в ФСС и ПФР, и не обеспечивает тебя-работника социальными гарантиями)

    Законно ли это(живу в России)?

    Крипта в России не является законным средством платежей. Так что если не хочется проблем с законом - нужно оформлять две операции:
    1. Оказание услуг (с ценой рублях).
    2. Продажа/покупка крипты на эту сумму.
    Причём по времени сначала ты должен оказать услугу, а уже потом "купить" крипту, после чего её продать, и уже тогда деньги с продажи крипты должны поступить на твой счёт в банке. Иначе рискуешь словить блокировку (в лучшем случае - временную, пока не объяснишь банку, что это вообще произошло)

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

    Много ли уходит на комиссиях?

    Это уже зависит от того, как будешь выводить и как тебе будет твой "работодатель" деньги присылать.
    Ответ написан
    4 комментария