• В какой сфере разработки ПО больше всего "алгоритмического" программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Сжатие данных (и компрессия и архивация)
    хеширование данных
    шифрование данных
    видео (накладывание различных эффектов)


    да уйма просто.
    Ответ написан
    4 комментария
  • Вопрос по реализации крестиков-ноликов с помощью Windows Forms?

    @Beltoev
    Живу в своё удовольствие
    Есть ли другие варианты?

    Намного проще было бы выделить игровую область, скажем, 750x750 (по 50px на ячейку), и уже при нажатии пользователем в любом месте этой игровой области получать координаты щелчка и определять, какая ячейка была затронута. А дальше уже по вашему консольному алгоритму:
    • провели действия с массивом
    • запустили метод отрисовки игрового поля
    • ждем следующего хода


    Это намного оптимальнее 200+ кнопок
    Ответ написан
    7 комментариев
  • Почему не работает программа по подсчету количества треугольников?

    @MiiNiPaa
    num_wrong=num_wrong++ Это что? Это зачем?
    В общем здесь UB. Поправьте строчку.
    Ответ написан
    1 комментарий
  • Насколько опасно разрешать пользователям загружать на сервер любые файлы?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Если грамотно настроить - грузите что нужно.
    Всё зависит от настроек сервера и того, что вы будете делать с файлами.
    При чем безопасность зависит как от клиентской части, так и от серверной.
    Чтобы обезопасить - не выполнять скрипты в папке с загружаемыми файлами (к примеру, отдавать все файлы с помощью Nginx из папки напрямую, минуя PHP интерпретатор). Так же нужно настроить HTTP заголовки на страницах, чтобы нельзя было загрузить файл с JS и потом подключить в iframe на странице (если, к примеру, у пользователя есть возможность вставлять iframe, для того же youtube может быть нужно), иначе получите что-то вроде хранимой XSS, только в файловой системе (хотя, собственно, какая разница где хранить).

    В целом - есть целый ряд вариантов выстрелить себе в голову, так что настоятельно рекомендую пока пользоваться готовыми инструментами, где упомянутые и некоторые другие вещи предусмотрены.
    Ответ написан
    Комментировать
  • Системное администрирование сайтов на vps. Что для этого нужно знать?

    @ramjke
    Языки - никаких не надо знать. Достаточно грамотно настроить программы.
    Nginx - настройки оптимизации (кеширование, keepalive, gzip, количество воркеров), и безопасности (сервак не должен ложиться под дос-атаками и выполнять php, загруженный под видом картинки). Уметь пользоваться Rewritemode.
    MySQL - настройки кеширования (размер кеша, количество таблиц в кеше).
    PHP - Memcache/Xcache для кеширования результатов запросов к php. Настройка заключается в основном в выставлении размера кеша.
    Wordpress - знание основных атак и установка плагинов от них (из популярных атак - брутфорс пароля к админке и xml-rpc атака).
    Ротация логов - чтобы место на диске не закончилось от распухших логов.
    Fail2Ban - чтобы не забрутфорсили пароли к ftp, smtp, ssh.
    Опционально - установка системы мониторинга (Zabbix, Nagios) для отслеживания работы служб (nginx, mysql и другие необходимые) и доступности сайта.
    Из утилит нагрузочного тестирования простейшая - ApacheBench (просто шлёт n запросов на одну страницу), покруче - Jmeter (с возможностью записывания сценариев).
    Ответ написан
    2 комментария
  • Как достать значение из JSON массива?

    dasha_programmist
    @dasha_programmist
    ex Software Engineer at Reddit TS/React/GraphQL/Go
    dynamic obj = JsonConvert.DeserializeObject(json);
                var resp = obj.response;
                foreach (JProperty item in resp.items)
                {
                    var token = item.FirstOrDefault();
                    if (token != null)
                        Console.WriteLine(token["value"]);
                }
    Ответ написан
    1 комментарий
  • Постоянно зависает компьютер. Как можно исправить эту проблему?

    @ramjke
    Причин может быть очень много.
    1. Сколько свободной оперативной памяти? Запустите диспетчер задач и проверьте наличие свободной оперативы. Какими программами занята оперативная память?
    2. Что у Вас включено в фоновом режиме? Антивирус, файрволл, другие приложения?
    3. Windows лицензионка или "сборка Васи Пупкина с 1к полезных и незаменимых программ"?
    Ответ написан
    Комментировать
  • Ребенок-Кодер или программист?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Мечтает же писать расширения в майнкрафт.)

    И это нормально для 8-ми лет, я помниться в программирование пришел потому что мне нравилось делать прикольные штуки в GTA (играть надоело в 13 лет где-то, было больше интересно что-то поменять, разобраться, добавить). Причем в WEB занесло как-то случайно и торчу тут уже 8 лет...

    Вопрос мотивации. Предлагайте ему задачки связанные с тем что ему нравится и тогда будет больший стимул разбираться. Тут книжки на алгоритмы могут спугнуть излишней скукой. У меня так в детстве любовь к музыке музыкальная школа отбила (ну в смысле желание развиваться как музыканта, музыку я всеравно люблю).
    Ответ написан
    2 комментария
  • Как создать файл с расширением .db из файла с расширением .sql?

    martin74ua
    @martin74ua Куратор тега MySQL
    Linux administrator
    формат db - это очень расплывчато.
    С какой базой данных работает ваш SID ?
    Ответ написан
  • Будет ли целесообразным в БД MySQL пол хранить в виде строки?

    MarcusAurelius
    @MarcusAurelius
    автор Impress Application Server для Node.js
    Великий секрет архитектуры программирования заключается в том, что 0 для женского и 1 для мужского.
    Ответ написан
    2 комментария
  • Уничтожить объект в foreach?

    Casper-SC
    @Casper-SC
    Программист (.NET)
    Никак, если эта копия никак не ссылается на исходный объект и если ты не инкрементируешь какую-то переменную типа int, чтобы с её помощью обратиться к исходному массиву по этому индексу и удалить там объект тоже. Но тогда зачем использовать foreach.

    Вот о чём я.
    public class Person
        {
            public string Name { get; set; }
    
            public int Age { get; set; }
        }


    class Program
        {
            static void Main(string[] args)
            {
                var source = new Person[]
                    {
                        new Person { Age = 20, Name = "Сергей" },
                        new Person { Age = 32, Name = "Дмитрий" },
                        new Person { Age = 18, Name = "Андрей" }
                    };
    
                var copy = new Person[source.Length];
                Array.Copy(source, copy, source.Length);
    
                DisplayPersons(copy);
                Console.WriteLine();
    
                int index = 0;
                foreach (Person person in copy)
                {
                    Console.WriteLine(person.Name + " удалён из исходного массива");
                    source[index++] = null;
                }
    
                if (source.Any(p => p != null))
                {
                    Console.WriteLine("Не удалось удалить все элементы исходного массива.");
                }
    
                Console.ReadKey();
            }
    
            static void DisplayPersons(IEnumerable<Person> persons)
            {
                foreach (Person person in persons)
                {
                    Console.WriteLine("Имя: {0}, возраст: {1}", person.Name, person.Age);
                }
            }
        }
    Ответ написан
    Комментировать
  • Как установить Windows на чужой жёсткий диск?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Вы можете у себя начать установку, и остановить её на первой перезагрузке. Все файлы для установки уже на диске, процесс с настройкой под конечную систему начнётся при загрузке.
    Ответ написан
    2 комментария
  • Реестр Windows?

    @vilgeforce
    Раздолбай и программист
    Поищите по этим GUIDам в реестре
    Ответ написан
    3 комментария
  • Оптимизация графики?

    artem_b89
    @artem_b89
    Сетевой бездельник
    WindowsForms?

    Не использовать WinForms. Используйте WPF, он как раз использует directx
    Ответ написан
    Комментировать
  • Программирование автомобилей?

    @MiiNiPaa
    Если вас интересует различные контроллеры (ECU), то какой, нафиг C#? Только Ассемблер или Cи, в крайнем случае какое-то подмножество «С с классами». Ничего managed в системах реального времени точно быть не может.

    Если вас интересует всякие встраиваемые навигаторы и прочие телевизоры, то смотрите документацию к устройству, к автомобилю это обычно имеет мало отношения.
    Ответ написан
    Комментировать
  • Как выводить средства с UpWork на ООО, зарегистрированное в России?

    opium
    @opium
    Просто люблю качественно работать
    1. Открываешь ИП, к нему транзитный валютный счет. Рассчетный валютный счет можно открыть если желаешь сидеть в долларах.
    2. Делаешь wire трансфер с Upwork, уплачивая 30$ за перевод.
    3. После перевода деньги блокируются валютным контролем.
    4. Дальше два варианта, либо выбить из поддержки договор (что почти нереально), либо отдать в ВК публичную оферту (User Agreement, на который соглашаемся при регистрации) в биллингве, на каждой странице публичной аферты поставить свою печать, "Копия верна" и подпись (после этих действий ВК охотней примет публичную аферту, нежели просто распечатанный биллингв).
    5. На каждый денежный перевод нужен акт выполненных работ, тут два варианта. Либо предоставить в ВК скриншот трансфера из панели апворка (что филькина грамота, не каждый ВК примет это), либо запрашивать у поддержки "Act of acceptance", который будет подписан апворком и тобой, в нем будет указана сумма перевода. Act of acceptance выглядит внушительней, нежели скрин из панели.
    6. Дальше при каждом переводе предоставляешь новый Act of acceptance.
    7. Работаешь так до достижения лимита в 50000$, дальше нужно заключить паспорт сделки (что сложно, но реально, нужно трясти поддержку апворка). ЛИБО заключить новый "контракт" с Upwork, опять предоставив User Agreement в билингве (про схему с закрытием старой оферты и открытием новой вычитал на хабре, там чувак ставил номер контракта в шапке оферты, что позволяло "открыть" новый контракт, поменяв этот номер)
    8. Ну и работаем дальше, либо по паспорту сделки, либо по вновь открытому контракту.

    Забыл. Когда ВК подтверждает перевод, то тут 2 варианта. Либо эти даллары "продаются" с транзитного счета на рублевый счет ИП по курсу ЦБ на день продажи, либо переводятся на долларовый счет ИП. Но у нас есть налог на курсовую разницу, потому эти деньги лучше сразу вывести с долларового счета ИП на долларовый физика.
    Ответ написан
    18 комментариев
  • Нормален ли такой подход для работы с git'ом(хранение дизайн+код)?

    2ord
    @2ord
    Git хорош лишь для отслеживания изменений программного кода или простых текстовых/небинарных файлов,
    а для хранения мультимедиа и других бинарных файлов лучше пользоваться совместными хранилищами типа Dropbox, Google Drive, Yandex Disk, ownCLoud и т.д.
    Ответ написан
    Комментировать
  • Как учитывается время синхронизации?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Есть сервер времени. На расстоянии примерно в 1000 километров с него синхронизируется другие компы (ЛЭП волс). Как именно учитывается время которое затрачивается на передачу запроса и выдачу ответа.
    Если не вдаваться в детали - отправили десяток запросов серверу времени, он вам в ответ продиктовал смещение вашего времени относительно сервера по каждому запросу. Выбираете среднее.
    Т.е сервер вам не говорит сколько сейчас, он говорит на сколько его показания отличаются от присланных вами.

    Если вдаваться в детали - курите RFS по NTP, считайте дисперсию Аллана.

    Точность интересует именно в МИКРОсекундах!
    В указанных вами условиях речь идет про милисекунды.
    Хотите микро - не пользуйтесь интернетом, для этого GPSы и прочие ГЛОНАССы существуют.
    Ответ написан
    Комментировать
  • Знаете ли вы программистов которые в одиночку создали крутой проект?

    @asd111
    Google - два парня Сергей Брин и Ларри Пейдж
    Facebook - начал Марк Цукерберг
    Instagram - два парня, один делал приложение для iPhone, другой делал сайт, потом заработали расширились
    MsDOS - первую версию сделал один человек, потом Баллмер у него купил за 50 000 $ и права перешли Microsoft
    Nginx - начал Игорь Сысоев
    Компьютер Apple I - дело рук Стива Возняка
    Linux - начал Линус Торвальдс
    Git - начал Линус торвальдс
    Redis - Salvatore Sanfilippo ( antirez )
    Minecraft - начал Маркус Перссон ( также известный как notch )
    Dropbox - начал Дрю Хьюстон
    Shadertoy - создан Iñigo Quilez ( также известен как iq )
    C++ - начал Бьёрн Страуструп
    Python - Гвидо ван Россум
    PHP - Расмус Лердорф

    SimplaCMS - начал один человек
    DLE CMS - начал один человек
    TYPO3 CMS - начал один человек

    P.S. ответ редактировался и дополнялся
    Ответ написан
    20 комментариев