• Почему так тяжело решать задачи?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Попробуй поднять 300 кг, если никогда до этого не занимался тяжелой атлетикой.
    Думаешь через 5 месяцев станет легко?

    Мозг также само развивается не так быстро, как хочется.
    Это только кажется что прочитал 10 книг и стал умнее. Надо решить тысячу задач, чтобы мозг привык их решать и начал оптимизировать собственные процессы.

    Решай, смотри чужие решения. После того, как решил задачу каким-то неэффективным способом, а потом нашел улучшение а потом еще и подсмотрел чужое - ты будешь гораздо лучше понимать почему хорошее решение хорошее.
    Ответ написан
    2 комментария
  • Что нужно знать перед изучением angular и react?

    Про Реакт не скажу, но в Ангуляре (если мы о 2-м - 4-м) очень важной зависимостью является RxJS. Это сама по себе очень полезная вещь.
    Более того, я бы посоветовал вместо Ангуляра и Реакта посмотреть на замечательный фреймворк CycleJS, который построен на идее RxJS. У него очень простая, чистая и мощная архитектура. Если её освоить - многое увидится в новом безоблачном свете. Главный минус CycleJS в отсутствии готовых комплектов вроде Material для Ангуляра. Это скорее инструмент, чем готовое решение. Но в обучении это лишь плюс - больше простора для практики.

    Кроме того, полезно освоить концепцию функционального программирования, насколько это возможно в JS. Идею иммутабельных (персистентных) структур данных. Основные функции высшего порядка (вроде map, flatMap, foldLeft/reduce и др). Функциональную композицию и point-free (tacit) стиль. Очень рекомендую посмотреть на библиотеку Ramda. Всё это не является обязательным пререквизитом для Ангуляра и Реакта, но может существенно повлиять на то, как Вы пишете код.

    CycleJS и Ramda - точно помогут в более углублённом изучении JS.
    Angular очень хорошо учить по книге ng-book 2.
    Ответ написан
    Комментировать
  • Курс или полный гайдлайн по git?

    Попробуйте следовать https://www.atlassian.com/ru/git/tutorials/compari...

    К проблеме которую вы описали:

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


    Не сливайте feature-ветку пока она не будет полностью протестирована и code-rewiew'ирована.
    Склеивайте комиты в feature-ветке, чтобы их в итоге было не больше 1-3.

    Из собственного опыта могу сказать, что чем крупнее и неспешнее проект - тем проще следовать git-flow.
    А вот когда 1-2 разработчика и нужно вот сейчас ещё вчера запилить 10 фич... бывает сложновато.

    Это вопрос дисциплины и организованности. Как ставятся задачи, как вы фокусируетесь на текущей фиче (нельзя носиться по всему проекту и фиксить по пути всё что под руку попалось). Организации самого проекта в конце концов - как изолированы компоненты и т.д.
    Ответ написан
    Комментировать
  • Где найти книги или курсы по PHP, где даётся проектирование приложений с учётом ООП?

    DollyPapper
    @DollyPapper
    Их не нужно сравнивать. Эти подходы дополняют друг друга. Внутри методов класса ты как ни крути пишешь процедурный код.
    Ответ написан
    Комментировать
  • Как быстро вникнуть в чужой код?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Задавать окружающим вопросы. Ртом. Повторять пока не станет понятно
    Ответ написан
    4 комментария
  • Как запустить n горутин на golang?

    uvelichitel
    @uvelichitel Куратор тега Go
    habrahabr.ru/users/uvelichitel
    Например так
    //На N промежутков
    step:=(end-start)/N
    for n := 0; n < N; n++ {
        from := start + n*step
        to := from + step
        group.Go(func() error{ 
             return process(from, to)})
         })
    }
    Ответ написан
    Комментировать
  • Как запустить n горутин на golang?

    @12rbah
    Честно говоря не совсем понял в чем проблема, просто запускайте горутины в цикле, который будет иметь кол-во итераций зависящее от start-end.
    Ответ написан
    2 комментария
  • Как понимать програм-е, и писать собственный код?

    @rPman
    Как эффективнее всего выйти из этих рамок , и научиться писать собственный код?
    Решать задачи не через использование готовых решений но и до крайностей не доходить. Совершенно нормально не заниматься разбором видеофайлов на низком уровне, хватит научиться пользоваться ffmpg.

    Еще важный момент - правильный выбор задач.

    Задача не должна быть слишком сложной - иначе неудачи отобьют желание учиться.
    Задача не должна быть бессмысленной - найдите какую-нибудь простую задачу, которую вы делаете руками постоянно, файлики переименовываете, запятые в экселе лишние удаляете ручками,... вроде простые задачи руками легко, но и польза от автоматизации будет.
    Выбирайте удобный и приятный для использования именно вам инструмент, а не то что советую откружающие. Одно время все говорили - бери bash крутой скриптовый язык, мегакруто, мегаудобно... ага, но мне почему то на php скрипты общего назначения писать получается гораздо удобнее, и читабельнее абракадабры.

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

    Чтобы научиться писать код, надо писать код. Да, даже если не получается просто брать и решать задачу, даже если ее решения не видно.
    Ответ написан
    Комментировать
  • В каких приложениях Go существенно эффективнее чем Node.js и PHP?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Бенчмарки - это хорошо, но очень важно понимать что именно там меряли и почему результаты именно такие.

    Несколько лет назад я тоже делал бенчмарки Python, PHP, Node, Go.
    Для меня были важны две вещи:
    1 - скорость ответа сервера/кол-во запросов в секунду
    2 - объём сервиса в памяти, т.к. от этого зависит стоимость ресурсов

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

    Но вся эта разница сошла на нет, как только добавился всего один простой SQL запрос в базу, в таблицу с 10 строками. И на этом фоне разница по скорости ответа была меньше 10%.

    Иными словами если ваш сервис работает с базой - критической разницы по скорости работы между Go/Rust/PHP/Node/Java, особо не будет.

    Другое дело если ваш сервис не будет делать запросы в базу, или будет кешировать результаты запросов, тогда вы почувствуете ощутимую разницу.

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

    Один экземпляр Go занимал в памяти порядка 6мб RAM, при том, что Pytho+Django порядка 60мб.
    Node уже не помню сколько, но что-то близкое к Python'у.

    Вот тут уже, когда серверов у вас будет много - количество серверов с Go у вас будет в 10 раз меньше, соответственно расходы за эти сервера у вас будут в 10 раз меньше :)

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

    Где-то читал статью, что у людей было API на порядка 40 серверов на Node, после переписывания на Go - серверов осталось два, из которых второй запасной :)
    Ответ написан
    13 комментариев
  • Как обновить сайт из git репозитория?

    BorLaze
    @BorLaze
    Java developer
    Не надо загружать ветки. Ветка - для разработки. master - для "боевого кода".

    Релизуем фичу в ветке, проверяем, если считаем, что все ок, мержим ее в мастер.
    На коммит в мастер стартует CI/CD, который прогоняет тесты (они ведь у вас есть, правда?) и, в случае успешной сборки, проливает код на прод.
    Ответ написан
    1 комментарий
  • Стоит ли учить Jquery в 2021?

    @Guccigang
    Нет, не стоит совсем. Лучше хорошенько подтянуть нативный JS и переходить на React/Vue.
    Ответ написан
    Комментировать
  • Почему многие крупные сайты тормозят по самые помидоры?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Все очень зависит. Медленно отдавать данные может бэк, или какие-то его части, медленно может в принципе работать ваше интернет соединение, может фронт жрать как не в себя, могут тормозить внешние ресурсы.

    7 баллов из 100

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

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

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

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

    Используй traefik в качестве балансировщика. Nginx каждого приложения светить наружу не надо. На руду смотрит только traefik. Что и куда проксировать описывается в labels сервиса в docker-compose
    Ответ написан
    Комментировать
  • Задачку по JS такую как решить?

    profesor08
    @profesor08 Куратор тега JavaScript
    "Хацкаем" метод метод, пишем в глобал результат, юзаем результат.
    Math.floorOrig = Math.floor;
    Math.floor = (n) => {
      window.num = Math.floorOrig(n)
      return window.num;
    }
    
    function getNum() {
      const num = Math.floor(Math.random() * 10);
    }
    
    getNum();
    
    console.log(window.num);


    Еще можно просто переопределить саму функцию.
    function getNum() {
      const num = Math.floor(Math.random() * 10);
    }
    
    function getNum() {
      return Math.floor(Math.random() * 10);
    }
    
    console.log(getNum());
    Ответ написан
    3 комментария
  • Стоит ли браться за программирование и что делать новичку?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Помогайте людям решать их проблемы, получайте за это деньги, не чувствуйте что вы их обманываете и получайте удовлетворение от своей работы.

    По моему работа мечты.

    Ваши возражения?
    Ответ написан
    1 комментарий
  • Почему не видно html в исходном коде страницы?

    yarkov
    @yarkov Куратор тега Vue.js
    Помог ответ? Отметь решением.
    Добро пожаловать в дивный мир фронтенд фреймворков.
    Поисковики увидят (гугл точно, но в целом с горем пополам), но если вам важна индексация, то вам надо осваивать SSR.
    Ответ написан
    5 комментариев
  • PHP или Python для собственного WEB?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Попробуйте c# в смысле net core. Как по мне стройная архитектура и отличная ide покроет все остальные минусы. Все это ставится на самом дешевом линукс хостинге. Не студия конечно а сам проект. В связке с angular or react будет вообще супер. Впрочем я сам предпочитаю vue
    Ответ написан
    Комментировать
  • PHP или Python для собственного WEB?

    Adamos
    @Adamos
    Если вы действительно собираетесь писать все-все с нуля, то язык безразличен, и даже разница между Django и Laravel, в сущности, невелика.
    Другое дело, что велосипеды сплошь и рядом не так эффективны и просты, как это кажется "на берегу". Поддержка их и добавление фич могут быстро оказаться дороже, а результат - хуже, чем использование готовых решений. А с ними, насколько я могу судить, у РНР получше, если речь о вебе и обычных для него задачах.
    Особенно для новичков-велосипедистов, для которых открытием оказывается, что то, что они полгода лелеяли и изобретали из головы, имеет столько готовых решений...
    Ответ написан
    1 комментарий