• Game-dev путь. Что мне делать?

    @majstar_Zubr
    C++, C#, gamedev
    У вас должна быть цель стать профессионалом в области. Потому что только профессионал может выбирать, с кем работать, где работать, над чем работать - над крупными проектами для правительств, над банковским софтом, над веб-проектами или над играми.

    Вот это будет правильная установка. А что учить и в каком порядке вам никто не скажет, потому что требования меняются, возможности устроится на работу у всех разные, неизменно только одно - желательно знать все и вчера. Именно с этой установкой рисуются абстрактные Programming paths, но толку от них не будет никакого, если вы не сможете обобщать знания и не будете постоянно работать над строительством своего дерева знаний. Главное - пополнять свои знания концепциями, из которых потому выводятся базовые шаблоны, шаблоны проектирования, а из них, в свою очередь, архитектурные шаблоны, методология разработки, и непосредственно связь с рынком, экономикой, психологией и прочим, и так далее. И эти концепции не только в книгах по разработке ПО, их много в теор вере, дискретной математике, физике, которые дождаться в голову только в процессе получения высшего образования, системно.

    Любовь к учению - единственное, что может поддерживать на пути, потому что путь очень долгий. Многое будет непонятно и с первого раза, и со второго. Иногда и с третьего, потому что вы на самом деле не поняли базовые вещи. Или выбрали неправильную книгу. Или начали читать правильную книгу слишком рано. А узнаете вы расхождение между объективным знанием и собственным все равно не раньше, чем столкнетесь с проблемой на практике. А по-другому никак.

    Что вы можете сейчас сделать - взять прицел. Конкретно сформулируйте профессию и специализацию. Оптимизируйте процесс полученния знаний: как бы не ругали образование в ВУЗах СНГ, все же это нехилая экономия времени, если вы сразу будете получать профильное образование.

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

    А на самом деле надо. Вы должны получать удовольствие от получения знаний, потому что иначе вы не сможете сделать игры, которые могли бы приносить новый опыт игрокам. Чтобы транслировать новый опыт через генераторы опыта - игры - нужно уметь и любить этот опыт (субъективный и эмоциональный) получать, и представлять, как его давать людям. Разработка игр - всего лишь автоматизация этого процесса.

    Так что, запасайтесь попкорном и начните с языка Си. Освойте структурное программирование. Алгоритмы, структуры данных. Архитектуру компьютера, ОС. Не торопитесь как можно быстрее неправильно понять как можно больше вещей за кратчайший промежуток времени. Перечитывание и практикуете, пока не станет понятно так, что сможете научить кого-нибудь другого. Макконнелл, Роберт Мартин, Кент Бек, Эрик Эванс, Мартин Фаулер + 1 год дополнительного быдлокодинга на java и c# и c++ и у вас появится понимание ООП, ФП, типовые устройства моделей памяти и сборщиков мусора. Ещё за год научитесь писать настоящий ООП код, читать чужой код, даже если он написан в процедурно-макаронном стиле как книгу. Но надо ли вам эти три скучных года, потерянных полностью для личной жизни? Не проще ли получить solid knowledge и постепенно получать практику в среде опытных специалистов?

    Подытожу: становитесь профессионалом, на это у вас уйдёт ~10 лет после введения привычки учится в свободное время. Периодически смотрите на требования вакансий и составляйте себе древо знаний, которое хотите получить.
    Ответ написан
    Комментировать
  • Как получить данные с сайта и использовать их в юнити?

    GavriKos
    @GavriKos Куратор тега Unity
    Делаете запрос к API погоды (например, https://yandex.ru/dev/weather/ ) средствами WWW/UnityWebRequest. Парсите результат (в зависимости от API. Там чаще всего xml или json), поступаете с полученым результатом как вам уже угодно.
    Ответ написан
    2 комментария
  • Можете оценить шапку для ютуб канала?

    bakalev
    @bakalev
    Web/ui design
    Еды надо больше, чтобы вкусно выглядело. А не логотипы
    Ответ написан
    2 комментария
  • Капча из картинок?

    profesor08
    @profesor08 Куратор тега PHP
    Используй Invisible reCAPTCHA. Не усложняй пользователям жизнь своей бессмысленной борьбой с ботами. Ведь проще закрыть сайт, чем разгадывать ту хрень. Пользователям нет дела до твоей борьбы с ботами.
    Ответ написан
    2 комментария
  • Какова должна быть ширина адаптивных блоков?

    65536
    @65536
    Каждый блок должен уметь себя корректно отображать на любой ширине от 320. Медиа запросы надо прописывать именно блокам, а не насаживать глобально на всю верстку. Там половина интернета едет из-за этого. Нереально подчинить все до единого блоки на сайте одному набору диапазонов. Тем более каких диапазонов, откуда эти списки вообще берутся? Экран может быть вообще любой.

    Еще бывает очень нужно делать медиазапросы к элементам, а не окну. Например, при пропадании левой менюхи основной блок становится опять большим, хотя окно при этом уменьшалось. Есть вот такая штука https://github.com/marcj/css-element-queries, но она должна использоваться как корректирующая, то есть вторым номером после обычных медиазапросов, так как слегка не сразу после загрузки страницы отрабатывает
    Ответ написан
    Комментировать
  • Написал сайт html/css/js, выложил на хостинг, как быть с кэшированием?

    @Dmaw
    Добавьте это в htaccess:
    <ifModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
    </ifModule>
    
    <IfModule mod_gzip.c>
    	mod_gzip_on         Yes
    	mod_gzip_dechunk    Yes
    	mod_gzip_item_include file		\.(html?|txt|css|js|php|pl)$
    	mod_gzip_item_include mime		^text\.*
    	mod_gzip_item_include mime		^application/x-javascript.*
    	mod_gzip_item_include mime		^application/javascript.*
    	mod_gzip_item_exclude mime		^image\.*
    	mod_gzip_item_exclude rspheader	^Content-Encoding:.*gzip.*
    </IfModule>
    
    <ifModule mod_headers.c>
        <filesMatch "\.(ico|jpg|jpeg|png|gif|swf)$">
            Header set Cache-Control "public"
        </filesMatch>
        <filesMatch "\.(css)$">
            Header set Cache-Control "public"
        </filesMatch>
        <filesMatch "\.(js)$">
            Header set Cache-Control "public"
        </filesMatch>
        <filesMatch "\.(x?html?|php)$">
            Header set Cache-Control "private, must-revalidate"
        </filesMatch>
    </ifModule>
    
    <ifModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault "access 7 days"
        ExpiresByType image/x-icon "access plus 6 month"
        ExpiresByType image/jpeg "access plus 6 month"
    	ExpiresByType image/jpg "access plus 6 month"
        ExpiresByType image/png "access plus 6 month"
        ExpiresByType image/gif "access plus 6 month"
        ExpiresByType application/x-shockwave-flash "access plus 6 month"
        ExpiresByType text/css "access plus 7504800 seconds"
        ExpiresByType text/javascript "access plus 7516000 seconds"
        ExpiresByType application/javascript "access plus 7516000 seconds"
        ExpiresByType application/x-javascript "access plus 7516000 seconds"
        ExpiresByType text/html "access plus 600 seconds"
        ExpiresByType application/xhtml+xml "access plus 600 seconds"
    </ifModule>
    Ответ написан
    Комментировать
  • Какой язык программирования изучать в свободное время?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Какой-то конкретной цели, объясняющей для чего мне это надо, пока что нет.

    - Скажите пожалуйста, куда мне отсюда идти?
    - А куда ты хочешь попасть? - ответил Кот.
    - Мне все равно... - сказала Алиса.
    - Тогда все равно куда и идти, - заметил Кот.
    - ...только бы попасть куда-нибудь, - пояснила Алиса.
    - Куда-нибудь ты обязательно попадешь, - сказал Кот. - Нужно только достаточно долго идти.

    Льюис Кэрролл
    Ответ написан
    1 комментарий
  • Какой выбрать шаблонизатор для файлов docx?

    Lillipup
    @Lillipup
    Allons-y, Алонсо!
    Ответ написан
    Комментировать
  • Откуда появился логотип Хабр Q&A?

    SagePtr
    @SagePtr
    Еда - это святое
    Мне кажется, связано это со скорым закрытием интернета в России, Хабр окончательно перенёс свои сервисы с домена .ru, чтобы не потерять их для всего остального мира, если домены .ru перестанут делегироваться и останутся доступны только в чебурнете.
    Ответ написан
  • Как обосновать необходимость серверной?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Все довольно просто.
    На самом деле шанс, что Вам откажут - очень велик - серверная в два квадрата - это вполне нормально для такой конторы. Вам нужно в ней убраться (чтобы пыль не гуляла) и поставить кондиционер (чтобы сервера не перегревались).
    Бизнесу всегда обосновывают на языке, понятном ему. То есть на языке финансового планирования - вот, на оборудование серверной смета в N рублей. Восстановление бизнес-процессов в случае выхода из строя - M часов, стоимость простоя P рублей, итоговые потери W рублей.
    Наличие бэкапов уже проверили?
    Ответ написан
    Комментировать
  • Скан паспорта в сети, какие последствия?

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

    С копии паспорта могут отрисовать оригинал. Это тоже имейте ввиду.

    Оно вам надо? Смените паспорт.
    Ответ написан
    8 комментариев
  • Как интересно рассказать о профессии программиста детям младшей школы?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    - Ну что, щеглы, майнкрафт видели?
    - Ага!
    - Программистами сделан.
    Ответ написан
    Комментировать
  • Как сделать это с помощью php?

    Digiport
    @Digiport
    PHP рулит
    <?php
    echo '<img src="https://habrastorage.org/webt/5d/e6/b4/5de6b4d4b6c99812555007.png">';
    ?>

    какой вопрос, такой ответ :)))
    Ответ написан
    Комментировать
  • Стоит ли хранить зашифрованные данные пользователя в Local/Session Storage на клиенте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ахренеть, то есть если я, допустим, пользователя понизил в правах, то по вашей логике я должен лично к нему домой причапать и почистить куки/сторэйдж. Это гениальное решение, решающее несуществующую проблему! Браво!
    Ответ написан
    9 комментариев
  • Стоит ли хранить зашифрованные данные пользователя в Local/Session Storage на клиенте?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Это просто идеальная иллюстрация к известному высказыванию Дональда Кнута "Преждевременная оптимизация - корень всех зол".

    Сначала высасываем из пальца проблему: "тратится время на обращение к бд". Сколько там его тратится, тратится ли вообще, замедляет ли это систему, является ли вообще это проблемой - все эти вопросы нам неинтересны. Мы хотим грудью на амбразуру, стать героем и получить медальку.

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

    Стоит ли так делать и почему;
    не стоит потому что не надо высасывать проблемы из пальца.
    Какой будет прирост производительности
    Отрицательный
    Как Вы решаете подобные вопросы.
    МЫ ИХ НЕ РЕШАЕМ.
    Мы решаем реальные проблемы, объективно существующие.
    А воображаемые проблемы высосанные из пальца решать не следует.
    Ответ написан
    Комментировать
  • По вине заказчика удалили сайт, теперь требует вернуть исходники?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Вы сделали работу и сдали все. Если у вас не было договора где вы должны поддерживать работоспособность этого сайта то можно смело послать человека. Можете также ему сказать что исходный код был передан ему полностью и удален для сохранения его правообладания
    Ответ написан
    Комментировать
  • Как вернуть первую пятницу 13-е?

    longclaps
    @longclaps
    function friday13(year) {
        for (let month = 0; month < 12; month++) {
            let d = new Date(year, month, 13);
            if (d.getDay() === 5) return d;
        }
    }
    
    console.log(friday13(2019));
    Ответ написан
    5 комментариев
  • Стоит ли создавать учебный и самый минимальный PHP-код для создания простого блога?

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

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

    Об этом стоит подумать. А что там будет - блог движок, чат бот, или еще что-то - вообще не важно.
    Ответ написан
    1 комментарий