Задать вопрос
  • Ваше мнение о видеоуроках Евгения Попова?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Недавно в голову пришла идея небольшого сайта мне для работы.

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

    Сайты для работы не пишутся с нуля. Сайт для работы делается на основе заготовки для сайтов - CMS.

    Поэтому надо забыть про написание сайта с нуля, забыть про видеоуроки, а вместо этого выбрать подходящую CMS и делать сайт на ней.

    Про попова же, если коротко, то у его курсов ровно две проблемы:
    1. Его задача не поделиться знаниями, а продать что-нибудь. К несчастью, торговать он стал не гербалайфом, а низкокачественным говном собственного производства.
    2. Когда неспециалист берется учить других - это страшно. Сам нахватавшись по верхам, и не понимая смысла кода, который он пишет, попов остался в прошлом веке. Да, 18 лет назад, когда РНР только появился, все писали так. Но с тех пор изменилось очень многое. Программисты узнали о таких вещах, как отладка, обработка ошибок, безопасность, разделение кода и данных, разделение логики обработки данных и логики отображения, системы контроля версий, повторное использование кода и многое, многое другое. Шарлатаны же и недоучки так и застряли в прошлом веке, и не дают несчастным обманутым жертвам ничего из современных достижений. В итоге сайты, написанные по видуоурокам, постоянно ломаются, являются уязвимыми для любых типов атак и являются совершенно немордернизируемыми.
    Ответ написан
    Комментировать
  • Актуален ли видео курс Евгения Попова по JavaScript?

    @McBernar
    Да, JS за 8 лет изменился очень сильно.

    learn.javascript.ru для начала.
    Ответ написан
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

    opium
    @opium
    Просто люблю качественно работать
    Пару книжек по джаваскрипт прочитать и вот вы Джуниор
    Ответ написан
    4 комментария
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

    @ynblpb_spb
    дятел php
    А я бы на такой ситуации сразу пошел проходить собеседования на нужную вакансию и смотреть то, что там спрашивают, записывать, приходить домой и разбираться "чо хотели-тооо?". Брат (студент) по такой технологии за 2 месяца нашел работу младшим сисадмином (с нуля)
    Если не хочется тратить время на беготню и общение, то писать на hh.ru HRам и просить у них тестовое задание (для большинства вакансий оно есть).
    Ответ написан
    1 комментарий
  • Есть ли какие-либо недостатки у статических методов?

    @D3lphi
    Значит так, берем толстую тетрадь, ручку и пишем фразу "Статические методы не имеют отношения к ООП" до тех пор, пока не запомним это на всю жизнь.
    Суть объектно ориентированного программирование, как понятно из названия, заключается в том, что должен существовать объект. Статика существует не в контексте объекта, а в контексте класса! Из этого вытекает то, что на протяжении всего жизненного цикла вашего кода будет существовать лишь одно глобальное состояние статических членов класса.

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

    Есть ли у статического варианта какие-то подводные камни

    Большое количество. При чем, не таких уж и подводных. Из-за того, что статика глобальна, она плохо поддается тестированию, ее нельзя замокать. Глобальное состояние плохо поддается отладке. Отсутствует возможность подменить реализацию, так как это позволяют сделать объекты.
    Ответ написан
    4 комментария
  • Как лучше всего изучать webpack 4?

    kuzvac
    @kuzvac
    Попробуйте официальную академию вебпака :) https://webpack.academy/
    Ответ написан
    Комментировать
  • Взял первый заказ на UpWORK от индуса. Как разрулить проблемы?

    yetanothercoder
    @yetanothercoder
    java(script) coder
    Печальная ситуация, вызванная видимо прежде всего недостатком опыта в подобных доработках да и в целом, поэтому на будущее несколько правил:
    1) не связываться с индусами (ну только если на хлеб не хватает и кроме индусов работы/заказов нет).
    2) выяснять заранее максимальные подробности заказа перед его принятием (тут очевидно этот ад можно было заранее предвидеть)
    3) не лезть сразу на боевые сервера (production), если у клиента только боевой сервер или он предлагает делать сразу на нем - то учитывая п. 2) посылать лесом.

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

    w1ld
    @w1ld
    Программирую
    1. Ну, `List` не потокобезопасен. Для избежания Kernel-mode constructs (`lock` и пр.) можно попробовать потокобезопасные ConcurrentQueue или ConcurrentStack в System.Collections.Concurrent, если заполнение до чтения (а не вовремя). Наполняете, вызываете GetEnumerable, который делает снэпшот коллекции, сравниваете. Чтение должно происходить без блокировки.

    2. BlockingCollection для проблемы producer-consumer, когда одновременно чтение и запись. Я так понял это не входит в задачу.

    3. Если вы не изменяете, то и блокировать не нужно. Вне зависимости от reference или value type. (Конечно, через стэк лучше, если изменяете. Тогда копия для каждого потока своя.)

    По теме можно Рихтера почитать, CLR via C#, 10 глава, Asynchronous Synchronization и The Concurrent Collection Classes
    Ответ написан
    Комментировать
  • Нужно ли Высшее Образование если есть опыт?

    Therapyx
    @Therapyx
    Data Science
    у нас где-то начинало 500 людей на первом семестре, в конце закончило только ~100. Дак вот, при разговоре с людьми из тех 400 людей - ответы были примерно такие же. Потеря времени, ненужные предметы и бла бла бла. И это в Германии, где материал как правило первичной(или почти) свежести.
    Даже мой друг помню как-то начинал и кричал это ведь же изи. Через месяц он забирая документы говорил, "ну я думал буду заниматься полезными вещами, а тут ересь какая-то!", когда я спрашивал какие полезные? это оказывалось "писать код", а ересь это Архитектура ЭВМ, Сети, айти безопасность, математика итд... :D
    Универ это хуже работы, если ты не заглядываешь дальше того, что показывает проф, не обсуждаешь эти темы с другими людьми и все в этом духе, значит ты студент из серии "пришел в 8 утра, поспал и ушел домой", а потом жалуешься. И что тебе мешает работать дальше и учиться? У нас огромное кол-во студентиков именно так и делают, так люди и учатся.
    А теперь перефразированная цитата хорошего профа на перекурах - "Берут всех подряд, а потом работой с этой биомассой, у них мало того что способности на нуле, дак и желания еще меньше".
    - А вообще странный вопрос, обычно люди бросают вуз "без опыта". А тут уже 1.5 года. Когда у меня был год опыта, меня не покидали мысли пойти в вуз и изучить айти тематику общирно.
    Ответ написан
    Комментировать
  • Нужно ли Высшее Образование если есть опыт?

    Я бы не бросал, досидел хотя бы до бакалавра, т.к опыт это круто, но всегда можно споткнуться о хрюшу, у которой в требованиях написана вышка, и большее ее ничего не волнует. А в вакансиях на java я почти везде встречал требования о вышке.
    Ответ написан
    6 комментариев
  • Какие книги/интернет ресурсы почитать для начинающего SQL разработчика (transact-sql)?

    @fakir89 Автор вопроса
    Спустя год , отвечу сам на свой вопрос. Отличные книги для подготовки к экзаменам 70-461 - 70-463 и так далее. Книги можно купить на литресе или озоне.

    Microsoft SQL Server 2012. Создание запросов.
    Microsoft® SQL Server® 2012. Реализация хранилищ данных
    Ответ написан
    Комментировать
  • Есть ли большой туториал для изучения С# desktop + DB?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Лучшей книгой для вас будет Эндрю Троелсен "Язык программирования C# 6.0 и платформа .NET 4.6".
    Прекрасная книга для профессионалов, рассказывает обо всём в языке и почти обо всех возможностях и использованиях. В первую очередь, предназначена для программистов, которые уже умеют программировать, но не знают язык C#. В ей всё структурировано на разделы, каждый из них можно читать независимо и использовать как справочник.
    У этой книги есть только один недостаток - написана для профессионалов, и автор пишет, как делать, но не пишет, почему так делать - вы и так уже это понимаете, иначе книга стала бы совсем уж гигантской.

    Рекомендую взять время и попробовать написать несколько консольных программ на c#, начиная с моего любимого решателя квадратных уравнений :) и работы со списками (простой телефонный справочник). И только после этого начинайте работать с WPF.

    А вот очень приличный учебник по wpf:
    https://professorweb.ru/my/WPF/base_WPF/level1/inf...
    Довольно суховато написано, но с неплохими примерами.

    И опять же, рекомендую не начинать делать вашу программу, а сделать с помощью WPF те же программы, которые написали с консолью. И освойтё MVVM.
    Ответ написан
    1 комментарий
  • Есть ли Обучение C# с практикой?

    @PushMeNow
    .NET Developer
    Понимаете в чём соль: у c# спектр деятельности "немного" шире чем у js или php, следовательно и подводных камней больше, поэтому как-то поверхностно на сайтах с нуля я его изучать не советую ибо потом будут восклицания типа:"Какого ... ты не компилишься!?". Если уж приглянулся c#, то советую всё таки по книге с разбором примеров на практике, отлично пишет о нём Герберт Шилдт. Если я вас не убедил, то можете попробовать сайт Метанит, там расположена очень годная инфа, но опять же всё очень поверхностно. Хотя возможно я не прав и для начального ознакомления хватит и основ.
    Ответ написан
    Комментировать
  • Какую посоветуете (актуальную) книгу для изучения JavaScript?

    @Abcdefgk
    "Хороший учебник" про любой язык - это когда в нём хорошие задачи. А "теорию" может рассказать любой дебил. Отсюда вывод:
    https://learn.javascript.ru/
    Ответ написан
    Комментировать
  • Какую посоветуете (актуальную) книгу для изучения JavaScript?

    konkin_ivan
    @konkin_ivan
    Познаю Web!
    Актуальный учебник: https://learn.javascript.ru/
    Ответ написан
    Комментировать
  • Каков сценарий использования git для одного разработчика?

    KazeZlat
    @KazeZlat
    Погромист-затейник
    Работаете в ветке dev, периодически вливая ее в master. Для крупных задач (не входящих в один коммит) делаете отдельные ветви из dev.

    Вливая dev в master, делаете это с ключом --squash как то так:
    git checkout master
    git merge --squash dev

    Тут теоретически могут быть конфликты, если вы делали коммиты в masterпараллельно с dev, которые вам надо разрешить, а после уже добавляете и делаете один большой коммит:
    git add -A
    git commit -m "Merged dev: %кратко (или нет) основные изменения%"
    git push


    А чтобы не мозолили глаз висящие коммиты с логической незавершенностью, их можно сливать их перед merge с помощью интерактивного rebase:
    git checkout dev
    git rebase -i master

    Откроется редактор, в котором будет список коммитов ветки dev. Здесь можете слепить ненавистные коммиты с помощью команды squash (и тогда вам предложат отредактировать сообщение) или fixup (тут не предложат) и потом сделать git push --force (для одного не критично, в толпе лучше использовать --force-with-lease.

    Или есть еще вариант - лепить к предыдущему коммиту сразу с помощью git commit --amend

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

    @kttotto
    пофиг на чем писать
    У Вас не правильный подход. Во первых забудьте про Thread и используйте TPL. Во вторых для распараллеливания запросов в цикле есть замечательный метод Parallel.ForEach. В третьих для ожидания выполнения всех параллельных задач есть Task.WaitAll.
    В общем Вы можете создать список Task-ов и запихнуть их в Task.WaitAll, но лучше пройдитесь параллельным форичем по Вашему периоду и внутри запускайте Ваши методы. Код за форичем будет ожидать завершения всех потоков в цикле.
    Ответ написан
    2 комментария
  • Какие самоучители посоветуете вы для изучения английского?

    @Frel
    На распутье
    Есть один сайт где грамматика в одном месте и не только!
    lingualeo.com
    Ответ написан
    Комментировать
  • Полезные ресурсы, а лучше книги про Паттерны?

    Если по хорошим ресурсам(помимо книг), то вот: https://refactoring.guru/design-patterns

    p/s присутствуют примеры на Java
    Ответ написан
    Комментировать
  • Полезные ресурсы, а лучше книги про Паттерны?

    qonand
    @qonand
    Software Engineer
    Читать стоит классику жанра:
    Э.Фримен, Э. Фримен — Паттерны проектирования
    Э.Гамма, Р.Хелм, Р.Джонсон, Дж.Влиссидес. — Приемы объектно-ориентированного проектирования. Паттерны проектирования
    М.Фаулер - шаблоны корпоративных приложений

    Лучше конечно читать в оригинале, но есть и переводы на русском
    Ответ написан
    Комментировать