Ответы пользователя по тегу Программирование
  • Сколько принципов в ООП на самом деле?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    ООП само по себе абстракция, и изначально не относилось к программированию.

    Если вам для жизни - нужно просто научиться писать хорошие объекты, и понимать что это такое.
    Если вам академически для экзамена - то ищите источник, которым руководствуется ваш препод, иначе не попадете на 100%.

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

    Главная суть ООП - объект это в первую очередь данные.
    И методы, которые манипулируют этими данными и предоставляют внешний интерфейс.
    Ответ написан
    Комментировать
  • Как учить что-то новое и быстро не забывать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Пишите код.
    Только попытка создать работающий продукт, проведет вас по всей цепочке. Просмотр видеолекций помогает для освоение примитивного базиса, и помогают подметить какие-то моменты из чужого опыта, когда ты уже сам шаришь.
    Но запоминание информации не означает установление логических связей о том, как оно работает в разных условиях. Тут только собственная многочисленная практика.
    Заставьте себя на каждую прочитанную статью, книжку написать несколько рабочих примеров. Собственных. Усложняйте свои примеры.
    Ответ написан
    Комментировать
  • Обучение программированию ребенка?

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

    Например дать азы ассемблера (5-10 команд), Артстудию в руки и пусть читит оффлайновые игрушки. Освоит работу с памятью, с байтами, словами, 16-ричной системой.

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

    В общем все примеры должны быть такие, чтобы он мог ими пользоваться сразу для достижения интересного ЕМУ результата.

    Ну и английский.
    Ответ написан
    Комментировать
  • Что читать программисту на C++?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Судя по вашим вопросам, вы слишком много пытаетесь читать и слишком мало пишете код.
    Пишите код. Осваивайте git и навыки работы со средой разработки и отладкой программы.
    Ответ написан
    Комментировать
  • Можно ли переходить по ссылкам сайта скачанного с wget в offline?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Зависит от сайта. Для простеньких сайтов будет достаточно опции -k указанной при скачивании сайта:
    -k, --convert-links make links in downloaded HTML point to local files.

    Для сложных сайтов это может вообще не работать.
    Ответ написан
    2 комментария
  • Как вывести input?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    У меня все работает без изменений. Файл создался, в нем ваши данные.
    Может вы сам скрипт создаете в неправильной кодировке?
    Нужно чтобы кодировка скрипта совпадала с кодировкой консоли, в которой он запускается.
    Ответ написан
  • Что такое дзен программирование?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Чем выше квалификация программиста
    Чем проще задача
    Чем больше времени на ее выполнение
    Тем больше дзен.

    Не парьтесь. Читать и изучать стилистику и правильное программирование нужно, но главное понимать какая основная стоит цель.

    А цель - более читабельный и понятный код.
    Более дешевый в поддержке и модернизации.
    Ответ написан
    Комментировать
  • Где можно найти best practices по программированию?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    best practices могут быть и паттерны и просто отдельные советы.

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

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

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Самый велосипед:
    Напишите батник, который будет менять default gateway на левый и батник, который будет возвращать нужный.
    Повесьте их на хоткеи, или сделайте один, который будет триггерить.

    При этом по локалке у вас все будет работать, поскольку одна подсеть, а за ее пределы ваш комп не будет знать куда идти, поэтому не будет пытаться выходить через роутер.
    Ответ написан
    1 комментарий
  • Контроль версий при разработке. Что легче для новичка?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    git

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

    Во-вторых чуть что - можно локальные наработки выложить в тот же гитхаб целиком, со всей историей коммитов, одной командой.

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

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

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

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

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

    P.S. Данный ответ достаточен и подробен. Если вам нужно понимать глубже - учите программирование, тогда вы сможете задать более правильные вопросы.
    Ответ написан
    Комментировать
  • В каких областях не используется ООП программирование?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    ООП это парадигма, а не язык программирования.
    В ембеддед системах вполне активно пишут на С++ с полным ООП.

    Просто почитайте внимательно что такое ООП и не задавайте некорректный вопрос
    Ответ написан
    Комментировать
  • Какой язык программирования учить для написания сайта?

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

    Большинство базируются на html css javascript php + sql

    Но, это УЖЕ горы литературы.
    А некоторые базируются на php-фреймворках, это еще горы литературы.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Создайте shuffle.bat из кода ниже.
    Затем :
    type ваш_файл | shuffle.bat > result.txt

    @ECHO OFF
    SETLOCAL ENABLEDELAYEDEXPANSION
    SET TmpFile=tmp%RANDOM%%RANDOM%.tmp
    TYPE NUL >%Tmpfile%
    FOR /F "tokens=*" %%i IN ('MORE') DO SET Key=!RANDOM!!RANDOM!!RANDOM!000000000000& ECHO !Key:~0,15!%%i>> %TmpFile%
    FOR /F "tokens=*" %%i IN ('TYPE %TmpFile% ^| SORT') DO SET Line=%%i&ECHO.!Line:~15!
    ::DEL %TmpFile%
    ENDLOCAL
    Ответ написан
    Комментировать
  • Какой минимум знаний необходим и желателен на данный момент для Junior Android Developer для работы и фриланса?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    "И бонусный вопрос: сколько времени в среднем потребуется для самостоятельного изучения этого минимума адекватному человеку? "

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

    Адекватность и скорость усвоения материала не связаны - скорость усвоения больше связана с уже имеющимся бэкграундом, не обязательно в программировании, общая эрудиция очень помогает осваивать новые понятия, если есть абстрактные и уже известные примеры.
    Ответ написан
    4 комментария
  • Существуют ли готовые решения, которые позволяют по расписанию конвертировать набор картинок в видео? Если нет, то сколько может стоить разработка?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    послушайте Василий и возьмите ffmpeg.

    Все что нужно - из командной строки. Под вин, под линукс.
    Ответ написан
    Комментировать
  • Как по-настоящему научиться программировать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Вы путаете понятие "научиться программировать" и "стать хорошим специалистом, уровня сеньор архитектор".

    Неужели вы действительно считаете, что для того, чтобы стать крутым специалистом достаточно почитать 5-10 книжек?
    Нужны годы практики, ошибок, и стремления понять и эти ошибки исправить.
    Ответ написан
    2 комментария
  • Защищена физическая машина "в virtualbox" от виртуальной?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Нет, не должен. Теоретически уязвимость у виртуальных машин может быть, но вероятность того, что вирус умеет ей пользоваться - слишком низка, чтобы об этом сейчас задумываться.
    Главное диски реальной машины не мапьте.
    Ответ написан
    Комментировать