Задать вопрос
  • Есть ли способ следить за тем, что код пишет именно тот, за кого он себя выдаёт?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Без проблем, оплачивайте ровно 40 часов в неделю и ни минутой больше, кроме отдельных случаев, согласующихся индивидуально и заранее.
    Ответ написан
    6 комментариев
  • Не рано ли изучать Rust?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Первым лучше учить тот язык, на который реально много вакансий. Это не только не Rust, но даже и не Go.
    Ответ написан
    7 комментариев
  • Очень хорошо знаю PHP - куда двигаться дальше?

    MvcBox
    @MvcBox
    Software Engineer [C/C++/JS(for Node.js)/etc]
    Просто оставлю это здесь
    jeffekt-Danninga-Krjugera-8.jpg
    Ответ написан
    1 комментарий
  • Какие курсы в сфере Digital или IT действительно помогают сменить профессию?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Никакие. С тем же успехом можете отдать деньги цыганам, чтобы они вам счастье нагадали.
    Ответ написан
    17 комментариев
  • Какие посоветуете книги по Java, если есть опыт в программировании?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Знаю русский, хочу выучить норвежский, посоветуйте учебники, желательно минимум описаний всяких там букв, правил и т.д.
    Ответ написан
    2 комментария
  • А вы правда умеете программировать?

    bingo347
    @bingo347
    Crazy on performance...
    В вопросе наглядный пример моего утверждения, что "учить" - это плохое слово. В нашем мозгу оно ассоциируется с зазубриванием чего-либо. Вот только зазубривая что-либо освоить это не получится. Но тем не менее слово "учить" встречается крайне часто: люди пытаются учить программирование, учить языки (неважно C# или английский), а учить таблицу умножения нас подсаживают еще с младших классов. Не надо учить. Это бесполезно. Стихи еще можно учить, понимание мыслей автора это не даст, но память натренирует. А вот программирование, языки и таблицу умножения учить не нужно, нужно понять. Правда вот учителя начальных классов многие сами таблицу умножения не понимают, а тупо заучили наизусть, и так и продолжают передавать ученикам, с XIX века ничего не поменялось.
    Вы можете выучить синтаксис языка, но это лишь шелуха, абстракция, набор правил как преобразовывать этот язык в другой. Без понимания знание абсолютно бесполезное. Ну знаете Вы, что существуют в некотором условном языке if, for, while. Но сможете ли Вы из этого составить некоторую программу без понимания что это и зачем. А заучивание Вам этого понимания не даст.
    Вы можете выучить функции стандартной библиотеки, но это опять шелуха. Эти функции кто-то написал, часто на том же самом языке, на котором Вы их используете. Но без понимания, что они делают Вы и с ними программы не составите.
    А как Вы собираетесь учить составление алгоритмов? Да у многих сейчас есть мнение, что этот навык не нужен, что все алгоритмы уже составлены, но это иллюзия.
    А навык решения проблем, как заучить его?

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

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

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

    Robur
    @Robur
    Знаю больше чем это необходимо
    Уметь программировать - это уметь решать поставленные задачи быстро и качественно с помощью написания кода.
    А сколько чего вы там помните или не помните, не так неважно, если вы хорошо делаете свое дело. Если вам шпаргалки помогают решать задачи - пишите шпаргалки, если помогает что-то другое - делайте что - то другое.
    Ответ написан
    1 комментарий
  • Зачем нужны интерфейсы в Angular?

    Дело не в Angular, а в том что такое интерфейс. Я расскажу со стороны моей практики.

    Интерфейс это контракт взаимодействия между техническими сущностями (классы, объекты, функции, и так далее). Если мы создаем 10 объектов, которые соблюдают (реализуют) интерфейс, значит их можно подменять друг другом (только не нужно нарушать LSP, это принцип SOLID).

    Так вот, отсюда есть мощные бонусы:

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

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

    Второе, это стабильность, лично для меня. Я работаю на TypeScript, и там можно описать интерфейс, сигнатуру функции, и ожидать на входе любые данные, которые его реализуют, и вообще пофигу откуда они, но пока они реализуют интерфейс, всё будет работать стабильно.

    Третье, это понимание с чем ты работаешь. Когда есть интерфейс, ты всегда понимаешь что можно использовать у объекта, что там есть, и какого это типа. Просто очень удобно.

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

    Ты сначала думаешь как оно будет работать, какие есть данные, потом описываешь это через интерфейсы, и прочее, а потом реализуешь. Поэтому можно считать что интерфейс это один из ключевых строительных блоков архитектуры приложения. Без него сущности будут пытаться дергать нужные им данные от объектов на входе, без понимания можно ли их вообще оттуда дергать, что там вообще реально есть, и в итоге получится хаос.

    Поэтому Ангуляр собственно не причем, это просто фреймворк, а принципы проектирования там те же самые, как и в любом другом приложении.
    Ответ написан
    1 комментарий
  • Let`s encrypt сертификат установка через sudo?

    Sanes
    @Sanes
    На что ругается? Этому скрипту не нужен sudo.
    Certbot не проще?
    sudo certbot certonly --webroot --agree-tos --register-unsafely-without-email -d domain.com -d www.domain.com -w /var/www/html
    Ответ написан
    2 комментария
  • Какие главные направления в Python-разработке?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    а вот геймдев на Питоне - такое себе

    Разработчики из Wargaming смотрят с непониманием.
    Ответ написан
    1 комментарий
  • Почему разработчики пишут к примеру на html + css, а не юзают конструкторы?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Спроси его, сможет ли он создать хабр на конструкторе.
    Для простых лендингов без уникального дизайна, действительно, можно использовать конструкторы. Конструкторы подходят для того, чтобы делать что-то типовое.
    Ответ написан
    1 комментарий
  • Изучение С++ и С# одновременно, на сколько возможно?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    На что явно наткнётесь. Память постоянно будете лажать. Дефолтные уровни доступности, stl boost аналоги в Шарпе сильно другие, ввод вывод и кодировки. Регистровые переменные, выравнивание, битовые операции
    Ответ написан
    Комментировать
  • Выполняю тестовое задание для работы в компании. Что делать, чтоб мой дизайн не продала эта компания, не взяв меня на работу?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Тестовое задание находится в правовом поле. Оформите его, добавьте ватермарки, и при случае сможете сделать большой БаДАБУМ компании, продадут 3м лицам, а вы это вычислите.

    Вы реально сможете получить прайс х 60. Так что пусть воруют
    Ответ написан
  • Надо ли в День системного администратора поздравлять DevOps'ов?

    @Zzzz9
    DevOps lives matters!
    Ответ написан
    Комментировать
  • Есть смысл тратить время на JS если в планах frontend (webassembly и другие техн)?

    Zoominger
    @Zoominger
    System Integrator
    Насколько долго протянет JS если в wasm добавят dom? Что планируется или js вечен?

    Как только добавят - весь мир массово на него перейдёт. Мгновенно уволят всех JS-программистов, поддержка JS во всех браузерах будет отключена в течение первых трёх часов после включения DOM в WASM. Вы разве не знали? JS-то всё.
    Ответ написан
    5 комментариев
  • Информационная безопасность заочная форма обучения.Лишняя трата времени?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    на заочной форме обучения я не получу достаточно качественного образования

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

    @d-sem
    Все индивидуально и определяется каждым человеком по собственным ощущениям. Не сказать, чтобы современный бекенд был сильно сложнее современного фронтенда. Он просто другой. Со своими ньюансами.

    Должна быть личная химия и интерес.

    В итоге надо пробовать и решать для себя. В конце концов, определенный опыт бекенда не будет бесполезным, расширив кругозор и повысив конкуретноспособность на рынке.
    Ответ написан
    Комментировать
  • Какая альтернатива библиотеке request?

    @McBernar
    Axios давно впереди планеты. Ну и нативный fetch.
    Ответ написан
    3 комментария