{"id":7302,"title":"$200 \u0442\u044b\u0441\u044f\u0447 \u043d\u0430 \u0441\u0442\u0440\u0430\u0445\u043e\u0432\u043a\u0443 \u0432 \u043f\u043e\u0435\u0437\u0434\u043a\u0430\u0445 \u0438 17 \u0432\u0430\u043b\u044e\u0442 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0435","url":"\/redirect?component=advertising&id=7302&url=https:\/\/vc.ru\/promo\/295992-korotko-karta-dlya-puteshestvennikov&placeBit=1&hash=116250a21a81e5a548d838f9f86dac8dfd20ac6f36c6c2f8b9a9a56056948502","isPaidAndBannersEnabled":false}
Shiva Perica

Как я изучаю Java «с нуля»

Без дорогих онлайн-курсов и завышенных ожиданий.

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

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

Это субъективное мнение, как и всякий монолог. Жду примеров вашего опыта в комментариях.

Почему Java?

Меня привлекает мобильная разработка, я вижу в ней перспективы для себя. Java — язык высокого уровня, в нем реализованы основные концепции программирования, такие как ООП. Изучив Java, я смогу двигаться дальше, в сторону Android-разработки: например, взявшись за язык Kotlin. Либо пойти в сторону кросс-платформенной разработки: изучая Dart+Flutter, либо Kotlin Multiplatform. Может быть, возьмусь за Swift для iOS. Возможно, попробую себя в server-side разработке, либо в программировании «умных» устройств.

Посмотрим, время покажет. Но для начала нужны базовые знания. Понимать «для чего всё это вообще?» — важно. Я изучаю технологии с конкретной целью их будущего применения. Java — подходит.

Как выбрать книги

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

  • Открыть список книг в любом большом книжном магазине, либо маркетплейсе. В моем случае, это был Озон.
  • Скачать из сети все книги из списка, которые можно найти. Хотел бы сказать, что только «ознакомительные фрагменты», но это было не так.
  • Пролистать все скаченные книги, выбрать только те, которые увлекли и затянули. Выбрать из них две-три лучшие.
  • Купить эти книги официально, желательно в бумажном виде. Архив с пиратскими копиями удалить (честно, я так и сделал).
В моем списке и Java, и Kotlin. Половина книг на английском.

Вот что я выбрал, и не ошибся (здесь и далее — ссылки не реферальные):

  1. Java. Руководство для начинающих. Современные методы создания, компиляции и выполнения программ на Java (Герберт Шилдт).
  2. Изучаем Java (Берт Бэйтс, Кэти Сьерра).

Это очень разные книги с точки зрения изложения. Шилдт даёт фундаментальные знания в классическом «линейном» стиле: академично и местами сухо. «Изучаем Java» — книга-праздник, с забавными картинками, инфографикой, прыгающими шрифтами и потоком визуального повествования. Я читаю обе книги параллельно, они дополняют друг друга. Повторять уже знакомый материал из одной книги, открывая новые детали у другого автора, оказалось крайне полезным.

Как читать? Вдумчиво, медленно, повторяя каждую главу (и даже абзацы), пока не будет полного понимания прочитанного. Если есть примеры кода: изучить, пока не запомнится каждая строчка. Скорость прочтения не равна скорости осознания материала. Лучше усвоить одну страницу в день и досконально её понять, чем пролететь главу за час, оставив ветер в голове.

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

Курсы на русском

Я не планировал поддерживать рублём отечественных монстров, но заглянуть в меню ведь ничего не мешает. Почему я в итоге так и не воспользовался одним из тех самых заманчивых рекламных предложений GeekBrains или Skillbox? Потому что не верю. Еще это слишком дорого. И в большинстве случаев неэффективно.

Курс от Яндекс.Практикума выглядел стильно, модно и молодежно. С красивыми картинками и неформальным стилем изложения: краткие текстовые лекции и тренажер для упражнений. Можно пройти базовую ознакомительную часть бесплатно, продолжение предложат купить.

Дизайн — на высоте, чего не скажешь о содержании.

Мне показалось, что подача материала слишком поверхностная, а непосредственно практики (парадокс) как раз и не хватает. Через пару часов обучения текстовые лекции добрались до сложной темы классов и методов — сильно преждевременно.

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

У Javarush похожий на Я.Практикум сервис, но качество материалов лучше, что видно даже по ознакомительному и тоже бесплатному курсу.

Это всё тот же неформальный стиль, за которым пытается спрятаться фундаментальный подход — к счастью, не всегда успешно: сквозь шутки с прибаутками знания до вас обязательно доберутся. Обучение построено в форме игры: с квестами и ачивками. Сайт сконцентрирован только на Java, здесь есть форум, чаты, полноценное сообщество, которое подскажет с задачками и проблемами.

Мне хватило вводного курса, также я успел на бета-версию профессиональной полноценной программы: пока обкатывается, она доступна бесплатно.

Нет, это не Steam.

В качестве дополнительного тренажера и способа разгрузить заумность книги Шилдта, Javarush отлично подошел и прояснил некоторые пробелы в знаниях. Спасибо, но покупать ежемесячную подписку пока не буду. Виной тому — следующий сервис, а именно…

JetBrains Academy

Комания JetBrains придумала язык программирования Kotlin, но в основном известна своими прекрасными IDE. Среди них — IntelliJ IDEA, с бесплатной версией Community Edition. Среда разработки отлично подходит для Java, а с плагином Edu Tools от тех же JetBrains позволяет сконнектить редактор и обучающий сервис, созданный компанией — Hyperskill.

Минимализм и тонна знаний. English only.

Сервис платный, доступен пробный период длиной всего семь дней. Но если упрямо учиться, триальный срок продливают: сначала на месяц за первый законченный этап проекта, затем еще на месяц за полностью завершенный проект.

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

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

Так выглядит прогресс по проекту.

Сертификатов компания пока не дает. Цены на подписку, признаться, кусаются. Но даже они — в несколько раз дешевле, чем у выше упомянутых ГикБрейнсов и иже с ними. Еще один возможный минус Hyperskill — он полностью на английском. Советую рассматривать это как плюс: понять основные концепции Java на оригинале оказалось не только вызовом, но и прекрасным опытом, который точно пригодится.

Я обязательно возьму платную подписку, пока обхожусь без нее — «нашутил» на триал на два месяца вперед.

Видеокурсы

Сама идея (интеллигентная?) обучаться кодингу по видео вызывала во мне внутренний протест. Я просмотрел пробные вебинары и ролики на трех основных западных площадках: Coursera, Stepik и Udemy. Русскоязычных лекторов отбросил сразу: раз за разом они что-то бубнили в экран, разобраться было сложно, вопросы возникали и к квалификации авторов. Возможно, мне просто не повезло.

Поставив фильтр на English, открылся мир коммерческих видеокурсов, где всё предельно жестко. Каждый автор нахваливает свой курс, благо оценить практически каждый можно по первым бесплатным роликам.

Udemy выглядит как привет из прошлого, но курсов там реально много.

Я остановился на сервисе Udemy, причин тому несколько:

  • Цены. Обратите внимание: на скриншоте огромные скидки. Это не ситуативный дискаунт — Udemy постоянно дает до 90% скидки, как ни зайду. Не думаю, что мне просто везет.
  • Качество. Выбрав 3 курса, я пока купил один. Он большой и классный. А еще там приятный лектор, который буквально разжевывает всё по полочкам. Вот он.
  • Стратегия. Мне удобно видеть дерево обучения. Планировать, что я прочитаю в книгах до и после просмотра нескольких роликов. И какие упражнения выполню на Hyperskill в тот же день.

Всё это не значит, что следует ограничиваться только одним Udemy. На том же Stepik есть множество русскоязычных курсов: если сможете найти бриллиант среди тонны алмазов, напишите в комментариях.

И напоследок — небольшая история. Как ответ вот на этот материал.

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

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

Настал день, когда жена спросила, почему я ничего не изучаю, ведь у меня, наконец, всё для этого есть. Я начал нелепо отмазываться: мне неуютно, нужен стол, стул, лампа.

Жена меня перебила и резко сказала: «Если ты хочешь учиться, тебя не должно волновать, в каких условиях ты будешь это делать. Не теряй своё драгоценное время. Занимайся. Каждый день важен. Здесь нормальные стол и свет. У других нет и такого. Начнешь заниматься и перестанешь замечать вокруг всё, кроме твоей Джавы».

К чему это я?

Не важно, какие курсы вы смотрите.
Не важно, с какой именно книги вы начнете обучение.
Не важно, какое видео вы посмотрите первым.

Просто начните смотреть и читать, хоть что-то. Просто начните писать код, любой код, много кода, кода с багами, нелепого и странного кода, который раз за разом начнет обретать смысл.

Только так можно чего-то добиться. Впереди долгий путь, но уже понятно: он будет чертовски интересным!

{ "author_name": "Shiva Perica", "author_type": "self", "tags": [], "comments": 346, "likes": 189, "favorites": 542, "is_advertisement": false, "subsite_label": "unknown", "id": 281821, "is_wide": true, "is_ugc": true, "date": "Sat, 14 Aug 2021 20:54:49 +0300", "is_special": false }
0
346 комментариев
Популярные
По порядку
Написать комментарий...

Изучать java с нуля легко. Я делал это тысячу раз!

140

Зато научусь много печатать, пока одну строку выведу

11

Признайся, ты просто решил похвастаться, что у тебя есть жена

40

но это временно

8

и новая хата:D

0
Киевский Слава

И сто раз напишешь import копипастный  в ста файлах. Круто жы! Приучает писать дохуя, как Толстой) Всегда полезно. Салон Анны Джавы. ред.

–10
Жизненный Женя

Комментарий удален по просьбе пользователя

3
Киевский Слава

Есть. Javascript называется.

–10
Жизненный Женя

Комментарий удален по просьбе пользователя ред.

3
Киевский Слава

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

–13
Жизненный Женя

Комментарий удален по просьбе пользователя ред.

16
Киевский Слава

Не поверите, но Java и Js компилируеются в абсолютно одно. С вас пивас за открытие Омерики. ред.

–22
Жизненный Женя

Комментарий удален по просьбе пользователя

19

ну вы как бы не совсем правы) V8 компилирует JavaScript в нативный ARM, x86 итп bytecode, ну и версии движка тоже под все архитектуры поэтому пишутся отдельно.

—-
When V8 compiles JavaScript code, the parser generates an abstract syntax tree. A syntax tree is a tree representation of the syntactic structure of the JavaScript code. Ignition, the interpreter, generates bytecode from this syntax tree. TurboFan, the optimizing compiler, eventually takes the bytecode and generates optimized machine code from it.
—- ред.

–1
Жизненный Женя

Комментарий удален по просьбе пользователя ред.

13

ну я и сказал — вы не совсем правы) само определение официальное для понятия "компилируемый" язык достаточно размыто, и вроде большинство сходится на том что JS это частично компилируемый язык как раз за счёт JIT e.g. динамической компиляции, а вы просто описываете статическую. но то что компиляция динамическая — не значит что это не компиляция, а описанная условность — ваше пожелание всё же, ну или мнение)
чистый интерпретируемый язык просто исполняется интерпретатором через платформенно-независимый байткод, а частично компилируемый частично компилирует этот байткод в платформенно-зависимый машинные инструкции — пусть это будет тогда моим мнением, что можно считать "компилируемым")

–1
Жизненный Женя

Комментарий удален по просьбе пользователя ред.

3

про JS с Java действительно была ошибка у написавшего)
SQL явно интерпретируемый и оптимизации в самом движке, а не в генерируемом коде.
кроме того как вы верно заметили, и я теперь тоже заметил полистав свежие release notes к V8 — он там теперь даже байткод вроде не создаёт, а компилирует напрямую в машинный при исполнении.
что касается старого IE — я повторюсь, во-первых с самого начала я сказал что вы частично не правы, а не полностью — и что язык частично динамически компилируемый, что как бы не отменяет самого понятия компиляции, а то что вы считаете некой "истинной" компиляцией только статическую — всего лишь ваше частное мнение, с которым очевидно не согласен не только я но и множество других людей и источников (не раз читал обсуждения о том что JS перестал быть чисто интерпретируемым языком, уровень обсуждающих с вашим сравнить не могу потому что не знаю о вас ничего, но их был достаточно авторитетным). а что было в JS 15 лет назад — ну какая разница, ей богу, сейчас этого уже нет.

–1
Жизненный Женя

Комментарий удален по просьбе пользователя

2
Киевский Слава

"js не компилируется"

Это устроит ред.

–6

"Не поверите, но Java и Js компилируеются в абсолютно одно"

Ну-ка, ну-ка, с этого момента поподробнее.
Во что КОМПИЛИРУЕТСЯ JavaScript? 
И что общего в Java и JS? Типичный HR ред.

3
Киевский Слава

Откройте у себя установленные компоненты винды. Найдите там Java (JDK  или как-то так) и удалите. Узнаете, во что.

В кальмары мне под пиво) ред.

–15

Комментарий удален

Комментарий удален

Отвечай на конкретный вопрос - Во что компилируется JS?

12

Слив засчитан. Ответа нет.

5

Сравнил ооп с прототипами. Молодец. Спасибо что схему не приплёл, а че - иде есть из коробки, что там, что там функции и скобочки. Близнецы братья. 

–1

Комментарий удален

@Инспектор тут пациент разошелся

1
Боковой микроскоп

Я делал это тысячу часов!

0

Ну знаю что это, но хочется еще

12

Сначала долго смеялся и хотел было записаться, но когда увидел что среди прочих Warning и Caution нет Ahtung, то понял, что меня наебали 

0

Я заинтересовалась дата-аналитикой в июле прошлого года. Что я сделала:
1. Прошла 3 курса на Udemy: а) The Python Bible; b) Data Analysis with Pandas & Python; c) R Programming: from A to Z.
2. Прошла программу Google Data Analytics Professional Certificate на платформе Coursera.
3. Параллельно, время от времени смотрела видео из курса CS50 на платформе edX.
4. Сделала портфолио.
5. На прошлой неделе подала документы в магу ВШЭ по дата-аналитике.
6. Смотрю курс по питону на Pluralsight. 

Только сейчас купила кучу литературы и собираюсь её читать. Поначалу (лично мне) гораздо проще делать/повторять за чуваками из YouTube, StackOverflow и GitHub, чтобы просто увидеть глазами, о чём вообще идёт речь и как это вообще работает.

Никому ничего не рекомендую, просто делюсь своим личным планом действий. Желаю успехов! Perseverance is key!)

58

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

4

Я тоже сразу заметила разницу между русскоязычным и англоязычным материалом и отказалась от первого. Но я это сделала потому, что мне русскоязычный материал кажется очень сложным)) Уж очень сложные термины))) По-английски как-то сразу всё понятно.

6
Комплексный парфюмер

Я тут поучил чутка питон на русском ресурсе и английском. Иностранный как-то подбадривает, показывает сложное по-простому, а в русском постоянно намекают, как плохо у тебя с математикой и что ты дебил))))

26

 и что ты дебил

Это свойство не только наших курсов, но и нашей действительности.

14

нашей действительности

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

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

7

Никто зачастую в русскоязычной среде не занимается дипломатией и называет вещи своими именами. Если у человека плохо со знанием физики/математики/материаловедением, так это надо сказать, не тратя ни свое, ни его время. Если у человека нет задатков к определенному виду деятельности, надо иметь смелость человеку об этом сказать в лицо прямо .Для кого-то это бестактность, для кого-то уважения чужих денег и времени.
P.s. Мне когда-то также без обиняков это сказали в лицо в отношении моего интереса к программированию, что данный вид деятельности никак не соотносится с моим типом темперамента. И сейчас по прошествии 20 лет я благодарен этому человеку. И естественно не жалею ни капли. ред.

3
Комплексный парфюмер

В ваших словах есть доля правды, но когда на вопросы тебе отвечают «Это изучают еще в школе в первой четверти восьмого класса» вместо нормального объяснения, а при этом в иностранном курсе просто объясняют это иначе и подробнее, то задаешься вопросом «Может, русский курс просто написан не так хорошо?»))

14

Надо смотреть программу курса. Курс это такой же товар. Так же, я полагаю, любой курс предполагает некоторый уровень владения мат.аппаратом, некоторый теор. минимум, хотя бы свободное владение математики в объеме 2 курсов тех. вуза, который позволит не отвлекаться на посторонние вещи, которые должны быть изучены ранее, и сфокусироваться на объекте курса.
Вы же знаете, что для всего есть свое время. Если что-то упущено, то или самоподготовки, или доп. классы.

0
Комплексный парфюмер

Ни один из курсов не требовал знаний математики на уровне второго курса технического вуза)

4

А кому судить, есть у человека задатки или нет? То что не пошел какой-то способ изучения - совсем не значит, что ничего не получится. Темперамент уж тем более не имеет отношения к программированию. 

11

Темперамент уж тем более не имеет отношения к программированию.

Когда пишешь свой код вероятно и не имеет, и то, если заказчик не склонен к тому, чтобы постоянно в процессе в ТЗ вносить изменения.

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

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

2

даже за сутки не получается решить задачу

Не поверите, но бывают задачи которые не решаются ни за сутки ни за неделю Просто в силу объемов. ред.

4

Темперамент уж тем более не имеет отношения к программированию.

Очень даже имеет. Кто-то в принципе не способен просидеть 8 часов на одном месте. Кто-то способен просидеть, но не может остаться в одиночестве даже на пару часов.

1

Любая умственная работа нынче предполагает сидение 8 часов в одиночестве. Программирование тут ничем не выделяется 

2

Любая умственная работа нынче предполагает сидение 8 часов в одиночестве.

Руководитель проекта с 6-8 часами встреч в день это уже не умственная работа? ред.

1

8 часов сфокусированной разработки в одиночестве это роскошь. И чем выше по карьерной лестнице находишься, тем больше коммуникаций становится.

0

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

Сейчас несколько лет зарабатываю на программировании, и кайфую от работы) И вот хороший вопрос, кому судить? 

5

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

1

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

4

Мне кажется, ответ очевиден: нужно брать в расчет мнение тех людей, которым если не доверяете, то как минимум считаете их мнения ценными. Я всегда считал в отрочестве, что если чем-то занимаешься, нужно заниматься этим самозабвенно. В моем случае, я скорее в его бы выгорел к 20-ти годам, так и не реализовав себя не в материальном плане, а именно в плане решения прикладных тех. задач или сопричастности к их решению. Некоторым людям это легко даётся, некоторым нет. Я сейчас на своем месте во многом благодаря жёсткому наставнику: не можешь заниматься физикой, математикой и программированием 112 часов в неделю - не твое. Наука требует жертвенности. ред.

0

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

3

Нейронные связи можно выстраивать очень успешно, когда есть возможность, за что их выстраивать, и при обеспечении элементарных условий вокруг. Когда ты выстраиваешь нейронные связи с нуля, проглатывая книги с 1 ночи до 5 утра перед рабочим днём по найму и после укладывания детей спать, то это не самый лучший вариант. Поэтому все хорошо в свое время: учеба, семья, профессиональная зрелость и востребованность.  ред.

2

Я никуда не спешу, поверьте. Именно поэтому и подала доки в магистратуру ВШЭ. 

2

Я вижу, что вы юны и судите с колокольни юного человека, у которого достаточно временного ресурса. Плюс я Вам по-хорошему завидую, так как ВШЭ предполагает не плохие по содержанию программы, однако форма обучения очно-заочная, которая предполагает нахождение в Москве. Не всем это удобно. Однако я за Вас по-человечески рад. Получить образование вовремя и в неплохом месте - это хороший задел на зрелость. ред.

2

Правда жизни. У меня вроде бы с математикой все более-менее. Решил посмотреть что надо в Нормальную контору на вакансию дата-анатилика, открыл и закрыл почитав требования к знаниями именно математической части (((:

6

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

5

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

2

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

https://www.cargocultcode.com/what-does-first-normal-form-mean/

На практике нужно знать как уважать и не уважать индексы и этого достаточно для 90% задач(когда думать о партишенах ещё рано) .  

1

Так чтобы это понимать, нужно это знать :-) Без понимания получится не БД, а хрень на лопате.

1

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

4

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

9

Встречал мнение что квалификация просто не позволяет обьяснять сложные вещи простым языком. В целом согласен.

0
Жизненный Женя

Комментарий удален по просьбе пользователя ред.

6

Вообще, я часто сталкиваюсь с тем, что на английском понятнее именно на уровне слов, а при переводе того же материала получается трудноваримая фигня. 

1

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

3

У них достоинство в том, что они актуальны. Пока рашкины авторы переведут что-то, пять новых версий выйдет. 

4

Для любопытства, а  дата-аналитик с чем работает? Напрямую с БД в бэке?
Я вот аналитикой тоже занимаюсь, только по старинке массивы из Excel :)

1

Судя по тем статьям и материалам, что я прочла, сделала вывод, что в крупных компаниях зачастую работают напрямую с БД. Я пока ещё не работаю в функции, пока только изучаю предмет. Но Excel - это, бесспорно, основа аналитики. 

1

В крупных компаниях несколько уровней.
Могу на нашем примере рассказать.
Есть бэкенд. Там все очень сурово. Дремучий легаси и кровавый энтерпрайз. Никакой джавы там не и в помине - она жрет слишком много ресурсов и не обеспечивает должной производительности. Все на уровне системных API и специфического языка, завязанного напрямую на платформу и ориентированного на работу с БД и коммерческие вычисления.
Есть фронты. Там много разных направлений. Веб, мобильная разработка, Pega... Но они не работают с БД напрямую (и доступа к серверам у них нет - сервера вообще очень сильно изолированы, прямой доступ к ним возможен только из внутренней сети.
Для фронтов есть набор API для запросов к серверу.
И и есть middle слой. Это реализация тех самых API для фронтов. Там есть Java - есть т.н. вебсервисы, которые транслируют данные от фронтов во внутренний формат и вызывают "сервисмодули" на стороне бэкенда. Есть JMS (Java Messaging Service) которая стыкуется с очередью на сервере (обмен данными через очередь), есть WBI которая тоже работает через очередь на сервере.
Это так, очень примитивно и без подробностей.

4

Мне кажется, важно уточнить, что со всем этим напрямую аналитик данных редко сталкивается. С этим работают инженеры данных, чтобы правильно забрать данные в аналитическое хранилище. А аналитик уже в основном в двх обращается. Может, в каких-то редчайших случаях нужно взять данные напрямую из прода, но это не лучшая практика ред.

2

Честно скажу, с BA подразделениями напрямую не работал, так что их специфику представляю весьма поверхностно.

1

Дата аналитик, как правило, работает с БД в Data Warehouse (DWH, хранилище данных). В хранилище данные попадают, в свою очередь, из продакшен систем (из бэка) и специальным образом обрабатываются. В бэке БД оптимизированы под быструю обработку транзакций, а в хранилище - под аналитические задачи

2

Тем же самым, только в EXCEL времен MS DOS

0

Вопрос-магистратура зачем в этом списке?

1

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

1

По анализу есть "Занимательная статистика. Регрессионный анализ"
Книга, Син Такахаси

2

Спасибо большое!) Я сначала подумала, что вы мне что-то околохентайное скинули, хаха))) Потом погуглила) 

1

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

1

По пункту 1-с, кмк, сейчас не стоит тратить время на R

0

Почему не стоит тратить время на R?

1

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

3

У меня сложилось впечатление, что пока ещё требуют от аналитиков знание Python, SQL, R, но могу ошибаться.
А что вы порекомендуете?

0

Рекомендую сосредоточиться на питоне. На и sql надо знать, само собой. R сохраняет релевантность только для тех, кто на нем хорошо умеет и не хочет переучиваться

4

Сейчас набирает обороты язык Julia, который скорее всего обойдет и Python, и R в сфере мат. вычислений и статистики.

2

Спасибо)

1

Всё зависит в какую конкретную область идёте. Если связано с research/science/healthcare — то R релевантен (иногда нужен SAS и совсем в узком направлении SPSS), но и курсами тут не отделаешься, обычно нужно что-то большее. Если же связано с машинным обучением в классическом понимании для юзера, то тут python пока процветает.

В нормальных же компаниях, руководитель ценит умении мыслить в первую очередь, а не язык. Конечно, могут быть определённые ограничения по используемому stack, но это обычно для релизной версии. В моём случае, если что-то быстрое нужно "посмотреть", то R в RStudio, если нужно чуть больше глянуть, не вникая в детали, то python + SQL. Если же что-то нужно сделать так, чтобы работало быстро, вне зависимости от "погодных условий", не зависило от эмоций разработчиков "community" библиотек, то тогда C#/C++ и SQL.

SQL - по умолчанию. Хотя вопрос довольно широкий. Хороший оптимзированный запрос написать дано малому количествую людей. Очень часто видел, когда мешали python

2
Жизненный Женя

Комментарий удален по просьбе пользователя

4

С++ вообще не туда пошел. Стоило остановиться на уровне "С с классами", все остальное есть и лучше реализовано в других языках.
А вот с С ознакомиться стоит. Просто для понимания того как оно устроено внутри. Но это если предполагается заниматься какой-то более-менее бэковой разработкой, а не рисованием формочек-кнопочек (там важнее другие навыки - хорошо сделать интерфейс это очень большое искусство, вот, к примеру,  лично мне недоступное)

2
Жизненный Женя

Комментарий удален по просьбе пользователя ред.

2

Я не говорил что на нем надо писать. Но знать его для понимания как оно устроено внутри таки стоит.
Хотя бы потому, что на нем очень много бэка написано. В том числе и компиляторы других языков.
Если человек знает С, то для него не проблема понимать как передаются аргументы в функции через стек. Что такое передача по ссылке или по значению. Как переменные в памяти располагаются. И т.п.
Такое понимание дает более осмысленную разработку на любом языке.

3
Жизненный Женя

Комментарий удален по просьбе пользователя ред.

1

В этом и проблема, когда всех кто что-то программирует называют "программист". Сферическому Software Developer надо знать как устроена модель памяти. Data Analyst не надо. Но мне кажется это разные профессии.

2

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

0

Мне кажется современный С++ пытается сесть на два стула: угнаться за "модными" языками по фичаи, но не делать редизайн и сохранить обратную совместимость с гигантской кучей легаси.

1

Да, вы правы.
Мне совершенно непонятно стремление тащить в С++ все модные фички из других языков.
С пои всех его недостатках был хорош своей лаконичностью и близостью к железу. Когда только появились плюсы к этому добавилась объектность. Вот там и стоило бы остановиться.
А сейчас все усложнили, запутали, но языком "конвейерной" разработки он все равно не стал в силу большого количества UB которое есть следствие наложения новомодных фич на старую идеологию.
При том, что на плюсах я писал очень много и с момента их появления (начинал на С когда плюсов еще не было) и иногда пишу и сейчас, все, что далее чем "С с классами" никакого восторга не вызывает. В отличии от момента когда в С появилась возможность оперировать объектами и проектировать на уровне объектов. Тогда это было прорывом, сейчас это уже болото в котором завязли сами разработчики языка.
Такой вот я старый и немодный :-)

3

Я тоже сожалею, что С++ не остался просто Си с классами, а пошел конкурировать с другими языками программирования. У Си хорошая ниша, из которой его не выбить. Потому, что Си фактически язык без рантайма.  С помощью Си, линкера, немного ассемблера можно собрать любой бинарник, и ни один современный язык на такое не способен. C++ уже требует минимальную реализацию рантайма, чтобы полноценно фукнционировать, rtti, exceptions, new, delete и т.д. И получается, что С++ может рано или поздно умереть, а вот старичек Си все равно будет нужен. Как сейчас модно говорить в среде питонистов, что у них "Си под капотом", но Си под капотом везде, даже у С++.

1

C мне нравился тем что там все было достаточно понятно - вот что написал в коде, то и будет в программе.
В плюсах слишком много скрыто "под капотом". Пара строк кода в результате разворачивается в дикую колбасу. А поскольку там заложена универсальность, то за нее приходится платить некоторым оверкодом.
Я долгое время работал в области, где было много timecritical кода. И доходило до того, что мы отказывались от использования stl в критических местах именно из-за этого оверкода, обеспечивающего ненужную для нас универсальность. Просто писали те же контейнеры, но жестко заточенные под наши задачи и условия (включая наши типы данных).
При этом использование объектов и классов было удобным на всех уровнях - от архитектуры до разработки (к примеру, структура классов у нас отражала физическую сущность нашей предметной области).
Т.е. тот самый "С с классами". Быстрый, эффективный и прозрачный.

2

Это нормальное течение вещей, когда какой-то язык обрастает функционалом и сахаром т.к. это запрос со стороны активных пользователей. Когда другим языкам будет столько же лет как и С++, то с 99% вероятностью там будет такая же чехарда, в которой могут разобраться только "деды". Опять же никто не мешает писать лаконичный код С++. Просто во многих проектах делают костыль, который порождает другой и так до бесконечности.

0

Так весь этот функционал и сахар есть в других языках. И зачастую он там более эффективен и сладок просто за счет того, что там он закладывался изначально без оглядки на старое наследие.
И пытаться сделать С++ заменой всего остального есть ошибка.
Что дальше будет? Потащим туда функциональное программирование? Предикаты из Пролога? 
Зачем вот это все?
С изначально разрабатывался как язык системного программирования. Добавили в него классы и успокойтесь. Не надо тащить туда весь сахар со всех остальных языков. Ж... уже слипается от всего этого.

3

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

Компания, где я работаю, выпускают приборы по химическому анализу в реальном времени. Могу получать вопросы на тему "что у нас не так с .....?" до "можем ли мы это исправить и как?". В первом случае ответ может быть один единственный запрос SQL и не нужен никакой язык программирования, во втором случае зачастую нужно написать/адаптировать алгоритм, засунуть его в контейнер, связать протоколом с другим контейнером и вписать это всё в имеющийся hardware (который, в силу сертификаций, не может обновляться как приложения для андройда).

У нас имеются некоторые питон программисты. На них смотреть очень забавно. Они пишут что-то для абсолютно managed сред, работающих на AWS, когда же нужно что-то реальное выложить, то даже в 32ГБ RAM не могут вписаться, не говоря о real-time. Моё ощущение, что питон делает людей слегка более туповатыми, так как со временем теряется знание математики, всё сводится к "а давайте попробуем применить тот или иной алгоритм out of the box".

1
Жизненный Женя

Комментарий удален по просьбе пользователя ред.

0

Дата и бизнес анализ мне кажется слегка разные вещи, второе более узкое направление. Ну это моё понимание, могу ошибаться.

Что касается этих биг дата, проблема в том, что из AWS нужно перенести на железку внутри прибора, где максимум 32 ГБ, не говоря уже о том, что это должно быть эффективным и иметь смысл.

0

зачем все это?

0

Человек у которого результата 0, делится опытом как к такому результату прийти)).
Шалдта советовать — плохо, он скучный и занудный, а размер книги как талмуд. Да и зачем книги по джаве читать? Я так и не прочитал ни одной книги по джаве. Лучше сразу начать чё-нибудь писать и гуглить походу на stackoverflow.

32

На vc каждую неделю появляются статьи про то, как людей обманули на СкиллФигактори и подобных сервисах, а тут человек поделился опытом самостоятельного изучения языка программирования, неужто так сложно порадоваться за него?

6

Я в процессе к 0.0001, об этом и пишу

3
Загадочный магнит

А каким ноутом пользуешься? 

2

HUAWEI MateBook D 15 i5-1135G7/16/512

0
Загадочный магнит

Спасибо. А что можешь сказать о нем? Как давно пользуешься? Почему именно он? Уже месяц бук выбираю.

0

Я брал как раз под кодинг. Тут нормальная IPS матрица, 16 гигов памяти (правда вшитых, не расширить). По дефолту винда, но я снес и поставил Ubuntu - все работает, кроме сканера отпечатка пальцев.

Клава удобная, шума немного. M2 SSD быстрый. Лучше пощупать где-то в магазинах: Huawei и Honor делают почти идентичные модели. Из минусов - все-таки дороговато.

2
Жизненный Женя

Комментарий удален по просьбе пользователя

1

Да, забыл про это сказать. Зато не приходится ее заклеивать

0
Жизненный Женя

Комментарий удален по просьбе пользователя ред.

0
Загадочный магнит

Понятно, спасибо. Для кодинга 16 достаточно. 8 мало было бы, да, с учетом прожорливости браузеров и ide всяких. 

0

Мне 16 мало, но у меня кластер миникуба крутится для локальной разработки. Нужно 32 как минимум...)

1
Загадочный магнит

А чем занимаетесь? Какой именно софт используете? Если видео, геймдев, то понятно. И что за кластер миникуба такой?)

0

Minikube. Это кубернетес, только локальная урезанная версия для запуска на компьютере. По разработке ничего необычного, просто фронтенд, но именно среда выполнения очень требовательна к ресурсам.

0

Разве дорого? 15.6 стоили ведь 50-60. Или на новом интеле все 90?

0

Сегодня еду забирать Huawei Mate D16)

0

Мне тоже заверни один.:)

0

Их там как раз два осталось ) тебе только если с витрины )

1
Загадочный магнит

А среди каких еще выбирал?

0

смотрел еще несколько hp, и honor, 
у последнего не понравилась сборка, а hp были все на интелах. вот кстати пишу уже с ноута ) 

0
Загадочный магнит

Поздравляю с преобретением! А чего интелы сейчас не в почете? ред.

0

Прекрасный ноут
Имею Honor MagicBook Pro
Похожая машинка, только на 16.1 дюйм
На Январь 2021 лучшей конфигурацией было 4600H, 16/512. Главное взять сборку ноября и позже, там частота оперативки выше сильно, что для AMD хорошо. Да и тайминги вроде не хуже, т.е. просто с ноября лучше оперативку ставят.
Сейчас может интел тоже хорош, но в то время единственный интел был дороже на 30 тысяч (100 против 70) и был менее мощным. Выбирали под хакинтош разве что.
По ноуту: великолепный экран, подойдёт даже для профессиональных фотографов: 100% sRGB, DeltaE Color 0.8, DeltaE Greyscale 1.0 (без калибровки даже). Это на 16.1 дюймах, про 15.6 не в курсе.
Клавиатура шикарная. Тачпад, для своего сегмента отличный (хоть и не идеален, но в бюджете до 100тыс лучше мало у кого).
Про порты говорить не буду, т.к. у Matebook и Magicbook они разные (хотя ноутбуки одинаковые).
Аккумулятор огроменный, в режиме браузера спокойно более 10 часов может проработать.
Из минусов: дисплей яркостью 250нит, для фрилансеров под пальмой не подойдёт. Ещё динамики оставляют желать лучшего. Ну и подсветка клавиатуры мне не зашла (хотя лучше, опять же, нет почти ни у кого). ред.

0
Загадочный магнит

Спасибо за развернутый коммент. Может у меня стереотипы, но я как то более доверяю старым производителям ноутов, мне почему то кажется что сяоми, хуавейй и хонор еще е опытные, хоть выглядят ноуты не плохо. Вот присматриваюсь к enovo yoga slim 7 pro, на i5 11300h. Дороговато конечно, но когда выбираешь понимаешь круг довольно узкий.

0

Посоветую тебе notebookcheck, там сможешь разобраться с моделями

1
Загадочный магнит

Спасибо, сайт конечно знаю. Почитываю. https://psref.lenovo.com/Detail/Yoga/Yoga_Slim_7_Pro_14IHU5?M=82NC0020RE за 1300$, брать, не?

0

Если клавиатура тебе заходит, то да

0

Старые производители хороши не тем, что у них нет минусов, а тем что эти минусы в основном стабильны и известны. К примеру, у того же леново в бюджетных и не очень ноутбуках тачпад не особо хороший. С китайцами это конечно не всегда так. Но сейчас китайцы правда стали лучше. На данный момент (через года 2-3 всё может поменяться кардинально), уавей/онор - неплохой выбор. Сяоми не советовал бы. Леново зависит от серии - всё-таки бюджетные за 40-50тыс. и синкпады у них отличаются очень сильно.
Про эту Йогу - честно, я данный сегмент не смотрел даже.
Но знакомые ноутами этой серии (йога слим) довольны, проверенные блогеры не ругаются. Думаю неплохой выбор.
Но сравнивать его всё-таки с Huawei Matebook X/X Pro нужно, а не с бюджетной линейкой D.
Главное чтобы вас устраивал маленький экран данной модели и клавиатура леново. На мой взгляд главные неоднозначные моменты. Может есть ещё нюансы, уточните у тех, кто часто имеет дело с леново

0
Загадочный магнит

Спасибо! Сегодня в был магазине, интересных моделей мне не было, пощупал кое что, да, у хонора клавиатура понравилась, большие кнопки. Стояли какие то идеапады, но там все печально, по 8 гб распаянной оперативки и т.д. и 14 дюймов что заметил, зависит от соотношения. Стоял асус 14, низкий и узкий, и тот же хонор 14, там более удобный мне показался. А что за особееность у клавиатур леново?

0

Про книги согласен, но для расширения кругозора Философию Java Эккеля рекомендую

1

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

0

книги читать надо, так раньше все делали не просто так :) и потом представьте, что вы сможете не только спрашивать но и отвечать на stackoverflow, за это ещё и репу получите :)

1