5 років тому, слідуючи всім порадам Сергія (переглянув майже весь канал)), я став бекенд розробником. Тому з впевненістю можу сказати, все що радить Сергій це оптимальні поради що працюють для вас. Дякую Сергій за вашу працю! Ну і менторинг який я теж використовував у навчанні це дійсно супер ефективна методика, особливо для світчерів як я)
Добрый день, спасибо за видео! Ох уж этот зоопарк на бекенде, сначала выбери любимый яп, потом выбери любимый фреймворк, потом выбери любимую ОРМку, потом выбери любиму БД, выбери любимую ОСь (выбор архитектуры процессора?). Поэтому совет выбора языка по тому как он нравится - я считаю немного поверхностным. Одно дело выбрать язык, который может нравиться, но потом придется столкнуться с реальностью работы с фреймворками и либами которые не будут нравиться и наоборот может ЯП не очень будет нравиться, но сама его экосистема будет сильно нравится. Та и само понимание что нравится, а что нет будет меняться с годами и опытом, поэтому свитчинг для многих людей - неизбежен, не только потому что свои предпочтения могут меняться, но и индустрия может сильно меняться. Но я полностью согласен что у человека должен присуствовать эмоциональных отклик - это топливо мотивации, но далеко не всегда это связано с выбором языка программирования. Мб более универсальным критерием был бы выбор ЯПа по которому есть возможность качественного обучения, нет смысла учить Окамл если обучение нему будет создавать больше трудностей чем помогать. Я всегда удивляюсь Вашему пониманию "схожести языков". Да языки могут быть похожи синтаксически, но семантически и концептуально между ними может быть пропасть. Говорить что С# это джава от Майкрософта (я могу устать перечислять различия между джавой и шарпом), а Котлин вышел из джавы и поэтому они похожи - это мягко говоря некорректно. Это как сравнивать два мотоцикла и сказать что они почти одинаковые потому что у них цвет одинаковый и одинаковое количество колёс. Минус MySQL что его сложно устанавливать на виндовс - не актуален. БД можно ставить не в систему, а через докер и кстати тот же PHPMyAdmin тоже можно подымать через докер весьма просто. На последок хочу еще раз поблагодарить за Ваши труды, что стараетесь помогать людям с развитием и сами двигаетесь вперед.
@@seka1309 Я попробую, но сразу отмечу что я джаву знаю поверхностно и по некоторым пунктам могут быть неточности Начну с того что С# работает с .net, java с Java Platfomr EE - то есть на практике одна две программы делающие одно и то же будут выглядеть совершенно по разному и иметь в обороте разные имена в С# есть nullable типы и возможность работать с нулл как отдельным типом для борьбы с НулПоинтер ошибками, когда в джаве нету nullable типов в С# есть структуры, в java нет в С# есть ref который дает механизм изменения значения переменной из метода в который она передалась, в java нет в java есть анонимные классы, в С# нет в С# есть анонимные объекты, в java нет между java и С# есть различия в модификаторах доступа, начиная поведения по умолчанию (при отсуствии явного объявления модификатора) и заканчивая их количеством и возможных комбинаций модификаторов в С# дженерики существуют в рантайме и не пропадают на этапе компиляции, в java дженерики исчезают после компиляции (и кажется есть различия работы с ковариантностью и контрвариантностью) в С# есть кортежи и синтаксис для их распаковки, в java нет в обоих языках уже есть паттерн матчинг но описывается и работает он по разному (тут тоже может быть достаточно много отличий) в java ты обязан прописывать в сигнатуре метода тип прокидываемой ошибки, в С# нет в С# очень много ситаксиса есть для геттеров и сеттеров, в java нет в С# есть методы расширения, в java нет в в java енамы это полноценные классы для которых можно добавлять конструкторы методы, С# енамы это по сути числовые примитивы без возможности объявить методы, кроме разве что создавать методы расширения в С# есть события и делегаты в С# есть LINQ (что по сути является языков в языке), тогда как ближайший аналог в джаве это Stream API в С# есть async/await работа со строками сильно отличается между java и С# в С# прострастнва имен, в java модули (кажется которые появились сравнительно недавно) в C# есть возможность работать с указателями через unsafe блоки, в java нет в С# есть особый синтаксис для создания итераторов, в java нет в С# можно перегружать операторы, в java нет в С# есть параметры по умолчанию и именнованные параметры для методов, в java нет в С# есть using для гарантированного высвобождения ресурсов, в java для этого try используются И это только по верхам пройтись, на самом деле сложно представить сколько еще различий можно найти в нюансах работы похожих структур данных, когда какие ошибки прокидываются, а когда нет, различные экосистемы построенные вокруг языков увеличивают количество различий между языками до бесконености.
Спасибо! Очень нужная дорожная карта для тех, кто ранее ничем подобным не занимался. Учусь программированию уже второй год, пока только языки, и только сейчас хоть кто-то разъяснил, как программу собирать.)
Дехто радить застосовувати контейнерізацію одразу на початку навчання. Так "docker compose up -d" - це дуже просто. Але є одне але. Без розуміння того як працює контейнер ви потім будете сидіти і чухати потилицю, бо незрозумілим буде де проблема. У фреймворку, у БД, у контейнері, у взаємодії контейнера з БД із контейнером з фреймворком і т. ін. Список може виявитися несподівано довгим, а якщо це все ще й на Віндовс замутити, то шанси покинути навчання дуже високі.
с++ спефицичный и на нем, например, яндекс. но ирония в том, что это очень специфичный язык для рынка. на опыте да, можно изучить, а в начале - это будет как убить мамонта, но не знать как его утащить и он так и будет лежать и вонять пока его коршуны недогрызут. с с++ можешь в геймдев податься и вулкан писать, но это не совсем для снг реалий. язык крутой, но рынку нужны быстрые решения и более простые, каждый день простоя стоит денег и далеко не каждый, кроме того же яндекса может себе позволить такую роскошь
Добрый день! Хочу у вас поинтересоваться какой вариант лучше выбрать, изучать на родном языке какой-то условно купленный курс или есть вариант взять от MIT на английском, английский у меня на уровне понимания документации и плюс минус что-то на слух воспринять могу(процентов 60-70)
На самом деле реляционные базы данных называются так из-за их основы на реляционной алгебре, а не из-за связей между таблицами. Даже база данных, состоящая из одной таблицы, всё равно будет реляционной. "Реляции" в контексте реляционных БД - это отношения между колонками и записями внутри таблиц, а не только между самими таблицами.
Да, и теории множеств. А еще CRUD операции В ИБ, это не SQL. SQL начинается от уровня понимания транзакций, и всего остального...Но зачем все это знать, если у бекендера есть ORM
Мне 35, горю просто (в хорошем смысле) сменить профессию, уверенно решил двигаться в направлении backend, фундамента в IT нет, я не слишком староват с переквалификацией?)
совсем не староват. но усилий прийдется прикладывать очень много и долго (минимум год, а скорее два) и потом очень долго искать работу через десятки провальных собеседований, где завышенные требования, нужен опыт (а где его взять?) и конкуренция. и это не зависит от возраста. у 25летних те же проблемы. И хотя некоторый ейджизм возможен, но наибольшее значение имеет отсутствие коммерческого опыта работы.
Ты уху ел?))) Мне 40....учу Go. Полёт норм. Не ссы, если голова более менее интеллектуальная и с памятью норм, то ваще легко. Главное каждый изучать хоть что нибудь
А я сам себе такой roadmap придумал 😂Я уже и юнит тесты писать начал и фронтенд технологию Blazor мало мальски освоил для своего C# и Redis нереляционный в придачу к реляционным Postgres и MySql, а ещё и Сагу и MassTransit. Можно уже пытаться работу искать? И да, учил всё сам и в проекте своём применил всё обозначенное выше и плюс освоил всё то, о чём Сергей говорил.
Языки, нужно выбирать верно говорите исходя из задач, но сейчас в основном это api + ws, тут возникает вопрос какой язык может обеспечить WS потоки, NoSQL - суть DOM объект положить целиком, и хранить такой какой есть- это очень ресурсо зхатратно припоиске если модели хнятняться не в ОЗУ а ПЗУ, CRUD, PgSQL это на текущий момент самая оптимальная СУБД, сидим к коментариях и записываем мысли ;). Фреймворки нужно выбирать от языка+ кол-во людей в комьюнити, при паблике SSL + nginx + Acme(certbot). И я читаю что бэкэндер в себя devoops в себя включает по умолчанию
Сергей и весь коллектив канала, традиционное спасибо за выпуск, как всегда содержательно и интересно 👍👍👍 Слушаю и мечтаю, что бы что-то подобное по уровню и харизме было про аналитику данных 🙂
Так раньше у динозавров выбора просто не было. Языки появлялись, их писали динозавры. Как раз потому как предыдущий не устраивал про резонам X or Y or Z . И поэтому старики и дают роадмап по которому сами шли. А так всё правильно - сейчас уже не актуально, хотя база нужна.
Я хоть и уже давненько в мире разработки, но периодически смотрю что там новичкам советуют, и что-то мне совсем не понравилась фраза о том, что сейчас реляционки больше 80 процентов рынка занимают. Во всех проектах, где я был, там было что угодно, начиная от cassandra и clickhouse заканчивая самописными движками для работы с данными. И как будто сейчас необходимо даже для джуна не просто знать как писать на языке, а знать чуть ли не исходный код языка. На гошке на каждом собесе будут ждать вопросы как устроены те или иные объекты под капотом, как проходит этап компиляции, и уходить вниз это может чуть ли не до обработки ассемблера процессором.
Laravel отраслевой стандарт для PHP. Оочено спорное утверждение. Я б даже сказал что образовалась отдельная каста Laravel разработчиков, которые как бы пишут на php но по факту на ларе, кто в теме тот поймет о чем я. Отраслевой стандарт php это Symfony здесь даже нечего обсуждать
Ребят мне 15 так что не смеемся и не говорим что я тупой. Помогите разобраться что вообще такое бэкэнд это только веб сайт и сервисы под ним? Или бэкэнд это все сразу и в десктопе и в мобилке и в веб? Если да то чем занимается мобайл разраб и бэкэнд разраб какие отличия. Есть ли направления в Java не связанные с одной областью, только с веб или моблкой, а что-то серверное которые соединяет и веб сайт и мобильное приложение, на чем работают оба этих приложения. 😅
Бэкенд это вся логика приложения, которое крутится на сервере и обрабатывает запрос. Бэкенд будет присутсвовать везде, даже если ты написал десктоп для себя без клиента-сервера, и вот то, что ты написал для того, чтобы работала твоя прога, ее функционал, тоже будет бэкендом(но скорее как модуль локальной логики, без сервака). Мобаил разраб это абстракция, так же само можно сказать про дестоп разраб, геймдев. Внутри этой абстракции будет присуствовать как фронтенд так и бэкенд(и другие узкоспециализированные), в случае с мобилкой, если это приложение будет крутится на сервере, у тебя будет бэкенд API, а так же фронтенд для мордочки. На джаве ты напишешь много чего, но опять же не нужно искать область по конкретному языку, просто ищи область и уже исходя из области ты увидишь перечень инструментов которые хороши для этой области. Выбирай направление, а уже после инструмент, Сергей об этом не раз говорил. " А что то серверное, которое соединяет и веб сайт и мобильное приложение..." Ты уже тут и ответил на свой вопрос, это и есть серверное приложение которое и будет общим для сайта и мобилки( это просто API написанный на том перечне языков из видео, к которому будет ходить и сайт и мобилка), конечно можно и разделить это все, если есть такая потребность
Никто уже ничего не ставит на виндоус, для этого есть докер. Майэскюэль давно принадлежит ораклу, поэтому скорее всего уже давно проблем с установкой куда бы то ни было не будет
Насчет проблем с виндой и MySQL. Мне кажется, бэкэнд разработчику вообще нет смысла сидеть на винде, если только он не пишет под .net. Ваши приложения в 99.9% будут работать на серверах под linux, так зачем лишние костыли ? Надо сразу осваивать эту систему.
@@woodzimierz9621, так, на бекенді. Для повноцінного розуміння і створення проекту на Джанго, просто необхідно знати HTML, CSS хоча б на базовому рівні. Це те, про що він казав "щоб мордочку висунути в інтернет". По великому рахунку, треба і JavaScript трохи знати для динаміки на сторінці, або для усіляких "затемнень" і "вискочуючих віконечок", але це вже не вважається базовими знаннями. А от HTML CSS - треба точно., хоча б основу.
путь от пхпшника до программиста занимает лет эдак... хотя, кого мы обманываем - бывших пхпшников не бывает как и бывших наркоманов. хотя, как знать... всё-таки пхп эволюционирует, постепенно изобретая все те вещи что были в джава изначально. возможно в ходе своей эволюции бывшая персонал-хоум-пейдж однажды настолько эволюционирует что станет наконец просто ещё одним клоном джавы, только более медленным... но это будет ещё не скоро. как знать, может роботы доведут это дело до конца.
Только никто не пишет на голом PHP, стандарт индустрии Symfony или Laravel, компании которые исторически вляпались с написанием своего фремворка теперь больно и медленно внедряют точечно пакеты Symfony. Я работал над проектом который существует лет 15 и это один огромный монолит который пытаются как-то рефакторить, но тем не менее сам продукт генерит миллионы долларов дохода) И к слову те же фреймы php это то из-за чего он не умер лет 10 назад и сейчас ситуация на рынке труда для этого языка лучше чем для джавы или шарпа
9:40, На этом моменте тут Яндекс или Тинькофф выскакивают из кустов и кричат: "ЕСЛИ ВЫ НЕ ЗНАЕТЕ АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ, ТО В ПРИНЦИПЕ НЕ ЗНАЕТЕ ЯЗЫКА и ВООБЩЕ ВЫ ПЛОХОЙ СПЕЦИАЛИСТ ЗНАЧИТ))))
Я не дуже згоден з 23:00, з тим, що контерізацію треба вчити у самому кінці. Просто ви до цього розповідали наприклад про проблеми з MySQL на винді - так ось контерізація й вирішує ці проблеми. Також при роботі з інтерпретованими мовами контерізація може дуже допомогти. Вчити її треба на дуже базовому рівні, просто щоб поточний проект можно було розгорнути локально. Нехай без розуміння що воно насправді робить, нехай конфіги будуть згенеровані ШІ, але це значно спростить сам процес навчання.
typescript это javascript с типами. Что это значит на практике? А то что они шарят одну и ту же семантику, у них одинаковые функции и выполнятся они в одинаковых окружениях. То есть выучив тайскприпт и если есть понимание как код написанный на тс будет работать в рантайме, то эти знания спокойно можно применять и в жс, то есть переключится с тс на жс в разы проще, чем переключится с жс на тс.
4:15 Ось тут я не згоден, ось чому: наразі є мова яка значно по будь якому параметру перевішує інші: інструментарій та система керування залежностями, гарантована відсутність помилок, швидкодія та споживання пам'яті, можливість застосування для будь якої задачі, швидкість та зручність розробки. Авжеж ця мова це Rust. Але, при всьому цьому я не дуже можу уявити її як першу мову. Фактично єдиний мінус Rust- це поріг входу. Тому вивчити якусь java, php, go, python а потім вже перейти до Rust - це шлях. додано 5:30 ну ок...
Ця вся краса вам такою виглядає, бо просто полюбляєте Rust, але в реальності справи трохи інші. Не існує "срібної кулі" яка б вирішувала абсолютно всі проблеми.
@@woodzimierz9621 я просто перерахую які великі проблеми вирішив Rust: - data race/race condition: таких помилок гарантовано не буде при конкуретному коді з використанням shared memory (такі гарантії можуть дати лише специфічні функціональні мови на кшталт Хаскеля) - помилки пов'язані з ручним керуванням пам'яттю або витрати на garbage collector: фактично у вас є С, де споживання пам'яті дуже мале але можливі помилки та є мови де є gc та пов'язані з цим накладні расходу пам'яті та процесорного часу який витрачається на збирання сміття. Rust одночасно споживає мало пам'яті та не витрачає процесорний час, але не має необхідності вручну визволяти пам'ять - null: різні мови мають різноманітні помилки якщо щось може бути null, як і об'єкт у мовах високого рівня так і поінтер у мовах низького рівня. Нема null - нема помилок. Якщо програміст звертається до чогось у коді - там буде гарантовано те що він очікує. Поінтери завжди посилаються на валідні дані - іммутабільність: скоріше це стає проблемою коли повертаєшся з Rust до іншої мови. У парадигмі ООП є окремі правила, як має називатися та як працювати геттер, а як - сеттер. У Rust це вирішено просто у сигнатурі функції. Ніяка мейнстрім мова наскільки я знаю так не вміє - швидкодія: Rust десь проміж с та с++. Всі інші мови значно повільніше. Go у випадку вебсервера повільніше у рази навіть якщо не буде проблем с gc Фактично ви можете взяти будь яку мову та переконатися, що Rust не поступається або навіть перевищує її у аспекті де вона сяє та значно перевищує у будь яких інших аспектах.
Есть академический подход, сначало компилируемый язык со строгой типизаций C++. Потом интерпретируемый язык со строгой типизацией C# или Java. А потом уже всё остальное, PHP Javascript и прочие Python'ы. Тогда праильно сформируется понимание как всё работает. Но если цель формошлёпить или генерить CRUDы, тогда пофиг, можно учить тот ЯП на котором будешь работать, если возьмут конечно.
По поводу php у каждого своей роадмап. Новичку я бы рекомендовал изучать битрикс, так как на нем ГОРАЗДО больше вакансий. Да и берут джунов охотнее. Тем более, что зачастую первая работа будет в студии, а не в продуктовой компании. А в России битрикс востребованное чем ларавел, уж не говоря о симфони. Достаточно на hh сравнить кол-во вакансий. На текущем проекте у нас так вообще нативный php только. Какие фреймворки и ORM? Только прямые запросы. Мне так и сказали на собесе, что окей, что знаешь ларавел, а нативный php знаешь? То же самое с докером, в студии скорее всего будете сразу на проде фигачить. Ну или будет гит для вас, но при этом будете дублировать код в прод, так как никакого докера не будет у клиента.
По докеру по факту будет скорее всего докер композ. Нужно просто уметь скачивать докер и его устанавливать. Ну и достаточно docker compose up -d -build чтобы развернуть проект. Сам конфигурационный файл докер композа уже будет написан на проекте далеко до вас. Писать с нуля никто не попросит, уж тем более джуну. Это работа девопса. Опять же если докер вообще будет на проекте
Если человек не любит работать, то он становится руководителем. Когда ему становится снова скучно, то он начинает учить других. Это применительно ко всем сферам деятельности.
Ну конечно, писать сценарии, прорабатывать дикцию, заниматься записывающей техникой и софтом, заниматься монтажем, заниматься маркетингом, заниматься рекламой, придумывать интересные темы для видео, структурировать знания, формировать знания в удобоваримом формате для аудитории - это же намного проще чем писать круды
душнила моде он relation - это не про связи между таблицами, это математики так таблицу обозвали. то бишь реляционная == табличная на русском это "отношение". но алгебра при этом реляционная.
Нифига себе, скл простой 😳 Это самая большая головная боль. Год пользуюсь и до сих пор часто часами пишу один запрос с cte, особенно с рекурсией. Особенно для апдейта. А если для инсерта, то вообще приходится через подзапросы, так как, оказывается не каждая версия mysql, такое поддерживает.
Скачать Roadmap для Backend-разработчика!👉 t.me/foxminded_events_bot?start=672b738ede96bbca4001e7b5
Привет всё ещё Сергею Немчинскому :)
😊
Сергей мы вас все еще очень любим!!! И уважаем!
Сергей Немчинский - вы лучший!Видео - огонь!
Вся жизнь вела к моменту выхода этого видео 😊
класс)
5 років тому, слідуючи всім порадам Сергія (переглянув майже весь канал)), я став бекенд розробником. Тому з впевненістю можу сказати, все що радить Сергій це оптимальні поради що працюють для вас. Дякую Сергій за вашу працю! Ну і менторинг який я теж використовував у навчанні це дійсно супер ефективна методика, особливо для світчерів як я)
Добрый день, спасибо за видео!
Ох уж этот зоопарк на бекенде, сначала выбери любимый яп, потом выбери любимый фреймворк, потом выбери любимую ОРМку, потом выбери любиму БД, выбери любимую ОСь (выбор архитектуры процессора?). Поэтому совет выбора языка по тому как он нравится - я считаю немного поверхностным. Одно дело выбрать язык, который может нравиться, но потом придется столкнуться с реальностью работы с фреймворками и либами которые не будут нравиться и наоборот может ЯП не очень будет нравиться, но сама его экосистема будет сильно нравится. Та и само понимание что нравится, а что нет будет меняться с годами и опытом, поэтому свитчинг для многих людей - неизбежен, не только потому что свои предпочтения могут меняться, но и индустрия может сильно меняться. Но я полностью согласен что у человека должен присуствовать эмоциональных отклик - это топливо мотивации, но далеко не всегда это связано с выбором языка программирования.
Мб более универсальным критерием был бы выбор ЯПа по которому есть возможность качественного обучения, нет смысла учить Окамл если обучение нему будет создавать больше трудностей чем помогать.
Я всегда удивляюсь Вашему пониманию "схожести языков". Да языки могут быть похожи синтаксически, но семантически и концептуально между ними может быть пропасть. Говорить что С# это джава от Майкрософта (я могу устать перечислять различия между джавой и шарпом), а Котлин вышел из джавы и поэтому они похожи - это мягко говоря некорректно. Это как сравнивать два мотоцикла и сказать что они почти одинаковые потому что у них цвет одинаковый и одинаковое количество колёс.
Минус MySQL что его сложно устанавливать на виндовс - не актуален. БД можно ставить не в систему, а через докер и кстати тот же PHPMyAdmin тоже можно подымать через докер весьма просто.
На последок хочу еще раз поблагодарить за Ваши труды, что стараетесь помогать людям с развитием и сами двигаетесь вперед.
Расскажи пожалуйста, о разница джавы и с#
@@seka1309 Я попробую, но сразу отмечу что я джаву знаю поверхностно и по некоторым пунктам могут быть неточности
Начну с того что С# работает с .net, java с Java Platfomr EE - то есть на практике одна две программы делающие одно и то же будут выглядеть совершенно по разному и иметь в обороте разные имена
в С# есть nullable типы и возможность работать с нулл как отдельным типом для борьбы с НулПоинтер ошибками, когда в джаве нету nullable типов
в С# есть структуры, в java нет
в С# есть ref который дает механизм изменения значения переменной из метода в который она передалась, в java нет
в java есть анонимные классы, в С# нет
в С# есть анонимные объекты, в java нет
между java и С# есть различия в модификаторах доступа, начиная поведения по умолчанию (при отсуствии явного объявления модификатора) и заканчивая их количеством и возможных комбинаций модификаторов
в С# дженерики существуют в рантайме и не пропадают на этапе компиляции, в java дженерики исчезают после компиляции (и кажется есть различия работы с ковариантностью и контрвариантностью)
в С# есть кортежи и синтаксис для их распаковки, в java нет
в обоих языках уже есть паттерн матчинг но описывается и работает он по разному (тут тоже может быть достаточно много отличий)
в java ты обязан прописывать в сигнатуре метода тип прокидываемой ошибки, в С# нет
в С# очень много ситаксиса есть для геттеров и сеттеров, в java нет
в С# есть методы расширения, в java нет
в в java енамы это полноценные классы для которых можно добавлять конструкторы методы, С# енамы это по сути числовые примитивы без возможности объявить методы, кроме разве что создавать методы расширения
в С# есть события и делегаты
в С# есть LINQ (что по сути является языков в языке), тогда как ближайший аналог в джаве это Stream API
в С# есть async/await
работа со строками сильно отличается между java и С#
в С# прострастнва имен, в java модули (кажется которые появились сравнительно недавно)
в C# есть возможность работать с указателями через unsafe блоки, в java нет
в С# есть особый синтаксис для создания итераторов, в java нет
в С# можно перегружать операторы, в java нет
в С# есть параметры по умолчанию и именнованные параметры для методов, в java нет
в С# есть using для гарантированного высвобождения ресурсов, в java для этого try используются
И это только по верхам пройтись, на самом деле сложно представить сколько еще различий можно найти в нюансах работы похожих структур данных, когда какие ошибки прокидываются, а когда нет, различные экосистемы построенные вокруг языков увеличивают количество различий между языками до бесконености.
Какой то chatGPT написал, несерьёзно как-то...
@@ievgenk.8991 спасибо
@@xakep2776 Напиши лучше, тебе люди спасибо скажут :)
Спасибо! Очень нужная дорожная карта для тех, кто ранее ничем подобным не занимался. Учусь программированию уже второй год, пока только языки, и только сейчас хоть кто-то разъяснил, как программу собирать.)
отлично, успехов вам!
Спасибо. Хотелось бы также видео о roadmap для ML разработчика
Я выбрал язык программирования по логотипу который понравился и прекрасно на нем работаю.
Какой выбрали?
go ?
Сделайте, пожалуйста, отдельный плейлист с роадмапами.
Тільки на минулому стрімі спитав за спрінг от і відос по темі беку. Дякую за відео
Ми раді, що відео корисне для вас
как всегда cool!! ))
Доброго дня Сергеям Немчинским , остальным соболезную
Большое спасибо за информацию!
Пожалуйста! ☺
Здравствуйте, а чтобы стать бэкэндером не нужно учиться в вузах?
Дехто радить застосовувати контейнерізацію одразу на початку навчання. Так "docker compose up -d" - це дуже просто. Але є одне але.
Без розуміння того як працює контейнер ви потім будете сидіти і чухати потилицю, бо незрозумілим буде де проблема. У фреймворку, у БД, у контейнері, у взаємодії контейнера з БД із контейнером з фреймворком і т. ін. Список може виявитися несподівано довгим, а якщо це все ще й на Віндовс замутити, то шанси покинути навчання дуже високі.
Так контейнери краще вчити потім?
Я учу С++. Подскажите как вы смотрите на С++ вплане Бэкенд и есть у С++ фрейворки?
Мечта извращенца.
@@projectJdk почему же? Бэкенд у большинства крупных и дорогих компании именно на C++
@@projectJdk Ты про js?
с++ спефицичный и на нем, например, яндекс. но ирония в том, что это очень специфичный язык для рынка. на опыте да, можно изучить, а в начале - это будет как убить мамонта, но не знать как его утащить и он так и будет лежать и вонять пока его коршуны недогрызут. с с++ можешь в геймдев податься и вулкан писать, но это не совсем для снг реалий. язык крутой, но рынку нужны быстрые решения и более простые, каждый день простоя стоит денег и далеко не каждый, кроме того же яндекса может себе позволить такую роскошь
Спасибо ! 🎉
😊
Есть смысл сразу начать изучать джанго? Ну то есть без базз данных и тд и прочего просто сразу джанго(питон знаю)
лучше бд потом джанго, можно начать и с фаловой бд а потом и постгрес они изи
Добрый день! Хочу у вас поинтересоваться какой вариант лучше выбрать, изучать на родном языке какой-то условно купленный курс или есть вариант взять от MIT на английском, английский у меня на уровне понимания документации и плюс минус что-то на слух воспринять могу(процентов 60-70)
Я все понял, пошел я на завод.
С таким роадмепом ещё компас нужен)
А что не так с роадмепом?
Добрый день, я разрабатываю сайты на фрилансе, я учился сам, подскажите пожалуйста могу ли я указать фриланс как опыт работы backend и frontend?
Коммерческий
@xakep2776 спасибо большое
@@valid-cooler да не за что, если что обращайтесь
Локально базы в систему лучше вообще никогда не ставить - юзайте докер! )
8:50 золотые слова!
На самом деле реляционные базы данных называются так из-за их основы на реляционной алгебре, а не из-за связей между таблицами. Даже база данных, состоящая из одной таблицы, всё равно будет реляционной. "Реляции" в контексте реляционных БД - это отношения между колонками и записями внутри таблиц, а не только между самими таблицами.
Да, и теории множеств. А еще CRUD операции В ИБ, это не SQL. SQL начинается от уровня понимания транзакций, и всего остального...Но зачем все это знать, если у бекендера есть ORM
так если в списке есть докер - то какая сложность для винды в mysql?))
Складність - докер для вінди. Не на всіх редакціях ОС є його підтримка, як мінімум.
Во frontend выбор все-таки есть, потому что еще есть flutter. На нем тоже активно веб-приложения пишут
Мне 35, горю просто (в хорошем смысле) сменить профессию, уверенно решил двигаться в направлении backend, фундамента в IT нет, я не слишком староват с переквалификацией?)
совсем не староват. но усилий прийдется прикладывать очень много и долго (минимум год, а скорее два) и потом очень долго искать работу через десятки провальных собеседований, где завышенные требования, нужен опыт (а где его взять?) и конкуренция. и это не зависит от возраста. у 25летних те же проблемы. И хотя некоторый ейджизм возможен, но наибольшее значение имеет отсутствие коммерческого опыта работы.
Ты уху ел?))) Мне 40....учу Go. Полёт норм. Не ссы, если голова более менее интеллектуальная и с памятью норм, то ваще легко. Главное каждый изучать хоть что нибудь
5:26 На мой взгляд, намного легче освоить C++ после изучения C, но это видимо исключение)
А я сам себе такой roadmap придумал 😂Я уже и юнит тесты писать начал и фронтенд технологию Blazor мало мальски освоил для своего C# и Redis нереляционный в придачу к реляционным Postgres и MySql, а ещё и Сагу и MassTransit. Можно уже пытаться работу искать? И да, учил всё сам и в проекте своём применил всё обозначенное выше и плюс освоил всё то, о чём Сергей говорил.
Согласен с роадмапом. Если бы я не скакал между языками то за 7 лет уже давно бы стал сеньорным джаваскриптизером, а так все еще миддл+.
Дай совет по- братски. Начал учить js. Сильно бесит вложенность элементов html.. все эти теги в тегах..уже думаю перейти на другое..(
Для go розробників краще спочатку вивчити стандартну net/http, ніж gin
хмм когда-то давно, в детстве когда занимался игровыми серверами, только и юзал мускул (так мы его называли) отлично работал на windows xp и 7
Сейчас стоит на вин сервере и нормально работает
Языки, нужно выбирать верно говорите исходя из задач, но сейчас в основном это api + ws, тут возникает вопрос какой язык может обеспечить WS потоки, NoSQL - суть DOM объект положить целиком, и хранить такой какой есть- это очень ресурсо зхатратно припоиске если модели хнятняться не в ОЗУ а ПЗУ, CRUD, PgSQL это на текущий момент самая оптимальная СУБД, сидим к коментариях и записываем мысли ;). Фреймворки нужно выбирать от языка+ кол-во людей в комьюнити, при паблике SSL + nginx + Acme(certbot). И я читаю что бэкэндер в себя devoops в себя включает по умолчанию
Сергей и весь коллектив канала, традиционное спасибо за выпуск, как всегда содержательно и интересно 👍👍👍
Слушаю и мечтаю, что бы что-то подобное по уровню и харизме было про аналитику данных 🙂
😊 спасибо)
Есть мнеие, что у PostgreSQL есть какие-то проблемы с безопасностью, который нет у других баз данных. Какое мнение об этом?
Ты имеешь ввиду SQL инъекции? Нужно всегда подготавливаемые запросы делать. Или ты про что то другое?
Звідки така інформація?
@@vader1413 SQL инъекции не зависят от БД
@@vader1413 Трудно сказать, я студент заочник и услышал это от преподавателя по Базам данных, вот и решил поинтересоваться
Сергей, использовать фреймворки в GO это не GO way :) так же как ORM, и DI в GO комьюнити не приветствуется.
Так раньше у динозавров выбора просто не было. Языки появлялись, их писали динозавры. Как раз потому как предыдущий не устраивал про резонам X or Y or Z . И поэтому старики и дают роадмап по которому сами шли. А так всё правильно - сейчас уже не актуально, хотя база нужна.
Ой забыл. И снова Спасибо за ролик.
👍
Моделька мотоцикла на столе Honda Deauville?
Не, GoldWing
5:23 сначала подумал речь про C перед C++, а потом со стула со смеху упал
5:00 у меня есть один пример, когда прям стоит, но TS - это не совсем язык программирования
Я хоть и уже давненько в мире разработки, но периодически смотрю что там новичкам советуют, и что-то мне совсем не понравилась фраза о том, что сейчас реляционки больше 80 процентов рынка занимают. Во всех проектах, где я был, там было что угодно, начиная от cassandra и clickhouse заканчивая самописными движками для работы с данными.
И как будто сейчас необходимо даже для джуна не просто знать как писать на языке, а знать чуть ли не исходный код языка. На гошке на каждом собесе будут ждать вопросы как устроены те или иные объекты под капотом, как проходит этап компиляции, и уходить вниз это может чуть ли не до обработки ассемблера процессором.
потом он приходит на работу и jsonы туда сюда перекладывает
Laravel отраслевой стандарт для PHP. Оочено спорное утверждение. Я б даже сказал что образовалась отдельная каста Laravel разработчиков, которые как бы пишут на php но по факту на ларе, кто в теме тот поймет о чем я.
Отраслевой стандарт php это Symfony здесь даже нечего обсуждать
зачем вообще на php писать
@@gsh137лёгкие, быстрые сайте:)
@@gsh137 потому что дешево, быстро и легко. Не станешь же ты сайт для магазина Цветов писать на Джава Спринг или Асп.Нет? Пыха тут больше подходит
как насчет Php Symfony?
Что с ним?
С Джанго успокоили. Везде куда не посмотрю , все хотят фаст апи. Может показалось
Ребят мне 15 так что не смеемся и не говорим что я тупой.
Помогите разобраться что вообще такое бэкэнд это только веб сайт и сервисы под ним? Или бэкэнд это все сразу и в десктопе и в мобилке и в веб? Если да то чем занимается мобайл разраб и бэкэнд разраб какие отличия. Есть ли направления в Java не связанные с одной областью, только с веб или моблкой, а что-то серверное которые соединяет и веб сайт и мобильное приложение, на чем работают оба этих приложения. 😅
Бэкенд это вся логика приложения, которое крутится на сервере и обрабатывает запрос. Бэкенд будет присутсвовать везде, даже если ты написал десктоп для себя без клиента-сервера, и вот то, что ты написал для того, чтобы работала твоя прога, ее функционал, тоже будет бэкендом(но скорее как модуль локальной логики, без сервака). Мобаил разраб это абстракция, так же само можно сказать про дестоп разраб, геймдев. Внутри этой абстракции будет присуствовать как фронтенд так и бэкенд(и другие узкоспециализированные), в случае с мобилкой, если это приложение будет крутится на сервере, у тебя будет бэкенд API, а так же фронтенд для мордочки. На джаве ты напишешь много чего, но опять же не нужно искать область по конкретному языку, просто ищи область и уже исходя из области ты увидишь перечень инструментов которые хороши для этой области. Выбирай направление, а уже после инструмент, Сергей об этом не раз говорил. " А что то серверное, которое соединяет и веб сайт и мобильное приложение..." Ты уже тут и ответил на свой вопрос, это и есть серверное приложение которое и будет общим для сайта и мобилки( это просто API написанный на том перечне языков из видео, к которому будет ходить и сайт и мобилка), конечно можно и разделить это все, если есть такая потребность
@naturelove5213 спасибо!❤️
Друг советую задавать такие вопросы интернету а не людям
@@kurapika8420 спасибо откажусь
Flask??
Никто уже ничего не ставит на виндоус, для этого есть докер. Майэскюэль давно принадлежит ораклу, поэтому скорее всего уже давно проблем с установкой куда бы то ни было не будет
на go учить фреймворки это вообще не обязательно и скорее даже не нужно
Насчет проблем с виндой и MySQL. Мне кажется, бэкэнд разработчику вообще нет смысла сидеть на винде, если только он не пишет под .net. Ваши приложения в 99.9% будут работать на серверах под linux, так зачем лишние костыли ? Надо сразу осваивать эту систему.
Согласен
А что на счет macos, тот же Unix
Можно пользоваться wsl это просто, быстро и удобно.
А что делать с html и css ?
На бекенді? Ви точно розумієте про що було відео?
@@woodzimierz9621, так, на бекенді. Для повноцінного розуміння і створення проекту на Джанго, просто необхідно знати HTML, CSS хоча б на базовому рівні.
Це те, про що він казав "щоб мордочку висунути в інтернет".
По великому рахунку, треба і JavaScript трохи знати для динаміки на сторінці, або для усіляких "затемнень" і "вискочуючих віконечок", але це вже не вважається базовими знаннями. А от HTML CSS - треба точно., хоча б основу.
@@woodzimierz9621 видимо вопрос в том, как быть с фронтенд-частью приложения для портфолио на собеседовании
@@kirillperov3843 Все верно это же не из воздуха берется
Планирую за полгода с нуля стать мидлом
"А я планирую тудым -сюдым туда, а я планирую тудым-сюдым обратно..."(А. Розенбаум)
путь от пхпшника до программиста занимает лет эдак... хотя, кого мы обманываем - бывших пхпшников не бывает как и бывших наркоманов. хотя, как знать... всё-таки пхп эволюционирует, постепенно изобретая все те вещи что были в джава изначально. возможно в ходе своей эволюции бывшая персонал-хоум-пейдж однажды настолько эволюционирует что станет наконец просто ещё одним клоном джавы, только более медленным... но это будет ещё не скоро. как знать, может роботы доведут это дело до конца.
Только никто не пишет на голом PHP, стандарт индустрии Symfony или Laravel, компании которые исторически вляпались с написанием своего фремворка теперь больно и медленно внедряют точечно пакеты Symfony. Я работал над проектом который существует лет 15 и это один огромный монолит который пытаются как-то рефакторить, но тем не менее сам продукт генерит миллионы долларов дохода) И к слову те же фреймы php это то из-за чего он не умер лет 10 назад и сейчас ситуация на рынке труда для этого языка лучше чем для джавы или шарпа
А что там по индусам и по китайцам, они нам до сих пор не конкуренты?))
9:40, На этом моменте тут Яндекс или Тинькофф выскакивают из кустов и кричат: "ЕСЛИ ВЫ НЕ ЗНАЕТЕ АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ, ТО В ПРИНЦИПЕ НЕ ЗНАЕТЕ ЯЗЫКА и ВООБЩЕ ВЫ ПЛОХОЙ СПЕЦИАЛИСТ ЗНАЧИТ))))
Тут имеется ввиду, что нужно учить когда ты 0, алгоритмы всё равно придётся учить
Я не дуже згоден з 23:00, з тим, що контерізацію треба вчити у самому кінці. Просто ви до цього розповідали наприклад про проблеми з MySQL на винді - так ось контерізація й вирішує ці проблеми. Також при роботі з інтерпретованими мовами контерізація може дуже допомогти. Вчити її треба на дуже базовому рівні, просто щоб поточний проект можно було розгорнути локально. Нехай без розуміння що воно насправді робить, нехай конфіги будуть згенеровані ШІ, але це значно спростить сам процес навчання.
На базовому рівні - запустити docker compose up -d. Який написав хтось вумніший. На старті є що вчити з більш пріоритетного.
Смотрю каждое видео с удовольствием, жаль что курсы из РФ никак не купить =(
что Сергей постоянно держит в руках?
кликер, у Сергея конспект выведен на суфлер
а кафку забули
Как можно учить TypeScript не выучив JavaScript?
а зачем учить javascript до typescript?
як можна вчити граматику не вивчивши абетку?
typescript это javascript с типами. Что это значит на практике? А то что они шарят одну и ту же семантику, у них одинаковые функции и выполнятся они в одинаковых окружениях. То есть выучив тайскприпт и если есть понимание как код написанный на тс будет работать в рантайме, то эти знания спокойно можно применять и в жс, то есть переключится с тс на жс в разы проще, чем переключится с жс на тс.
Тайпскрипт это не язык программирования
Все серьёзные команды используют Typescript, а от JS постепенно избавляются. Думаю, объяснять почему так, не надо.
Почему-то про очереди ни слова
4:15 Ось тут я не згоден, ось чому: наразі є мова яка значно по будь якому параметру перевішує інші: інструментарій та система керування залежностями, гарантована відсутність помилок, швидкодія та споживання пам'яті, можливість застосування для будь якої задачі, швидкість та зручність розробки. Авжеж ця мова це Rust. Але, при всьому цьому я не дуже можу уявити її як першу мову. Фактично єдиний мінус Rust- це поріг входу. Тому вивчити якусь java, php, go, python а потім вже перейти до Rust - це шлях.
додано 5:30 ну ок...
Ця вся краса вам такою виглядає, бо просто полюбляєте Rust, але в реальності справи трохи інші. Не існує "срібної кулі" яка б вирішувала абсолютно всі проблеми.
@@woodzimierz9621 я просто перерахую які великі проблеми вирішив Rust:
- data race/race condition: таких помилок гарантовано не буде при конкуретному коді з використанням shared memory (такі гарантії можуть дати лише специфічні функціональні мови на кшталт Хаскеля)
- помилки пов'язані з ручним керуванням пам'яттю або витрати на garbage collector: фактично у вас є С, де споживання пам'яті дуже мале але можливі помилки та є мови де є gc та пов'язані з цим накладні расходу пам'яті та процесорного часу який витрачається на збирання сміття. Rust одночасно споживає мало пам'яті та не витрачає процесорний час, але не має необхідності вручну визволяти пам'ять
- null: різні мови мають різноманітні помилки якщо щось може бути null, як і об'єкт у мовах високого рівня так і поінтер у мовах низького рівня. Нема null - нема помилок. Якщо програміст звертається до чогось у коді - там буде гарантовано те що він очікує. Поінтери завжди посилаються на валідні дані
- іммутабільність: скоріше це стає проблемою коли повертаєшся з Rust до іншої мови. У парадигмі ООП є окремі правила, як має називатися та як працювати геттер, а як - сеттер. У Rust це вирішено просто у сигнатурі функції. Ніяка мейнстрім мова наскільки я знаю так не вміє
- швидкодія: Rust десь проміж с та с++. Всі інші мови значно повільніше. Go у випадку вебсервера повільніше у рази навіть якщо не буде проблем с gc
Фактично ви можете взяти будь яку мову та переконатися, що Rust не поступається або навіть перевищує її у аспекті де вона сяє та значно перевищує у будь яких інших аспектах.
Есть академический подход, сначало компилируемый язык со строгой типизаций C++. Потом интерпретируемый язык со строгой типизацией C# или Java. А потом уже всё остальное, PHP Javascript и прочие Python'ы. Тогда праильно сформируется понимание как всё работает. Но если цель формошлёпить или генерить CRUDы, тогда пофиг, можно учить тот ЯП на котором будешь работать, если возьмут конечно.
РоР "берешь" и гребешь...:D
Брокеры сообщений ещё
Я Первый лайк 😃
Oracle самая популярная система? Что?
Первый🎉
не нравится ему..нет бл. , создатель называл именно сикуэл а не эс кью эл
Я думал сначала выбирают что будут писать, а потом уже язык.
Так видео по бекенду уже
Уже выбрано - backend
По поводу php у каждого своей роадмап. Новичку я бы рекомендовал изучать битрикс, так как на нем ГОРАЗДО больше вакансий. Да и берут джунов охотнее. Тем более, что зачастую первая работа будет в студии, а не в продуктовой компании. А в России битрикс востребованное чем ларавел, уж не говоря о симфони. Достаточно на hh сравнить кол-во вакансий.
На текущем проекте у нас так вообще нативный php только. Какие фреймворки и ORM? Только прямые запросы. Мне так и сказали на собесе, что окей, что знаешь ларавел, а нативный php знаешь?
То же самое с докером, в студии скорее всего будете сразу на проде фигачить. Ну или будет гит для вас, но при этом будете дублировать код в прод, так как никакого докера не будет у клиента.
По поводу MySQL - на всех проектах только он и был
А то что проблемы с виндой, то фигня. Ставите openserver и вообще не задумываетесь
До сих пор сижу на винде и горя не знаю
По докеру по факту будет скорее всего докер композ. Нужно просто уметь скачивать докер и его устанавливать. Ну и достаточно docker compose up -d -build чтобы развернуть проект. Сам конфигурационный файл докер композа уже будет написан на проекте далеко до вас. Писать с нуля никто не попросит, уж тем более джуну. Это работа девопса. Опять же если докер вообще будет на проекте
И вообще ни разу не замечал проблем при установке MySQL на винду. А какие там проблемы?
Сначала несколько десятков лет программируете, а потом пишите ролики на ютубе.
Ти мабуть тут щось забув.
Если человек не любит работать, то он становится руководителем. Когда ему становится снова скучно, то он начинает учить других. Это применительно ко всем сферам деятельности.
@@DenysBaiuk Кириллицу
Ну конечно, писать сценарии, прорабатывать дикцию, заниматься записывающей техникой и софтом, заниматься монтажем, заниматься маркетингом, заниматься рекламой, придумывать интересные темы для видео, структурировать знания, формировать знания в удобоваримом формате для аудитории - это же намного проще чем писать круды
здрисни звідси, болотяний привид!
Алгоритмы непонятная херь. Не надо врать, что программирование всем доступно
душнила моде он
relation - это не про связи между таблицами, это математики так таблицу обозвали. то бишь реляционная == табличная
на русском это "отношение". но алгебра при этом реляционная.
Нифига себе, скл простой 😳 Это самая большая головная боль. Год пользуюсь и до сих пор часто часами пишу один запрос с cte, особенно с рекурсией. Особенно для апдейта. А если для инсерта, то вообще приходится через подзапросы, так как, оказывается не каждая версия mysql, такое поддерживает.
у меня есть запрос на 800+ строк
Нафиг гит. Я все на флэшку сохраняю😂 И иногда на хостинг.
Краще на DVD-RW
На инфокарту @@woodzimierz9621