JavaRush /Java блог /Random UA /Як правильно вивчати Java
Зеленая лягушка
26 рівень
Москва

Як правильно вивчати Java

Стаття з групи Random UA
Як правильно вивчати Java - 1
Доброго дня, шановні джаварашівці та джаварашатеси! Майже перед кожним, хто прийшов на JR, постає питання як правильно вчитися? І ось прямо зараз, без реєстрації та СМС, я поділюся своїм досвідом на цю тему. Прийшовши на JR більшість ставлять собі завдання — вивчити Java рівня, що дозволяє влаштуватися працювати Java-программистом. Сам я ще не вивчив Java до такої міри, та й за ІТ-спеціальностями ніколи не працював. Але вже намагаюся вас вчити. Хтось ( напр., Ісус ) скаже, що це гріх гордині. Інші ( напр., Фрейд ) скажуть, що це підвищена самооцінка щодо обсягу свого МПХ. Але це не так. Адже вчити я вас не Java, а як його вивчати. Та й не вчити буду, а поділюся власним досвідом. Як ми всі знаємо, know-haw (знаю як) дає величезну перевагу перед тими, хто не знає як. Ось і ви цю перевагу отримаєте.

Першочергові завдання радянської влади

Як правильно вивчати Java - 2
Як я вже писав, завдання більшості — вивчити Java рівня, що дозволяє влаштуватися працювати Java-программистом. Вона породжує такі основні питання. Що вчити? У якій послідовності вивчати? Як учити? В принципі, сам курс JavaRush є відповіддю на питання "що вчити?" і "в якій послідовності вчити?" Але відповіддю далеко не повною, про що джаварашівці та джаварашатеси починають здогадуватися вже до п'ятого рівня. Відповідно дуже важливою стає відповідь на запитання, а що ще, додатково до курсу JR треба вивчати? Також необхідно відповісти на ворос, що означає знати мову Java? Чи потрібно знати ще щось крім Java, щоб бути Java-програмістом? На питання, що означає знати мову Java? Можна дати три відповіді:
  1. знати синтаксис мови;
  2. вміти написати що-небудь працююче на Java, що передбачає знання можливостей мови, а також цілей та випадків їх використання;
  3. вміти писати Java-програми.
Перший варіант знання вчать рівні 1 - 10 JR. Другому - решта курсу JR. Третьому — стажування та самостійне написання програм із одночасним освоюванням додаткових технологій, необхідних для такого написання, але не викладених на JR.

Курс молодого бійця

Як правильно вивчати Java - 3
Що ще крім Java і JR необхідно вивчити, щоб стати java-програмістом? У відповіді на це питання можна виділити три складові. По-перше, одночасно із проходженням курсу необхідно вивчити кілька книг. Ці книги доповнюю мізерний теоретичний матеріал курсу, сприяють його розумінню та допомагають проходженню. Вони описані у наступному розділі. По-друге, якщо ми стверджуємо, що java це мова для написання великих бек-енд бізнес-додатків, то така писанина неможлива без освоєння додаткових технологій. Про ці технології тут трохи нижче. Андроїд-розробку не розглядаю, т.к. не компетентний у її вивченні. Так, на java можна писати "невеликі" програми та користувацькі програми з інтерфейсом. Але все ж таки вона не для цього, на мою скромну думку. Тому ці варіанти також не розглядаються. По-третє, для становлення професіоналом необхідно вчитися, вчитися і ще раз вчитися (© В.І. Ульянов(Ленін)). Яку літературу для цього використати насамперед скажу у розділі "Комунізм - це Радянська влада плюс електрифікація всієї країни". Розглянемо "по-друге" докладніше. Завжди є дані! Їх треба десь зберігати. І зберігають їх ентерпрайз-додатки у базах даних. Тому необхідно отримати гарне уявлення про роботу з базами даних. Для першого знайомства часто добре підходять книги із серії HeadFirst. Є в цій серії і книжка Лінн Бейлі "Вивчаємо SQL". Додатково можна освоїти книгу Алана Бьюлі "Вивчаємо SQL". Для відточування майстерності є хороший сайт http://sql-ex.ru/, що містить завдання SQL. Фронт-енд технології бек-енд розробнику не дуже потрібні, але уявлення про HTML CSS мати необхідно. Тут на допомогу знову прийде серія HeadFirst в особі книги "Вивчаємо HTML, XHTML та CSS" Елізабет Фрімен та Еріка Фрімена. Вивчати SQL, HTML та CSS можна з будь-якого рівня JR. Програма, написана на java, має якось працювати з базою даних і з веб-інтерфейсом. І тут не обійтися без технологій jdbc (це для баз даних) і servlets/jps (це про роботу з веб-інтерфейсом). На жаль, я не можу підказати хороших книг російською мовою з цих тем. Для знайомства з цими темами можна переглянути Базовий курс з JDBC і Java EE для початківців. Це більш складні теми та вивчати їх слід після освоєння SQL, HTML та CSS. Ентерпрайз-додатки пишуться за допомогою так званих фреймворків. Одним із найпопулярніших є Spring. За цим фреймворком є ​​хороша книга Spring 4 для професіоналів Шефер К., Хо К., Харроп Р. Освоювати Spring варто після освоєння тем, зазначених вище в цьому розділі. Вся сфера знань "по-друге" може вивчатися одночасно з проходженням JR. Це залежить від рівня підготовки та наявності вільного часу. Якщо є час і досягли відповідного рівня розуміння, вчимо паралельно з JR. Ні - залишаємо на "після JR". Визначившись із відповідями питання що й у якій послідовності вчити, звернемося до відповіді питання як?

Як правильно взяти пошту, телеграф та телефон

Як правильно вивчати Java - 4
Перше і найважливіше – методологія навчання. Щоб засвоїти матеріал, його треба зрозуміти, запам'ятати і вміти застосовувати. Почавши проходити JR, необхідно відразу вивчити книгу "Думай як математик" Барбари Оаклі . І застосовувати всі правила, які в ній описані. Прочитав перший розділ, другий вивчаєш за правилами першої. Третю за правилами першої та другої тощо. Курс JR та книги, які вивчаєш, вивчай як вчить Барбара Оаклі. Прочитане допоможе розуміти теми, що вивчаються. Наприклад, запам'ятовування та розуміння матеріалу сприяє не повторне перечитування матеріалу, а спроби відтворити його самостійно. Це означає, що наведені в тексті приклади треба один раз прочитати досягнувши загального розуміння того, що відбувається, а потім відтворити самостійно. При цьому при виникненні труднощів не лізти відразу за готовою відповіддю, а шукати її самостійно — згадуючи і знаходячи. Якщо відтворити виходить, то тема в основному зрозуміла. Якщо не виходить, відтворюємо ще раз, працюючи помідорами. Докладніше про помідори пізніше. По-друге, поставте програму Anki на комп'ютер і смартфон. Весь матеріал, що вимагає запам'ятовування, потрібно вивчати за допомогою програми Anki . По кожній темі формується набір запитань – відповідей та повторюється за графіком Anki. Приклад: Рівень 20. Урок 3 5 питань Anki завантажено О: Що таке серіалізуючий об'єкт? Відповідь: Серіалізація об'єкта – це здатність об'єкта зберігати повну копію його та будь-яких інших об'єктів, на які він посилається, використовуючи потік виводу (наприклад, у зовнішній файл). Джерело: Рівень 20. Урок 3 П: Алгоритм серіалізації об'єкта у файл? В: 1) об'єкт, що серіалізується, повинен імплементувати інтерфейс Serializable; 2) створюємо об'єкт типу FileOutputStream, передавши йому параметрах ім'я файлу; 3) створюємо об'єкт типу ObjectOutputStream, передавши йому у параметрах об'єкт типу FileOutputStream; 4) у об'єкта типу ObjectOutputStream викликаємо метод writeObject, передавши йому в параметрах об'єкт, що серіалізується. Джерело: Рівень 20. Урок 3 П: Що таке інтерфейс-маркер? Відповідь: Інтерфейс, який не містить жодних даних та методів. Використовуваний тільки для того, щоб позначати (маркувати) класи. Джерело: Рівень 20. Урок 3 Якщо так не вчити, то пройдене забуватиме через два-три уроки. Скільки часу потрібно займатися таким повторенням? Думаю, що поки що період повторення не стане більше півроку. Після цього тему можна перестати повторювати. Звичайно, це не гарантує ефекту "фотографічної пам'яті", але запам'ятається матеріал дуже добре. Щодо книг. Матеріал на JR подається дуже скупо. І це "фіча, а не баг". Для отримання додаткової інформації на теми добре підходить двотомник Хорстманна "Java. Бібліотека професіонала", десяте видання. Там слід читати відповідні розділи з проходженням курсу. На перших рівнях можна прочитати перші три розділи з книги Лафора "Алгоритми та структури даних Java". Там про масиви та прості алгоритми сортування. Обов'язково потрібно вирішувати проекти наприкінці розділів. Ці проекти є чудовим прикладом правильних завдань засвоєння матеріалу. На відміну від HeadFirst, де завдання погані. Також одночасно з курсом і навіть випереджаючи його бажано прочитати "Вивчаємо Java" Кеті Сьєрри та Берта Бейтса із серії HeadFirst. Це дасть гарне загальне уявлення про мову. Вчитися краще "помідорами". Ця методика дозволяє краще зосереджуватися, враховувати час витрачений навчання, мотивувати себе, залучати підсвідомість до вирішення завдань. Саме "помідори" дозволяють реалізувати принцип: краще збільшити кількість спроб зробити щось, ніж тривалість однієї спроби . Це основні засади "як?". У книзі Думай як математик є ще багато корисного.

Комунізм - це Радянська влада плюс електрифікація всієї країни

Як правильно вивчати Java - 5
Курс JR хороший, але глибина розкриття тим дрібна. Бажаючим пірнути допоможуть 10 основних книг для вивчення Java. Детальніше читаємо тут . Описувати ці книжки докладно не буду, окрім Блоха Java. Ефективне програмування». На rutracker.org є електронна версія другого видання із додатковою редактурою Linneris. Найкраще читати це видання.

Метод норвезьких лижників-астматиків

Як правильно вивчати Java - 6
Деяким джаварашевцям та джаварашатесам 50 років, або за 50 років, або близько 50 років. Вік створює додаткові, природні труднощі, знижуючи здатність до навчання. Зменшуються когнітивні здібності, швидше настає втома, знижується загальний тонус організму. Гормональна перебудова організму вносить корективи у настрій, самоконтроль, послаблює вольову поведінку. Люди віком можуть звернутися до лікарів за фармакологічною підтримкою з метою послабити описані вікові ефекти. Підсаботи когнітивні здібності та пам'ять можна за допомогою так званих ноотропів. За призначенням відповідних препаратів необхідно звертатися до невролога, якщо є скарги на погіршення запам'ятовування та зниження когнітивних здібностей. Ноотропи допомагають, але чудес від них, як і від інших препаратів, чекати не варто. Для боротьби з віковою гормональною перебудовою існує ГЗТ (гормоно-замісна терапія). Для чоловіків це переважно зводиться до прийому тестостерону. Але як побочка є великий шанс отримати онкологічне захворювання і померти в муках. Жінкам призначають свої гормони. І наслідки там не такі руйнівні. У будь-якому випадку сказане стосується виключно вікових учнів. Вся фармакологія приймається строго за призначенням лікаря та під його наглядом.

Найважливішими з мистецтв на даному етапі для нас є цирк та кіно

Як правильно вивчати Java - 7
Навчання та особливо вивчення точних наук є справою важкою та довгостроковою. До того ж специфіка поточного історичного етапу та ІТ-спеціальностей перетворює навчання з часового процесу на спосіб життя. У спосіб життя, що вимагає відомої напруги. Це треба усвідомити, і до цього треба бути готовим. Згадаймо Бодрійяра з його симуляціями та симулякрами. План території не дорівнює самій території. План території є спотворенням території. Потрапляючи під вплив реклами ІТ-курсів та відчуваючи захоплення від розмірів зарплат програмістів, слід пам'ятати, що це симулякри, а не реальність. Нерозуміння різниці між очікуванням та дійсністю спричинило появу мема "увійти в АйТі". Мема, що характеризує поверхневий, "шапкозакидальний" підхід. "увійти до АйТі" не вийде. Може вийти лише довга і напружена праця. Навчитися програмувати можна за 10 років , не менше. Скільки не геймофікуй процес навчання, він не перетвориться на ненапружне проведення часу. Отак не вийде. Про вивчення іноземних мов кажуть, що вони навчаються попою. Сів на попу і вчиш, вчиш, вчиш. Java вчиться також. Серйозно налаштованим на навчання хочу порекомендувати чудову книгу письменника та педагога Симона Соловейчика "Вчення із захопленням" . () Перший її варіант вийшов ще 1976 року. З того часу в навколишньому світі дуже багато змінилося. Але не змінабося люди, не змінилася потреба у знаннях. Знання тепер відкривають ще більше дверей та горизонтів. Як і раніше, без знань неможливо досягти багато чого і зробити щось значне. Так, окремі індивіди навчабося неймовірно красиво та фантастично незвичайно споживати. Але ж акти споживання є досягненнями (© Ж. Бодрийяр). І важливість знань не зменшилася за ці роки. Згідно з деякими жахливими та катастрофічними прогнозами сучасне суспільство йде до кіберфеодалізму . Але навіть у такому майбутньому сегрегація проводитиметься не лише за багатством, а й за знаннями. Будуть їсти тільки багаті та їх інтелектуальна обслуга-технарі. Отже, навчання допоможе підготуватися до будь-якого майбутнього. І до кіберфеодалізму, і до Миру Полудня . З повагою, зелена жаба. PS На великій фотографії зображено одну з книжкових полиць автора статті. PPS Далі буде.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ