• Зачем нужно ООП?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Раньше программа могла быть написана одним сплошным листингом. Но при попытке сделать изменения, оказалось что очень сложно понять все зависимости внутри программы, как только ее размер превышает некоторый критический уровень.
    Появилась мода на модульность.
    Но программы стали сложнее, и уже модуль перестал помещаться в мозг одного человека, чтобы можно было его быстро править.
    В процессе различных подходов, был придуман ООП-подход, суть которого заключается в следующем:

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

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

    Программы поменьше, особенно те, которые могут быть написаны одним человеком, могут писаться как угодно, но чем больше программа, тем сложнее ее поддерживать, а ООП - один из самых доступных методов "поделить" программу на независимые инкапсулированные кусочки.
    Ответ написан
    Комментировать
  • Где можно почитать о том, как переводятся игры?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    По-нормальному, локализация выполняется там, где заранее предусмотрена возможность локализации.

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Это не вопрос, а задание.
    Вдобавок, мне кажется что "Ольга", чью работу вы привели в примере, выполнила задание не поняв сути и смысла использования хешей.
    Если вы хотите, чтобы для вас кто-то что-то написал, то надо было идти на фриланс, но постановка задачи у вас невнятная - не видно, чтобы вы сами поняли, что нужно сделать, поэтому и на фриланс рано.
    Ответ написан
    2 комментария
  • Как вывести значение из функции?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Комментировать
  • Как быть школьнику?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Я узнал от Стива, что главное в управлении компанией и в личной жизни — это сосредоточенность.


    Ну как только у вас будет своя компания и личная жизнь - начинайте сосредотачиваться. А до этого - делайте уроки.
    Ответ написан
    Комментировать
  • Зачем делать игру на Unity если к ней и так нужно писать код?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    Ну если вы готовы с нуля писать 3д движок, разбираться как работает геометрия, разбираться как правильно рассчитывать отражение света, придумывать и реализовывать свой собственный формат 3д-моделей и как их анимировать, писать все функции, можете и без юнити.

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    [a-zA-Z0-9]{1,20}
    так?
    Ответ написан
    Комментировать
  • Есть ли формула обратимого преобразования четырёх чисел в одно?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    От перемены мест слагаемых, результат не меняется.
    От перемены мест множителей, результат не меняется.

    Нет такой формулы, чтобы случайные числа можно было "сложить" и "разложить".
    В асинхронном шифровании есть нечто похожее, но там это работает с простыми числами, а не с произвольными.
    Работайте со строками, а не с числами.
    Ответ написан
  • Как выделить резюме?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Доброго времени суток. Сегодня общался с знакомой hr. Говорит, что на вакансию frontend разработчика приходит в среднем 500 откликов. Как выделить свое резюме из такой массы?


    Вакансию frontend макака junior или frontend senior?
    Из массы выделяют хороших специалистов.
    Ответ написан
    1 комментарий
  • Как в bash в терминале прописать функцию, где будут 2 параметра?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    function gitcommit() {
        git commit -m "$1" "$2"
    }


    ну и вызывать
    gitcommit 100 filename
    Ответ написан
    Комментировать
  • Как выбрать нужно количество строк из файла?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Предполагаю, что ориентироваться лучше все-таки на заголовок, а не на пустую строку:
    tac file | sed -n '1,/^HTTP\/2/p' | tac
    Ответ написан
    Комментировать
  • Как начать зарабатывать в 14 лет?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Ты несовершеннолетний, поэтому полноценный заработок для тебя - невозможен - работодатель не имеет права брать на работу.
    Договорись с теми, кто за тебя отвечает (родители), пусть они берут заказы, а ты выполняешь.
    Что учить - берешь гугл и ищешь вакансии, там читаешь требования.
    Можешь на фрилансе поискать заказы и если описание заказа тебе понятно, попробовать его выполнить просто для себя.
    Ответ написан
  • Сколько денег можно просить неглупому джуну Frontend-ру в Москве на конец 2019?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    хороший кругозор и голову на плечах.

    Почему широкий кругозор и голова на плечах не позволяет воспользоваться поиском по вакансиям, готовым статьям где разжеваны и расписаны актуальные графики и примерные зарплаты, и наконец прямое хождение по собеседованиям и переговорами с менеджером/директором?

    Даже на Хабре каждые несколько месяцев постят графики о ЗП, не говоря уж о куче других ресурсов.
    Ответ написан
    Комментировать
  • How Much Does it Cost to Market An App?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    Are you talking about how much does cost developer account or how much does it cost to put your app to app market like GooglePlay, Microsoft Shop, AppleStore, maybe Steam?

    It depends. If you want to publish your application in market, it is free.
    But you should have developer account for this platform.

    For example, Android developer account registration is 25$.
    iOS Developer Program is 99$/year

    There are also other markets - MS store, Steam/etc.
    Ответ написан
    Комментировать
  • Как запретить доступ к папке Windows?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    1. Штатными средствами такое нельзя реализовать. Нужен просто внешний софт.

    2.
    Мне нужно запретить доступ к *.TXT файлам для любых исполняемых файлов.


    Такого точно нет. Не очень понятно, что значит "для любых исполняемых файлов". Блокнот это тоже исполняемый файл.
    Ответ написан
  • Где граница между книжками и практикой?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Разница между книжкой и практикой там, что книжку читаете, а практику пишете.

    "CSV,YAML,SQL,"

    В ЧЕМ проблема нагуглить эти термины и понять их смысл?
    Ответ написан
    Комментировать
  • Как сгенерировать на bash фиксированню строку из числа?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    #!/bin/bash
    for letter in {A..Z}; do
      for number in $(seq -w 0 100); do
        echo "('${letter}${number}'::varchar(5), `shuf -i1-40 -n1`), "
      done
    done
    Ответ написан
    Комментировать
  • Какая есть литература для общего it развития?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Меня больше волнует чем bash от shell отличается

    Шелл - это общее название класса программ, в переводе - оболочка.
    Например Windows проводник - это тоже shell с графическим интерфейсом.
    А bash - это конкретная оболочка с интерфейсом командной строки

    что за ipconfig

    консольная команда в линукс, которой можно посмотреть настройки сетевых интерфейсов.

    , global или не global нужно и все такое.

    Есть такое слово.

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

    Все незнакомые термины сперва в википедии просмотрите. Просто и доступно.
    https://ru.wikipedia.org/wiki/Bash
    https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D...
    https://ru.wikipedia.org/wiki/Ipconfig

    P.S. Чтобы нормально работать в командной строке линукс, можно пройти какой-нибудь курс по работе в шелле.
    Ответ написан
    Комментировать
  • Работать на Upwork с переводчиком безумная идея?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Upwork это фриланс. Фриланс в это в первую очередь умение найти работу, взять заказ, обойти конкурентов.

    Девочка-переводчик можно попробовать от безысходности, как временный вариант, но лучше возьмите эту девочку и учите с ней английский.
    Ответ написан
    Комментировать
  • Существует ли OpenSource антивирус на ассембере?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    использовать на домашней машине и изучать готовый код. Не доверяю корпоративным антивирусам, везде трекеры


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

    Возьмите любой опенсорс антивирус на С/C++, например www.clamav.net/downloads
    Ответ написан
    Комментировать