Задать вопрос
  • Как защитить код от плагиата?

    ValarMayar
    @ValarMayar
    Д У Р А Ч О К / недопрограммист графоман
    Да толком никак. Тем более python..
    Ответ: НИКАК.
    Ответ написан
    2 комментария
  • Как вывести массив в обратном порядке?

    Kr0nic
    @Kr0nic
    Пишу код за еду
    Array.Reverse(array);
    или
    array = array.Reverse().ToArray();

    Ах да. Еще и вывод в консоль можно в Linq переделать
    array.ToList().ForEach(x => Console.Write(@"{0} ", x));
    Ответ написан
    Комментировать
  • Почему не виден файл Hosts?

    @evgzap Автор вопроса
    РЕШЕНИЕ.
    ПКМ по etc -> Свойства -> Безопасность -> Дополнительно -> Владелец и напротив синяя надпись: изменить -> Дополнительно... -> Поиск -> все(весьма опасно, но если грамотно юзать дальше пк - сойдет) -> Ок -> Ок -> Ок-> в окне свойств (вы должны находиться здесь после всех нажатий окей) нажать Изменить.... -> и поставить галочки в администраторы и пользователи напротив надписи
    полный доступ

    После этого я все равно не видел самого файла, хоть и доступ теперь есть. в этом был виноват какой-то троян или прочий вирус.
    Создаем на рабочем столе файл hosts без расширения и переносим в папку etc, Вам предложат заменить файл. Соглашаемся. Вуаля, файл виден, имеется доступ, а все ради OpenServer и одной строчки кода в php....
    Будьте аккуратнее с вирусами.
    Ответ написан
    2 комментария
  • Возможно ли написать скрипт для принудительного отключения пользователя от WiFi?

    Это элементарно скриптуется. Вот такая команда добавит в шедулер скрипт, который будет запускаться каждые 20 секунд и удалять регистрации клиентов, неактивных более 150 секунд:
    /system scheduler add interval=20s name=unreg_inactive_wifi_clients on-event="/interface wireless registration-table remove  [ find  last-activity > 150 ]"  start-date=jun/01/1970 start-time=00:00:00
    Ответ написан
    Комментировать
  • Как правильно в ReactJS отрисовывать компоненты и показывать загрузку, при запросе данных со стороннего ресурса?

    @vs101ff
    Frontend разработчик
    Я не очень помню React.JS классовый, боюсь ошибиться.

    Поэтому могу просто порекомендовать пример с хуками: https://github.com/kentcdodds/react-hooks/blob/mai...

    Здесь описание: https://github.com/kentcdodds/react-hooks/blob/mai...

    Классовый React.JS сейчас не используется (используется только в поддержке старых компонентов).
    И вообще, я думаю, вам определенно стоит пройти курс https://epicreact.dev/ , а классовый React.JS миновать.
    На github есть репозитории с *.md материалами, их и блога более чем достаточно, и то, все не нужно.

    Предупреждаю, у меня нет коммерческого опыта разработки React.JS.
    Несколько позже, если нужно, скину статьи из документации, которые, на мой взгляд, необходимо изучить после курса Кента Доддса.

    Отрывки по Software Design:

    https://www.livelib.ru/book/1003548149-refaktoring...

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


    Мы структурируем программы, чтобы облегчить внесение в них изменений;

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



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



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



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


    И главы 1 - 4.

    Из книги https://www.ozon.ru/context/detail/id/136939101/

    Очень важна легкость внесения изменений в систему при изменении требований. Для этого нужно использовать наиболее простые решения:
    программная сущность (класс, модуль, метод) должна по возможности решать лишь одну задачу, но делать это хорошо.

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


    Но нужно спрашивать себя:
    не приведут ли меня принципы и паттерны в мир ненужной сложности (overengineering): стал ли мой дизайн после внесения изменений проще? Не решаю ли я проблему, которой на самом деле не существует?
    Не попал ли я в сети преждевременного обобщения (premature generalization)?


    Полезно будет пройти часть 4.

    https://kentcdodds.com/blog/when-to-break-up-a-com...

    Совершенный код С. Макконнелла, я читал с с. 76 по с. 152, про остальное ничего сказать не могу.

    Р. Мартин Чистый код, я читал Функции, Содержательные имена и Обработка ошибок, про остальное аналогично, не знаю. SOLID у него плохо объяснен.

    Понравившиеся проекты:
    UI библиотека для CMS Sanity https://github.com/sanity-io/design
    CMS Sanity (Фронтенд код сейчас в процессе перехода на @sanity/ui. Наверное, будет лучше изучать по pull request'ам) https://github.com/sanity-io/sanity

    По чтению кода: https://www.youtube.com/watch?v=6J4ZejMsKKY

    P.S. Не знаю, что из этих книг нужно для Junior Frontend разработчика. Мое мнение лучше воспринимать на половину серьезно, т. к. я где-то между Junior и Middle). Работал к этому времени только в бэкенде.
    Ответ написан
    1 комментарий
  • Есть ли аналоги vc.ru?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Ответ написан
    Комментировать
  • Как выйти в интернет по определенному интернет-соединению, если имеется несколько интернет-соединений?

    ValdikSS
    @ValdikSS
    Если вам нужно только подключаться к удалённым хостам из программы (а не принимать входящие соединения), и если программа использует только TCP (а не UDP или другие протоколы), то достаточно соединение (сокет) за-bind-ить к конкретному сетевому интерфейсу или конкретному IP-адресу.
    Этот способ универсален и прост, работает в Windows и Linux, не требует дополнительных настроек, помимо наличия маршрутов по умолчанию для всех интерфейсов (метрика значения не имеет).

    То, что вам пишут выше, про маркировку пакетов и назначения конкретных маршрутов — альтернативные, более «правильные» способы, подходящие для более общих случаев, но сложные в настройке.
    Ответ написан
    1 комментарий
  • Как выйти в интернет по определенному интернет-соединению, если имеется несколько интернет-соединений?

    @mprog54
    Кокон тыжпрограммиста
    ForceBindIP (https://soft.mydiv.net/win/download-ForceBindIP.html)
    Консольная утилита под Windows для принудительного назначения сетевого интерфейса приложению.

    Варианты использования:
    1. По умолчанию
    Создать ярлык к вашей программе со строкой запуска:
    ForceBindIP 192.168.1.1 c:\Program.exe
    Где 192.168.1.1 - локальный IP нужного интерфейса а c:\Program.exe - путь к папке с программой.
    Вместо IP можно указать GUID сетевого интерфейса: прим. {E9DE0D15-CA8D-4E41-8F37-79461FCA515C}
    2. Через код
    Создать функцию на C#, которая выведет список сетевых интерфейсов с их IP адресами. После чего, перезапустить своё приложение через команду запуска (пример в п.1). ForceBindIP.exe положить в папку со своей программой.
    3. GUI интерфейс на Java (https://sourceforge.net/projects/forcebindip-gui/)
    Открываете GUI и щелкаете мышкой :)

    P.S Если вы хотите сделать свои домашние мобильные "носки" под SMM, директ и т.п, при больших объемах советую всё-же воспользоваться известными сервисами (если интересно, пишите в личку).

    Reference:
    https://soft.mydiv.net/win/download-ForceBindIP.html
    https://translate.google.com/translate?hl=ru&sl=zh...
    forum.oszone.net/post-2830221-36.html
    https://sourceforge.net/projects/forcebindip-gui/
    https://qastack.ru/superuser/410483/can-i-route-pr...
    https://forum.ixbt.com/topic.cgi?id=14:30017:926#926
    Ответ написан
    Комментировать
  • Есть ли книги с систематизированным изучением C#?

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

    Нельзя изучать языки по роликам в ютубе!
    Ты машину водить тоже учишься по роликам в ютубе?

    Шилдт Г. Полное руководство С#4.0. Отлично пишет для новичков.

    Далее - Троелсен. Troelsen_C# 2010 and the .NET 4 Platform. Средний уровень.

    Финал - Рихтер. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#. Это для спецов скорее по внутренней реализации, явно не для начинающих.
    Ответ написан
    11 комментариев
  • Как выйти в интернет по определенному интернет-соединению, если имеется несколько интернет-соединений?

    Jump
    @Jump
    Системный администратор со стажем.
    Можете указать конкретный шлюз и трафик пойдет через него.
    Можете указать маршрут на конкретный адрес - через нужный интерфейс.
    Можете использовать файервол, маркировать нужные пакеты и отправлять через нужный интерфейс.
    Ответ написан
    3 комментария
  • Как выйти в интернет по определенному интернет-соединению, если имеется несколько интернет-соединений?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    В Linux есть возможность оперировать маршрутизацией для маркированного трафика через пакет iproute2.
    Если вы сможете промаркировать трафик от конкретного приложения, например через iptables -j MARK, то потом его можно будет "перемаршрутизировать" на любой исходящий интерфейс.
    Ответ написан
    1 комментарий
  • Как выйти в интернет по определенному интернет-соединению, если имеется несколько интернет-соединений?

    Как вариант - взять докер и с его помощью дать доступ каждому приложению к определённому интерфейсу.
    Но у меня есть ощущение, что можно как-то иначе сделать. Так что я подпишусь на вопрос.
    Ответ написан
    4 комментария
  • Как можно защитить проект на Java от простого копирования?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Прежде всего надо понимать, что абсолютной защиты не существует. Чем выше разница между ценой программы и затратами на взлом, тем быстрее её сломают. Соответственно, вы можете только затруднить процесс взлома, увеличивая этим затраты на него и снижая интерес взломщика. Но это обоюдоострое лезвие, разработка защиты процесс тоже дорогостоящий.

    Затруднить декомпиляцию программы можно воспользовавшись AOT-компилятором, но это снизит переносимость программы и в некоторых сценариях использования может снизить её производительность.

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

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Асинхронное программирование
    Седой и строгий
    Самые большие затраты на ввод/вывод. Грубо говоря, если один запрос 90% времени ожидает I/O, то в случае 10 000 конкурентных запросов сервер 9,999% времени находится в ожидании I/O, а асинхронное выполнение позволяет это время использовать с пользой или попросту списать. В то время как многопоточный сервер, обрабатывающий 10k соединений, 90% времени будет тратить на переключение контекста, да и то, если памяти хватит.
    Ответ написан
    3 комментария
  • Можно ли сделать реверс скролла?

    @romant094
    Frontend-developer
    https://codepen.io/U3fi/pen/qBErLgw
    Можно по аналогии высчитывать
    Ответ написан
    Комментировать
  • Максимально удобный софт для дизайна?

    Kadzi
    @Kadzi
    Ом
    неужели нет софта который объединял бы удобные фишки всех трех вышеперечисленных?

    Такого пока нет. Стандартно сейчас: сложный вектор в люстре, сложный растр в фотошопе, в фигме - сборка.
    Ответ написан
    1 комментарий
  • Как отсортировать массив с объектами?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Значения time не числа, чтобы вычитать b.time - a.time, а строки.

    Время в таком формате можно сравнивать как строки: больше-меньше — лексикографический порядок сохраняет смысл.
    arr.sort((a, b) => a.time > b.time ? 1 : (a.time == b.time ? 0 : -1))
    Ответ написан
    Комментировать
  • Transform scale при адаптивном дизайне - дичь?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    или только цыгане?

    даже цыгане не стали бы так делать.

    подводные?

    Хз, нужно двигать окном браузера и смотреть лично. Что бы не было разломов верстки и дефектов в отображении блоков\элементов
    Ответ написан
    Комментировать
  • Как из массива сделать объект?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Object.fromEntries(arr.map(n => [ n, n ]))
    
    // или
    
    arr.reduce((acc, n) => (acc[n] = n, acc), {})
    
    // или
    
    Object.assign({}, ...arr.map(n => ({ [n]: n })))
    
    // или
    
    eval('({' + arr.map(n => n + ':' + n) + '})')
    
    // или
    
    JSON.parse(`{${arr.map(n => `"${n}": ${n}`)}}`)
    Ответ написан
    Комментировать
  • Как на C# (Linq) разбить список на группы по несколько элементов?

    Zarinov
    @Zarinov Автор вопроса
    Правильно сформулированный вопрос — половина решения.
    Нашел сам, всем спасибо ;)
    public static IEnumerable<IEnumerable<T>> Split<T>(
    	this IEnumerable<T> source,
    	int count)
    {
    	return source
    		.Select((x, y) => new { Index = y, Value = x })
    		.GroupBy(x => x.Index / count)
    		.Select(x => x.Select(y => y.Value).ToList())
    		.ToList();
    }
    Ответ написан
    1 комментарий