• Как сделать свой игровой хостинг серверов?

    saboteur_kiev
    @saboteur_kiev Куратор тега SSH
    software engineer
    Копать в сторону базового администрирования компьютера.

    Если поднимать сервер под линуксом - учить работу с командной строкой линукса.
    Сервера через php не создаются, можно на Php написать управляющие скрипты, или даже поискать готовые расширения для контры. Там были веб-админки и рейтинги.

    RCON команды отправляются из командной строки.

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Только есть одно условие - сайт и курсы на нем должны быть на русском языке.


    HSLivcueqro.jpg

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

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ох...

    Для начала нам стоит прояснить что в javascript "методы" это обычные функции, которые просто привязаны к объекту. Если не вдаваться в подробности работы интерпритатора, вы можете спокойно вынести содержимое конструктора и заменить this на экземпляр объекта.

    Если совсем упростить - в javascript нет "методов", у объектов могут быть только свойства. "Методы" реализуются присваиванием функции (обычно анонимной) к свойству объекта.

    Теперь про this. this - это контекст вызова. Это "волшебная" переменная указывает на контекст, в котором мы вызвали какую-либо функцию. Она никак не фиксируется, и мы можем крутить и вертеть ей как хотим.

    По умолчанию она указывает на "владельца" функции. Тот объект, в контексте которого мы вызвали функцию.

    function foo() {console.log(this);}
    
    function MyObject() {
        this.foo = foo;
    }
    
    var hashMap = {
        foo: foo
    };
    
    var obj = {};
    var instance = new MyObject();
    obj.bar = instance.foo;  // мы можем даже красть методы
    
    foo(); // выведет window, если для браузера и мы вызывали в глобальном контексте
    instance.foo(); // выведет instance так как в контексте этого объекта мы это дело и вызывали
    hashMap.foo(); // выведет hashMap по той же причине
    obj.bar(); // выведет obj опять же потому что мы вызывали функцию в этом контексте
    foo.call('my own context') //мы можем задать свой контекст


    Зачем присваивается this и используется в дальнейшем?


    У функции есть своя область видимости. Ей доступны все переменные/идентификаторы которые определены в ее области видимости и выше в плодь до глобальной. То есть наши обработчики событий будут всегда видеть переменные объявленные в конструкторе. Причем именно то что было на момент вызова конструктора (то есть сохраняется во времени даже после завершения работы функции). Это к слову является типичной проблемой мемориликов, так как иногда люди забывают почистить за собой ссылки на объекты.

    У нас конечно есть еще функция bind, которая позволяет явно зафиксировать контекст, но иногда удобнее так.

    Именно за счет областей видимости функций в javascript мы достигаем инкапсуляции, скрываля приватные штуки внутри нашей области видимости и выплевывая наружу только то, что нужно. Самая настоящая инкапсуляция, модификаторы доступа в этом плане - просто кастыли (хотя для восприятия они проще).
    Ответ написан
    12 комментариев
  • Почему функция времени работает не верно в php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    time выдает время в UTC

    The documentation should have this info. The function time() returns always timestamp that is timezone independent (=UTC).
    Ответ написан
    2 комментария
  • В чем профит такого способа написания if()?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ответ написан
    Комментировать
  • В чем профит такого способа написания if()?

    petermzg
    @petermzg
    Самый лучший программист
    Страховка от присваивания. Чтобы вы не присвоили переменной значения вместо сравнения с ней.
    Ответ написан
    Комментировать
  • Есть у кого шпаргалка с функциями языка?

    @enot_enotov Автор вопроса
    Все нашел overapi.com , ура :D
    Ответ написан
    Комментировать
  • Как можно хранить настройки к PhpStorm (WebStrom) для конкретного проекта на GitHub?

    27cm
    @27cm Автор вопроса
    TODO: Написать статус
    All the settings files in the .idea directory should be put under version control except the workspace.xml, which stores your local preferences. The workspace.xml file should be marked as ignored by VCS.

    jetbrains.com/phpstorm/help/project.html
    How to manage projects under Version Control Systems
    Ответ написан
    Комментировать
  • Как выкачать весь pypi?

    sim3x
    @sim3x
    Ответ написан
    Комментировать
  • Надо ли расписывать всё по переменным?

    Denormalization
    @Denormalization
    В первом варианте лучше читаемость. Ты не в твиттер пишешь, чтобы ужимать код.
    Чем выше читаемость - тем проще поддержка кода.
    Ответ написан
    3 комментария
  • Онлайн компиляция windows-проектов (в облаке) с GIT-ресурсов?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Ответ написан
    Комментировать
  • С чего начать изучение Gamedev'а?

    Nipheris
    @Nipheris Куратор тега C++
    1) алгоритмы и структуры данных: списки, очереди, деревья, графы и операции со всем этим;
    2) линейная алгебра и геометрия: операции над матрицами и векторами;
    3) компьютерная графика: растр и вектор, представление изображений, трехмерных объектов и сцен; архитектура графического железа и конвейер рендеринга (раз игры, то упор в realtime-графику, а не в фотореалистичную), шейдеры; конкретные графические API: OpenGL 4 и DirectX 11, на будущее - Vulkan и DirectX 12;
    4) С++: основные конструкции языка, ООП, элементы ФП, стандартная библиотека (не пренебрегайте ей), затем шаблоны;
    Ответ написан
    Комментировать
  • Зачем нужен sourcemap?

    27cm
    @27cm
    TODO: Написать статус
    Ответ написан
    Комментировать
  • Google Chrome запускает большое количество процессов. Почему?

    StanHD
    @StanHD
    IT
    Прежде чем задавать вопрос, можно было хотя бы попробовать поискать его в сети.

    В Chrome используется многопроцессная архитектура, и каждой вкладке или плагину, в большинстве случаев, соответствует отдельный процесс. Эта процедура, называемая изоляцией процессов, исключает вероятность того, что вкладки будут мешать друг другу. Также, злоумышленник, используя одну вкладку, не сможет подсмотреть, что происходит в другой, и, если на одной вкладке произойдет сбой, это не помешает работе всего браузера — нужно будет просто закрыть данную вкладку.

    https://ru.wikipedia.org/wiki/Google_Chrome
    Ответ написан
    5 комментариев
  • Как работает вариатор or в Python?

    Avernial
    @Avernial
    Разрабатываю научное ПО на языке Python.
    Первый вариант не корректен с точки зрения логических операции. И у вас всегда будет True.
    Например step_id = 2:
    • 2 == 3 -> False
    • False or 4 -> 4
    • bool(4) -> True
    • Результат: True


    Например step_id = 3:
    • 3 == 3 -> True
    • True or 4 -> True
    • Результат: True


    Например step_id = 6:
    • 6 == 3 -> False
    • False or 4 -> 4
    • bool(4) -> True
    • Результат: True


    А второй вариант правильный.
    Например step_id = 2:
    • 2 == 3 -> False
    • 2 == 4 -> False
    • False or False
    • Результат: False


    Например step_id = 3:
    • 3 == 3 -> True
    • 3 == 4 -> False
    • True or False -> True
    • Результат: True


    Для того чтобы понимать как происходит выполнение вам нужно прочитать про приоритет выполнения.
    Ответ написан
    Комментировать
  • Какую выбрать клавиатуру, Wireless или Wired?

    @Khayrullin
    Обе клавиатуры удобны в работе. При достаточном месте на рабочем столе я отдаю предпочтение проводной. Она хороша для работы (моей по крайней мере) - блок цифр помогает работать в Excel, AutoCAD и многих других программах гораздо продуктивнее. Я привык к его использованию. Кто-то, возможно меньше зависит от него.

    В тоже время, частенько убираю проводную клавиатуру дома, и работаю (провожу время за компьютером) с беспроводной. Дискомфорта от её использования не испытываю, такая же удобная, за исключением отсутствия блока цифр.

    Есть еще одна важная для меня вещь - клавиша Ctrl у Wireless клавиатуры расположена правее клавиши Fn. Для моей работы сочетание клавиш Ctrl + Space очень важно, и нажимать его на беспроводной клавиатуре менее удобно. Присмотритесь к сочетаниям клавиш, которые используете в Windows. В OS X таких проблем быть не должно. По крайне мере переключение раскладки я использую Cmd + Space, поэтому расположение клавиши Ctrl для меня не принципиально.

    Клавиши Delete у Wireless клавиатуры тоже нет. Это тоже может играть определенную роль под Windows.

    Чаще всего подобные проблемы можно решить настройками. Но если у вас какой-нибудь динозаврообразный софт под Windows, который не допускает кастомизации, и использует эти клавиши - могут возникнуть проблемы.

    Других критических для меня недостатков Wireless Keyboard я не обнаружил.

    Резюмируя - я использую на работе только проводную, а дома - обе.

    P. s.: По поводу батареек - при стоимости клавиатуры, считать 20 рублей раз в пол года - неразумно. Нет смысла покупать дорогущие батарейки, из ИКЕА работают не хуже. В тоже время зависимость от батареек - вообще не аргумент. Я давно мучался с аккумуляторами. Стоят они дорого, быстро теряют емкость, и нуждаются в обслуживании (длительной зарядке). Батарейки из ИКЕА - лучший выбор и для Wireless Keyboard и для Magic Mouse.
    Ответ написан
    1 комментарий
  • Как сделать условия в ряд?

    Aligatro
    @Aligatro
    Turn food and coffee into software...
    Убрать тег "p"?
    Ответ написан
    3 комментария
  • Уважаемые коллеги, может кто поделится Windows 8.1 PRO OEM?

    1) Если там ОЕМ версия, то ключ либо вшит в BIOS, и тогда он должен подхватиться с MSDN-образа без проблем. Либо система ставилась производителем с OEM-диска, но тогда на корпусе обязательно должна быть наклейка с ключом, с помощью которого можно активировать вручную.
    2) Если прямо во время установки система сообщает, что ключ не подходит, но ключ вы не вводили, то скорее всего там не Pro версия, а Single Language. А её можно свободно скачать.
    Ответ написан
    Комментировать