JavaRush /Java блог /Архив info.javarush /Советы для всех новичков и немного своей истории
kolust
40 уровень
Cherkasy

Советы для всех новичков и немного своей истории

Статья из группы Архив info.javarush
Всем привет.Сразу хочу поблагодарить huberta и его комманду за замечательный ресурс- огромное вам спасибо,вы дете знания и главное опыт всем пользователям вашего ресурса и главное возможность протоптать себе дорогу в светлое будущее!!! Немного о себе. Всегда любил математику и логику, хотел научится программировать,но не въезжал со старта в принципы и методы этого дела с помощью литературы, так как сразу в голове при прочтении каждой следующей страницы появлясось сколько непонятностей и вопросов,что книга улетала далеко на полку.Решил искать в инете какие-то интерактивные курсы с наглядными примерами и наткнулся на JavaRush, и втянуло так... За несколько первых лекций сразу понял,что к чему,все мысли были заняты поиском решения задачи,это как наркотик.Пришел на JavaRush полным "0" прошлим летом, а сейчас я уже на 34 уровне.На собеседования еще не хожу,потому что понимаю что есть еще пробелы в знаниях,пойду когда закончу все уровни и почитаю еще немного литературы. И так,хочу дать немного советов новичкам,может кому - то поможет и кто - то не будет повторять моих ошибок.Все написаное ниже - мой личный опыт,как абсолютно полного новичка в программировании: 1.Все мы хотим учится и при этом ничего не платить,таков уж наш менталитет.Первые уроки бесплатные и кого сразу не втянуло- могу сказать,что программирование вряд ли для вас!И так, я ,как наверное и многие,прошел бесплатные уровни и остснавливатся не захотел.Денег как всегда жалко и я воспользовался 5 приглашенными друзьями,сам за ник под их логинами дошел до третего уровня и получил дополнительную подписку на месяц,так делал 2 или 3 раза(hubert прости).Сразу отмечу,что вначале задания короткие и легкие,начинаеш думать,что за пару месяцев осилиш весь курс!Но это не так!!!Дальше задания большие и сложные,для некоторых решение выносится в голове неделями,так что месяц бесплатной подписки истекает очень быстро. Вот и я взял себе премиум подписку - И НИ КАПЕЛЬКИ НЕ ЖАЛЕЮ!!!Друзья -не тратте своего времени зря,если хотите учится,берите премиум подписку(это не реклама,все равно вы сами к этому прийдете) это секономит вам кучу времени и сил и нервов!!!!!!! 2.Мое мнение,что все надо изучать с самого происхождения,поэтому я начал свой путь программиста с очень замечательной книги "Чарльз Петцольд - К.О.Д.".В ней описывается истори появления на свет вычислительных машин,основы их работы,как они считают,вычисляют,как работает память,единици измерения информации,кодировки и много других полезных вещей.Книга читается очень легко и очень понятна,рекомендую всем.Из литературы по программированию не советую новичкам читать "Филоссофия ява"(для новичка она вам даст больше вопросов чем ответов,а когда вы приобретете немного опыта и поймете суть,конечно же ее нужно почитать).Для старта читайте лекции на курсе и дополнительные материалы по лекциям и смотрите примеры на форумах. 3.Сразу зарегистрируйтесь на http://info.javarush.ru и help.javarush.ru.Там найдете большинство ответов по решению задач на курсе. Если прошли несколько уровней и поняли как решить определенные задачи то не ленитесь и помогите решить их тем,кто просит помощи в сообществе.Помогая другим вы лучше закрепите пройденный материал и в будущем кто - то поможет вам(не сомневайтесь,что помощь вам понадобится).Если не можете пройти задание не стои сразу создавать новые топики на форуме.Воспользуйтесь поиском и в 99% вы найдете уже готовые ответы на ваши вопросы по задачам,к тому же ,когда вы читаете обсуждение задач,кто то можеть дать вариант решения попроще или ссылку на поллезный материал. 4.И так вы прошли первые уровни ,где задачи решаются в браузере и пора установить IDEA. В сообществе есть топики по установке и настройке IDEA,прочитайте их все перед тем как начнете решать задачи в среде разработки,так как вы сразу настроите IDEA под себя и будете хорошо ориентироваться в настройках и использовании,это секономит кучу времени,которое вы посвятите решению задач! В идеа есть быстрые клавиши выучите основные. некоторые советы по ускорению написания кода: 1.Если надо вывести что то в консоль печатаете sout и жмете tab - появится System.out.println(); 2. psvm и жмете tab - появится public static void main(String args){}; 3. alt + ins - вставка конструкторов,геттеров,сеттеров и т.п. 4.Бывает запулкаете код на выполнение а выполняется код предыдущей задачи - в нажной для запуска задаче жмете правую миши и запускаете из контекстного меню. 5. String args - это массив параметров(строк) которые передаются программе в начале ее работы.С этого массива вы извлекаете нужные вам строки и оперируете ними в main.чтобы передать программе список строк жмете Run -> Edit configurations и в строке Program arguments вводите строки через " ".Чтобы использовать их содержимое args[0]- 1-ая строка,args[1]- 2-ая ...Напр.System.out.println(args[0]) - выводит первый параметр.Короче с args работаете как с массивом(Когда попалась первая задача с парамет- рами я нифига не понимал что это,думаю многим поможет) 6.@Override - обозначает переопределенный метод 7.Прочитайте про рефакторинг 5.В процессе обучения будете узнавать много новых классов.Если вы используете класс впервые то рекомендую найти в гугле явадоки(описание классов).Обращаем внимание на конструкторы, методы(особенно их принимаемые значения и главное какой тип они возвращают).Новые классы сарайтесь сразу освоить-почитайтеБгде они применяются,выучите методы.Иногда простое описание класса не дает полного представления о нем- я рекомендую посмотреть исходный код класса,это временами помогает понать как работает его метод и как он устроен.В исходном коде,код отрефакторин специалистами,написан кратко и ясно,читая исходники вы научитесь составлять красивый читабельный код и меньше времени будете тратить на написание своего.И так,где же взять исходники?Основные класс вшиты в идеа.В IDEA слева,где папки проекта,вверху есть кнопка со стрелкой Project,нажмите на стрелку и виберите Packages, внизу есть папка Libraries там в подпапках вы найдете исходники стандартных классов. 6.По идеа пока все,остальное осваивайте сами,я рассказал о том что используется чаще всего(Если бы вы знали сколько раз я написал public static void main(String args){}... пока узнал о psvm + tab). Теперь по задачам: 1.Внимательно читайте условие!!!!Называйте поля,классы и методы точно так,как вас просят,даже если программа работает правильно,валидатор не подтвердит решение если хать одна буква отличается! Внимательно следим за пробелами и их колличеством. В задачах на потоки используем BufferedReader. 2.Освойте цикл for-each - с ним код лаконичней 3.Обрабатывайте исключения и проверяйте ссылки на null!!! 4.После того как решили задачу,зайдите в сообщество и посмотрите логику решения других.Бывает люди код в несколько строк заменяют мемуарами 5.Принимайте опыт других и передавайте свой 6.Если задача все же для вас трудна и вы решили создать свой топик - выкладывайте условие задачи,свой читабельно оформленный код,желательно с комментариями, и суть проблемы.ЗАПОМНИТЕ каракули читать никто не будет и вам не помогут. В завершение скажу - Учится никогда не поздно!Я создал этото топик чтобы помочь начинающим так как мне помочь не было кому.Для кого то мои советы покажутся смешными и кто то скажет "Как этого можна было не знать" ,но все таки все написаное это мой личный опыт,мои ошибки которые я не хочу чтобы кто то повторял. Не судите строго за грамматику,писал на скорую руку. P.S. Учитесь,учитесь и еще раз учитесь!!!Ваше будущее в ваших руках!!!
Комментарии (12)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
velobaduk Уровень 22
3 сентября 2015
Лозунг «Учиться, учиться и учиться» актуален во все времена!
Спасибо за пост.
Diana Уровень 41
17 февраля 2015
Очень много полезной информации об использовании IntelliJ IDEA есть в специальном блоге на этом сайте. Не поленитесь, пойдите и почитайте.
antonk Уровень 27
14 февраля 2015
по поводу работы в IDEA я бы добавил ещё пару сочетаний клавиш которыми часто пользуюсь:
iter+Tab — вставка цикла for-each
fori+Tab — вставка цикла for
ctrl+пробел — автоматическая вставка (названия, класса, да много всего)
ctrl+d — дублировать текущую строку
Sdu Уровень 17
13 февраля 2015
Хотелось бы от себя добавить:
1) В качестве первой книги по Java я бы посоветовал «Head first Java» (Кэти Сьерра, Берт Бейтс). Для затравки. В легкой доступной форме, буквально на пальцах, разъясняются все основные моменты: переменные, передача по ссылке и по значению, память, стэк-трэйс, классы и многое многое другое. Повторюсь: действительно просто и доходчиво.

2)В чем заключается реальная ценность JavaRush. Можно перечитать огромную кучу различных учебников, переработать все приложенные примеры кода, но не приблизится к практическому программированию ни на каплю, потому что все предложенные примеры сугубо теоретические, и как данные вещи применять на практике новичку совершенно непонятно. Если Вы ни разу не видели как и для чего в программе используется синглтон, сколько бы Вы ни читали его описания только от этого будет мало. Ресурс же шаг за шагом формирует навык практического программирования, с учетом полученных теоретических знаний.
KapChook Уровень 19
13 февраля 2015
4.Бывает запулкаете код на выполнение а выполняется код предыдущей задачи — в нажной для запуска
задаче жмете правую миши и запускаете из контекстного меню.
ctrl + shift + F10 запускает текущий код
RabenokDmitry Уровень 21
13 февраля 2015
О многом из написанного уже узнал, но узнал и много полезного! Спасибо за информацию! Посоветовал бы уже ходить на собеседования. Мне кажется, что какими бы знаниями ты не обладал, опыт прохождения собеседования (неважно успешно или нет) очень важен. Ты поймешь, как строится диалог, что в основном спрашивают и т.д. Я ходил пока только на два, но точно уяснил, что надо знать чем ArrayList отличается от LinkedList:)