Показаны сообщения с ярлыком программирование. Показать все сообщения
Показаны сообщения с ярлыком программирование. Показать все сообщения

13 апреля 2020 г.

Мой личный чёрный список онлайн-преподавателей курсов по программированию

За последний год я проделал путь от изучения вёрстки (снова в школу) до разработки небольших приложения на React, Vue или Svelte (последний фреймворк мне особенно понравился за свою простоту и лаконичность, но возможно я напишу о нём в другой раз). Прошедшие этот путь программисты были правы: информации по веб-разработке в интернете просто океан. Но тут встаёт другая проблема - проблема выбора. Как выбрать знающего преподавателя, хорошие курсы и не утонуть в море информации? Неужели стоит забегать на торрент-трекер или Udemy и качать/скупать все курсы, которые ты видишь по своей тематике? Конечно же нет. 
Размышления
Спустя пару месяцев непрерывного просмотра видеоуроков у меня появились свои фавориты, а с ростом навыков и получением знания появилось мнение о тех преподавателей, которых стоит избегать из-за невысокого уровня контента. Нижеизложенный список моё личное субъективное мнение, я не могу по каждому их курсу писать докладную с их ошибками (а ошибки бывают у всех преподавателей) и ни в коем случае не хочу повредить их бизнесу. Если они не понравились мне, то возможно именно вам понравится их подача материала и они научат вас чему-то новому, а после их курсов вы найдёте работу. Большинство из этих курсов я не досмотрел дальше начала, какие-то смотрел выборочно, так что возможно я ошибаюсь и в остальных частях лекций всё круто и замечательно (хотя это сомнительно, если видно как "лектор" начинает путаться в терминологии в самом начале). Кроме того я смотрел старые лекции, которые я нашёл в условно "свободном" доступе (привет пиратам), а в новой программе они могли уже подтянуть свои знания и качество материала. А ещё я видел курсы иностранных преподавателей (как бесплатные на Ютубе, так и платные лекции) и наши отечественные преподаватели по сравнению с ними далеко не на высоте. Кстати, вот вам ещё одно важное отличие "так себе преподавателя" от профессионала: у последнего все лекции проводятся в режиме онлайн - он не продаёт свои видеозаписи. 
  1. Webformyself. Помню начал смотреть их курс по javascript и каждые 30 секунд исправлял лектора. Мне это очень быстро надоело. После этого травмирующего опыта я избегаю изучать какие-либо их учебные материалы. А ещё у них адский дизайн сайта, в то время как они предлагают научить верстать. Научитесь и сверстайте себе сайт сами, в конце концов. 
  2. Типичный верстальщик Анна Блок. Приятная девушка, которая ведёт одноименный youtube-канал и паблик в ВК. Я смотрел её курсы по вёрстке и боже, какая же там нудная подача материала практически без объяснений и погружения в суть процесса. Впрочем это не отменяет того факта, что Анна опытный верстальщик и умеет этим зарабатывать деньги на фрилансе. У неё популярный канал на Ютубе и телеграмм-чат, где помогают новичкам научиться верстать.
  3. Иван Петриченко. Тут вроде и с подачей материала всё нормально (говорит бодро, в темах не плавает), без воды и только практические знания для работы. Тут другая проблема: Иван застрял на уровне типичного фрилансера с биржи и это очень заметно. Крайне мало теории и глубины погружения, а без этого нормально javascript не понять и учёба превращается в зубрёжку магических кодов. Javascript и так не самый понятный язык программирования в мире, чтобы такое прощать. Вообще многие часто жалуются на преподавателей платных курсов из онлайн-школ, что мол у них в лекциях очень много воды и они искусственно растягивают хронометраж, чтобы слупить побольше денег. Это вовсе не так и многим людям действительно нужны 2-х-часовые лекции, чтобы понять и усвоить все нюансы какой-то темы. 
  4. Алекс Лущенко. У него очень много недостатков: он мало знает сам (для преподавателя и программиста), даёт поверхностные знания, плавает в основах, часто ошибается на своих лекциях (его код не работает, либо устарел лет на 5), но он хотя бы не боится открыто признаться в этом. С другой стороны зачем вам преподаватель, который сам не очень в предметной области? Я посмотрел целиком его курс "Практический javascript" и половину лекций просто сидел с фейспалмом (сейчас на его Ютуб-канале доступна бесплатна вторая версия курса). Ещё он украинец (не подумайте что это плохо, а я очень уважаю украинских программистов) и с русским языком у него иногда проблемы. Вообще среди преподавателей и фрилансеров очень много людей с Украины, потому что в этой стране IT-отрасль очень развита на всех уровнях от начинающих фрилансеров до солидных аутсорс-контор. Некоторым нравятся мотивирующие видео Лущенко о том, как стать программистом. 
  5. Владилен Минин. Есть мнение, что весь его учебный материал это пересказ сайта Ильи Кантора и других преподавателей у которых он невозбранно позаимствовал контент. Неоднократно был замечен в поверхностном пересказе официальной документации и в переделанных чужих учебных проектах (грех многих айти-ютуберов, которым лень заморачиваться с уникальным контентом). Лично я бросил его смотреть после того, как он упорно в начале курса называл React фреймворком, а это библиотека. Это было в старых версиях лекций и в новых курсах он самые дикие ляпы исправляет, что однако не слишком повышает ценность знаний, которые он доносит. А ещё он путает компиляцию и транспиляцию (через Babel) и таких оговорок у него огромное количество. Минин публикует мотивирующие видеоролики на Ютубе в духе "если вы несчастливы, то просто станьте счастливыми", а к таким мотиваторам и прочим инфобизнесменам я отношусь с подозрением, однако у него есть очень много действительно полезных роликов на Ютубе по технической тематике, где можно быстро почерпнуть массу базовой информации, если вам лень читать официальную документацию. По уровню навыков он чуть выше всех вышеперечисленных преподавателей, которые обеспечивают подготовку на уровне "трейни" (в конце концов Минин работал в аутсорсинговой компании, где решал самые разные задачи клиентов и делал это очень быстро, как того требовали заказчики). Наплодил чудовищное количество разных роликов по самым "хайповым" технологиям, так что если вы будете что-то искать по тематике Javascript на Ютубе, то обязательное наткнётесь на его видеоролик. Вот Илья Климов, чей профессионализм и опыт в разработке известен всем, делает часовой разбор одного из курсов Минина, после конфликта с ним. 
  6. Все курсы от компании Skillbox. Они активно рекламируются почти у всех ютуберов, но их курсы полны воды, а ученики очень часто оставляют отрицательные отзывы. Их курсы предлагают со скидкой, но поверьте, на той же Udemy вы найдёте зачастую намного более качественные и интересные курсы за меньшую стоимость. Проблема только в том, что на Udemy большинство качественных курсов на английском языке. 
  7. "Masters of Code" за воровство чужого материала и полное непонимание того, как преподносить информацию. Мало того, что он (или они) взял чужой курс на английском языке про Typescript и дословно перевели на русский язык, так там ещё ничего и не видно на экране (ну можно ведь было догадаться увеличить размер шрифтов в редакторе кода?). Да, они предлагают курс за копейки (13$) и перевод на русский внушительного курса это тоже серьёзная работа, но так обманывать всё равно нельзя. Кстати, по такому же принципу работают некоторые "школы IT" - не попадитесь на мошенников. 
  8. "Диджитализируй!". Данного блогера советуют многие другие ютуберы-программисты, но я смотрел его курсы, много его видеороликов и мне показалось, что его знания в курсе довольно поверхностные. Но как развлекательный контент, почему бы и нет. 
  9. ...список будет дополняться по возможности.
Веб-разработчик за работой
Если есть список учебных материалов, которых я стараюсь избегать, то очевидно есть и качественный контент от профессиональных преподавателей, которых любо дорого смотреть. Тут опять же всё очень субъективно. Не хотелось бы, чтобы это всё было похоже на рекламу (тем более я всеми руками за бесплатные материалы), но я заметил, что учебный материал крупных онлайн-школ сделан действительно профессионально, подробно и там преподают очень опытные лекторы, у которых за плечами годы практической работы в крупных компаниях, а не годы фриланса с однотипными задачами (извините, ребята). Моя любимая онлайн-школа это HTML Academy. Я прошёл все их бесплатные курсы, потом пересмотрел лекции платных интенсивов и теперь мечтаю выиграть бесплатный интенсив и пройти его по настоящему с учебным проектом и наставниками. А Вадим Макеев даже стал моим кумиром в вёрстке. Рекомендую к просмотру его канал, многочисленные лекции (наберите в поиска на Ютубе "Вадим Макеев") и подкаст с новостями. Вообще, профессиональные школы очевидно выигрывают в качестве преподавания у фрилансеров, некоторые из которых просто решили "склепать по-быстрому" курсы в дополнении к своей основной работе в надежде на прибыль. К сожалению, учебные курсы приносят очень мало денег своим авторам, особенно в России. Преподавание это больше про призвание, а не про заработок огромных денег, если конечно вы не Тони Роббинс. Кроме того, могу сказать, что я с опаской отношусь к курсам на Udemy, потому что мусора там тоже предостаточно, а своих покупателей они привлекают безумными распродажами по -95% (там все курсы таким образом продаются, так что не вздумайте что-то покупать по полной стоимости без скидки). 
В список хороших преподавателей могу добавить людей, по которым видно, что они не просто преподают, а реально работают в компании, стартапе или постоянно практикуют свои навыки. Например открыл для себя недавно курсы Антона Ларичева (видеозаписи стоят не очень дорого) и видно, что человек работает в качестве фуллстека и погружен в тему современной разработки. Ещё мне хвалили Михаила Непомнящего за доходчивые объяснения основ Javascript. Он много лет работает преподавателем, так что имеет опыт в донесении знаний до слушателей, подача его мне нравится, но курсы у него в основном начального уровня. 
Я долго не хотел писать этот пост, но решил, что моим знаниям после просмотра сотен часов видеокурсов не стоит пропадать и я их должен систематизировать хотя бы для себя. Надеюсь упомянутые преподаватели и их фанаты не прибегут разбираться в мой уютный бложик, потому что всё сказанное здесь это моё субъективно мнение, составленное зачастую после 30 минут или часа просмотра лекций (и я их зачастую не покупал, так что не могу рассказать про платную поддержку и дополнительное менторство), и всё это наверняка недостаточно для оценки профессиональных навыков конкретного преподавателя и качества целого курса. Учтите, что зачастую к обучающим курсам идут услуги в виде доступа к совместному чату с преподавателем и проверка ваших домашних заданий, а это уже совсем не то же самое, что просмотр лекций, коих в интернете действительно полно. 

P.S.: Дополнение про HTML Academy, откуда ушло много старых преподавателей, в том числе и Вадим Макеев, который уехал из России, а основатель школы Александр Першин уже давно лично не появляется на вебинарах. Сильно ли это ударило по качеству материала? Я смотрел их курсы по вёрстке за 2021 год и они довольно сильно переработаны, появились новые темы про флексы и гриды, убраны неактуальные темы, подача стала местами бодрее, так что я всё равно рекомендовал бы их и сейчас. Кроме того они очень сильно переработали курсы по Javascript, наконец начали преподавать React. Не реклама, просто мне их подача материала и основательность очень нравится - там не учат как использовать конкретные операторы языка программирования, там учат архитектуре, структуре данных и как разработать что-то новое. 

P.P.S: вот мой рейтинг онлайн-школ сейчас, когда познакомился с некоторыми поближе (чистая субъективщина, не кидайте тряпками):
Яндекс.Практикум - сложно, круто, качественно, дорого. Только для мотивированных специалистов и желающих таковыми стать, для зачисления на курсы надо сдавать тестовое задание (которое местами тянет на тестовое в веб-студию). Единственный диплом, который не стыдно показать работодателю. 
Скиллбокс, Гикбрейнс и прочие школы, которые на потоке клепают курсы и тысячами выпускают недоучек - поверхностно, плохо, некачественно, цена от средней к высокой, плюс невероятное количество скандалов, когда они отказывались возвращать деньги. Синоним плохого качества в айти-образовании, выпускников этих курсов зачастую очень не любят на собеседованиях и намеренно "опускают". 
Hexlet - что-то среднее между Я.Практимумом и большими онлайн-школами, есть годные курсы. Там же рядом маленькие школы, некоторые из которых ведут занятия в оффлайне или по модели "буткемп", но такое обучение не всем подходит. 
RS School - полностью бесплатная школа от EPAM, которая держится только на волонтёрах. Учиться действительно можно бесплатно, обучение тяжелое, необходимо знать английский язык. С вас будут требовать домашние задания, много отправлять в Гугл и документацию, а так же отчислят за неуспеваемость. От полностью автономных проектов по самообучению типа FreeСodeСamp отличается тем, что ваш код будет проверять человек, а не бездушные автотесты, вы будете общаться с ментором. 

Полезное видео на 4 часа (используется нецензурная лексика). В нём рассказывают про признаки инфоцыган (не обязательно относительно онлайн-школ программирования) и по этим признакам вы легко опознаете людей, которые "льют вам в уши". 

27 апреля 2016 г.

Современные мультифункциональные IDE

Прошло то время, когда можно было довольствоваться простейшим блокнотом для программирования или специальным блокнотом с подсветкой синтаксиса (наиболее популярный и известный это Notepad++). Нет, Notepad++ никуда не делся и никто не запрещает вам программировать в блокноте, но появились намного более эффективные и современные средства для этого - мультифункциональные IDE.
Этот термин (мультифункциональные IDE) придумал я вот только что, так что все совпадения чисто случайно. Лично меня средства для написания кода условно подразделяются на четыре вида:
  • голый текстовый редактор с минимальным набором функций;
  • текстовый редактор с подсветкой кода и расширенными функциями типа мощного поиска
  • мультифункциональные IDE (более продвинутые редакторы)
  • узкоспециализированные IDE для конкретных целей (например PyCharm для Python или Netbeans для Java)
Это деление весьма условно, потому что некоторые редакторы можно так "навернуть" плагинами, что они уже не будут похожи сами на себя! Даже не шибко дружелюбный старичок Vim может превратиться для программиста в навороченную и удобную IDE, которую не захочется менять на более современные программы. Ну а в своём посте я расскажу о нескольких наиболее популярных современных IDE.
Atom с плагином TreeMap
Главный мой фаворит среди современных средств разработки это редактор от создателей GitHub Atom. Он очень красивый (с тысячью тем для интерфейса и подсветки кода), он расширяемый и настраиваемый (огромное количество самых разных дополнений на любой вкус), с открытым кодом, кроссплатформенный и бесплатный! Что вам ещё нужно для счастья?
Программирование на Python в Atom
Ну лично для меня хотелось бы ещё немного стабильности, потому как не всё работает так как задумано, но и сам редактор не так давно дорос до стабильной версии 1.0.
Просто посмотрите это видео (на английском языке) от одного видеоблогера-программиста и вы поймёте насколько это крутая штука Atom. Особенно меня поразила возможность править код плагинов прямо на лету как страницу в браузере через встроенный редактор.
Впрочем есть и проблемы: некоторые пользователи жалуются на недостаточную скорость работы с большими файлами, вылеты, ну и нестабильную работу плагинов и сложность настройки.
По внешнему виду и идеологии Atom копирует другой популярнейший редактор кода под названием SublimeText. Учтите, что SublimeText не бесплатное средство и без регистрации напоминает об этом каждое 20 сохранение. Для этого редактора тоже имеется огромное количество тем и плагинов под любые нужды. Существует ещё такой редактор как Light Table, который обладает очень крутыми фишками, но если честно, то его разработка ведётся не так активно. Особняком стоит довольно старый редактор Komodo от ActiveState, но если честно, то он проигрывает в функциях остальным IDE.
Microsoft тоже включилась в этот процесс создания IDE и выкатила свою версию продвинутого "блокнота для программистов" под длинным названием Visual Studio Code. Само название Visual Studio Code вносит неразбериху и многие даже подумали, что он относится к главной IDE от MS под названием Visual Studio, но на самом деле это совершенно самостоятельный продукт, созданный практически с нуля. Визуально он похож на Atom, но выглядит проще и даже примитивнее местами. В настройках Code вы точно не запутаетесь, там всё просто и понятно. Именно Visual Studio Code я бы настоятельно рекомендовал начинающим. А ещё в этой IDE русифицирован интерфейс, что встречается довольно редко - всё таки программисты предпочитают общаться на английском с программами.
Несмотря на юный возраст этого программного продукта от одного из подразделений Microsoft, он уже завоевал популярность и был по достоинству оценен даже линуксоидами. Для Code написано множество полезных расширений под самые популярные языки программирования, разнообразные темы интерфейса и подсветки кода тоже присутствуют.
Microsoft не стесняется выпускать свои программы под Linux и OS X
Приятно, что почти все современные IDE идут под три популярные платформы: Windows, Linux и MacOS. Всё таки кроссплатформенность это хорошая вещь и программировать можно под той ОС, под которой вам удобно. Все представленные выше IDE завязаны от интернета, а некоторые без сети даже не установить. То есть изначально вы получаете базовый дистрибутив, но чтобы получить расширенные функции и плагины, вы должны пустить редактор в сеть - сейчас без этого, к сожалению, никуда.

Напоследок хочу сказать: каким бы продвинутым не был ваш редактор кода, программировать за вас он не будет! Удачи в написании кода, пользуйтесь удобными IDE.

А вот очень хорошое обсуждение на Habr про редакторы текста и IDE, где программисты делятся своим видением того, что должна уметь IDE.

3 апреля 2009 г.

Новый проект: стоимость 1 Гб

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

Поход на рынок (не компьютерный, а обычную барахолку) за DVD-RW дисками вогнал меня очередной в шок. Вы будете, конечно смеяться, но у них там "кризис"! Цены выросли в три раза, даже на бумажные конвертики (стоили 50 копеек за штуку). Цена на диски "типа Verbatim" (я не очень уверен что это настоящй Verbatim) выросла на 25%. Цена двухслойный одноразовых дисков повергла меня в шок: 180-200 рублей. Я всерьез задумался о покупке сетевого хранилища.
Как это было раньше, тягостные думы о росте цен сподвигли меня на создание нового проекта, который, впрочем, может являтся частью предыдущего моего глобального проекта по мониторингу цен.
Идея такова: берем носитель информации (компакт-диск, жесткий диск, флешку) и делим его цену на объём в гигабайтах. В результате мы получаем сравнительную стоимость 1 Гб информации на носителе.
Я уже подступился к проблеме и как какой-нибудь менеджер (а впрочем я им по сути на работе и являюсь) взял Excell и наваял таблицу. В результате получилось, что носители DVD-R самые дешевые. Затем идут обычные жесткие диски (500Гб оптимальны). В конце, по стоимости, но не по удобству использования идут внешние USB HDD.
Конечно, сравнивать столь разные по сути носители информации как жесткие диски и CD/DVD не корректно, но полезно. Кроме того, в наш быт активно входят такие удобные вещи как NAS. Есть о чем задуматься, выбирая следующую покупку.

С технической точки зрения исполнение проекта не отличается от предыдущей идеи (см. Мега-прайс). Есть прайс-листы, нужен парсер который просканирует его, найдет нужные наименования и вычленит информацию об объеме (700 Mb, 4.7 Gb, 500 Gb) и цене. Остальное дело техники и базы данных, в которую будут заносится результаты.

2 февраля 2009 г.

Идея сайта: анализ местечковых цен

Финансовый кризис (опять он, проклятый!) заставил меня скачать и проанализировать несколько xls-файлов в поисках цен на искомые товары (а было этой вещью - недорогой и дешевый ноутбук).
Это оказалось проблемой. Трудно окинуть взором десяток открытых "эксцелевских" документов и в каждом из них нажимать ctrl+f, после чего искать нужные позиции.
Будучи человеком компьютернограмотным я за 5 минут соорудил мегапрайслист из всех имеющихся документов, куда вогнал в один столбик все наименования, а в другой цену. Для красоты я еще и разукрасил данные относящиеся к разным магазинам. После этого я включил автофильтр и уже мог задавать условия: "цена больше 17000 и меньше 35000", а в другой строке "всё что угодно, но не марки Acer".
После всех этих манипуляций дело прояснилось. Подорожавшие на +5000 руб. (с исходной ценой в 20000 и в 17500 в Москве) ноутбуки меня очень не порадовали. К тому же за месяц успели пропасть устаревшие, но неплохие и надежные модели. Отсюда следует простой и неутешительный вывод - нечего было тормозить перед новым годом, зная о приближающемся кризисе. Ну да черт с ними с упущенными возможностями (сколько их уже упущено то было, а сколько будет...)
В связи с этим появилась у меня логичная идея, что неплохо было бы всё это автоматизировать и систематизировать. А именно:
  • прайс-листы всех фирм нашего городка должны скачиваться автоматически. На моем сайте прямые ссылки на закачку (с моего сайта).
  • эти листы анализируются (парсим) и нужная информация (товар, цена, наличие на складе) заносится в базу. Форматы прайслистов у разных фирм разные, поэтому для каждой фирмы должен быть свой парсер, который будет разбирать xls.
  • самый сложный момент, хотя и его можно на опустить на первом этапе: определить одинаковые позиции списка, то есть одинаковые марки оборудования
  • движок сайта, который принимает запросы, хранит в базе данных изменения в цене по позициям прайс-листов, отображает динамику изменения цены, ведет поиск по этой базе...
  • докучи можно еще схемы проезда и время работы магазинов указанных фирм прилепить.
  • и мегапрайлист генерить по выбраному товару или критериям запроса!
Анализ существующих альтернатив: то что есть на price.ru меня решительно не устраивает. Оно не соответствует никакой действительности и все позиции по моему городу занимают интернет-торговцы (честно говоря, я опасаюсь покупать даже у многих стационарных фирм - были преценденты).

Инструменты: язык программирования PHP (с соответствующими модулями для разбора M$ xls). СУБД. CMS типа популярной Joomla. Хостинг предоставляющий всё это. Доменное имя (как раскручусь, на первых порах нужно хотя бы бета-версию рабочего сайта).