Перейти на форум
Уведомления
Очистить все

Push'n'Pray [Покер, Java, Путешествия]

2,675 Сообщения
140 Пользователи
155 Реакции
159.4 Тыс. Просмотры
strkk Автор темы
strkk
Зарегистрирован: 27.01.2009
Elite Grinder

с английским вообще не дружу

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

Касательно языка и проблем, связанных с этим. Для примера, два популярных класса джавы это Thread (буквально - нить) и Stream(буквально - поток), однако оба этих класса на русском называются потоками. Путаницы обычно не возникает, т.к. классы очень далеки друг от друга по функционалу и из контекста сразу становится понятно, о чем речь, но в качестве базового примера годится.

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

Да вроде как видеокурсы рассказывают про самые базовые вещи языка (прямо начиная с циклов for).
Если прямо совсем совсем сначала, то тогда сперва стоит почитать главы для начинающих на сайте оракла - ссылка Там есть про все - примитивные типы, что такое объект, как вывести на экран "Hello World!" и т.п.
Единственное, что не стоит заострять внимание на компонентах именно 8 джавы, а именно Stream API (не путать c I/O), лямбда-выражения и т.п.


Ответить
Цитата
GodfatherPS
Зарегистрирован: 23.05.2007
Elite Grinder

По поводу англ. могу поделиться своим путём. Конечно нужна база, хотябы школьная, можно взять репетитора на занятий 10-20, все базовые правила постоения предложений поставили, это будет быстрее чем самому гуглить всё. Дальее, я люблю игры и люблю посмотреть стримы, сейчас правда на них нет времени, но если оно есть, то на twitch смотрлю англоязычные стримы. Далее, погружение, браузер, телефон, соц. сети, всё включаешь англ. версию. Так же чтение документации, книг. Для слов использую Lingualeo. Там в тренировках можно потренить слова ещё. Ну и совсем оригинальный способ, я люблю скоропечатание, точнее к 10ти пальцевому набору я наверное где-то месяцев 10 назад пришёл. Беру книгу на англ. языке, которую нужно прочитать, например про составление резюме, вгоняю её в програмку и набираю. Кстати за счёт того что скорость набора ниже скорости чтения, как-то даже лучше понимается текст, не приходиться прибегать к переводчику )


Ответить
Цитата
strkk Автор темы
strkk
Зарегистрирован: 27.01.2009
Elite Grinder

Поддерживаю пост выше :) Согласен почти со всеми пунктами, разве что набор текста мне не кажется таким уж эффективным.

Я бы еще посоветовал воздержаться от любых школ. А от тех, у которых "уникальные методики" типа "заговорить как носитель за 100 часов" - особенно.

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


Ответить
Цитата
Slavik7
Зарегистрирован: 12.02.2008
BlackMember

По поводу java и книжек, пока жду второй части от strkk, начал тут сам потихоньку смотреть и изучать что к чему. Нашел пока вот что, пост на хабре про книги http://habrahabr.ru/post/153373/ в нем еще не хватает книг, которые часто упоминаются в других местах это: "Философия Java" Брюс Эккель, и и двухтомник Хорстманна и Корнелла.

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

Так же еще где-то поподались советы насчет книг не чисто по языку, а в общем про алгоритмирование, это А. Шень "Программирование: теоремы и задачи", и "Структуры данных и алгоритмы" авторы Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман.
Сказать насколько все эти книги хороши и полезны я не могу, но это то что мне удалось найти.

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

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


Ответить
Цитата
strkk Автор темы
strkk
Зарегистрирован: 27.01.2009
Elite Grinder

Подробно про обучение я напишу завтра. Сейчас совсем времени нет.
По поводу книг, описанных в посте (чисто мое мнение) - там также выложен туториал от оракла, на который я давал ссылку, только в виде книги. Книга по Test Driven Development вообще не имеет смысла на начальном этапе, да в этой методологии (TDD) нет чего-то такого, что нельзя понять после прочтения статьи на вики и пары часов упражнений.

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

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


Ответить
Цитата
strkk Автор темы
strkk
Зарегистрирован: 27.01.2009
Elite Grinder

Обучение Java, часть 2.1
Тут придется иногда повторять то, что я писал ранее :)
Список полезных сайтов
Сразу приходят в голову -
stackoverflow, о котором я уже писал - ответы на 95% вопросов можно найти тут. Чаще все выскакивает первой же ссылкой в гугле по любому запросу на тему джавы. Есть и на русском, но рекомендую именно английский вариант.

habrahabr - здесь можно почитать статьи по более узкоспециализированным вещам (как, к примеру, устройство HashMap, LinkedList и других коллекций)

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

Youtube - вы удивитесь, но на этом ресурсе помимо котиков и ДТП можно найти множество полезных видео. В одном из предыдущих постов я уже писал свое мнение про видеокурсы и книги. Рекомендуются эти курсы

Различные образовательные видеосервисы. Udemy, Coursera, российский Computer Science Center и еще миллион подобных сервисов. Полные курсы видео так же можно найти на торрентах.

Очень полезный сайт, который стоит открывать первым при начале изучения какой-либо новой фичи/фреймворка - TutorialsPoint, в частности, раздел про основы языка Все разбито по темам, приводятся примеры кода и объяснения. Для знакомства с чем-то новым очень хороший вариант.

WikiBooks - тоже можно найти инфу по java (да и не только). Не очень много изучал этот ресурс, но пару раз обращался.

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

Очень годная статья, чтобы понимать потенциальный карьерный путь. Это один из моментов, которые привлекают меня в программировании - если ты опытен, имеешь достаточно знаний и умеешь продавать свои услуги, то найти работу с соответствующей зарплатой не составит проблем. Карьерная лестница достаточно прозрачна и получать должность, к примеру, главного разработчика в проекте "через постель" не нужно. Не получается здесь, но есть уверенность и знания - с руками оторвут в другом месте.

Сайт российского программиста, много статей для углубленного изучения какой-либо темы.

Еще один сайт, здесь можно найти миллиард туториалов по написанию хелловорлда с использованием любых совместимых технологий. Все с картинками и разжевано до мелочей. Зачастую помогает сделать минимальную работающую программу. Почти любой запрос наподобие "hello world hibernate example" выдаст вам в топе этот сайт.

Еще стоит помнить, что почти всегда самая подробная информация о чем-либо находится в документации на сайте производителя. Для Java это приведенный выше сайт оракла, для Spring framework - spring docs и т.д.

upd -

По поводу изучения джавы могу посоветовать еще один ресурс: udacity.com У них есть курс, называется "Intro to java programming". Состоит из девяти модулей (охватывает такие темы как классы, обьекты, методы, циклы, списки, массивы, интерфейсы, наследование и пр.), каждый из которых делится на несколько десятков небольших тем и упражнений. После каждого модуля идет practice set в котором нужно ответить на вопросы по пройденному материалу и решить практические задачи разной степени сложности. В конце финальный проект по реализации бота для игры в color 4. Сам курс разработан небезизвестным Кеем Хорстманом, соавтором книги "Java. Библиотека профессионала". Заявленная продолжительность у него 4 месяца, но скажу сразу, что это с ОГРОМНЕЙШИМ запасом. Я играл в покер, занимался делами, тратил кучу времени на разную ерудну и все равно управился за три. Начинать можно в любое время, курс бесплатный (есть платная версия отличия которой в том, что вы получите возможность советоваться с преподавателем и получить сертификат по окончании). Минус - необходимо знание английского, умение либо понимать речь на слух, либо читать субтитры. В общем, рекомендую всем, кто хочет изучать джаву, но не знает с чего начать

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

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

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

С чего начать

1. Качаем с оф. сайта java development kit, устанавливаем все по туториалу. Устанавливаем себе интегрированную среду разработки, она же IDE. Считается, что основными являются бесплатный NetBeans от самого оракла (считается не очень хорошим), бесплатный Eclipse от IBM, и платная IDEA от JetBrains. Выбор между ними - предмет давнего срача. Я рекомендую поставить себе Eclipse, поскольку авторы многих туториалов в интернете используют именно его, что на начальном этапе немаловажно. Затем можно попробовать другие варианты и выбрать наиболее удобный для себя. Любители особого хардкора могут все писать в блокноте и компилировать через командную строку винды. Для нормальных людей придумали удобный софт :)

2. Изучаем основы языка. Сайты для самостоятельного обучения описаны выше. Если вы решите пойти на платные курсы - то не стоит повторять моих ошибок.
Сделайте следующее - обязательно почитайте отзывы о курсах. Тут еще стоит помнить, что позитивные отзывы публикуются чаще негативных (и как правило, однотипны), поэтому к последним стоит отнестись внимательнее.
Просмотрите план обучения. Если там освещается много тем, если обещают за полтора месяца с нуля довести до уровня Junior или гарантированное трудоустройство после курсов - от таких мест лучше держаться подальше.
Наличие лабораторных работ (или какой-то выпускной работы) - хороший знак.
Узкоспециализированный преподаватель - тоже хороший знак, а если еще и практикующий - то вообще супер :)

3. Choose your path... Выбираем направление, которое будем делать основным для изучения. Дело в том, что несмотря на общий язык, разработка под Андроид, Java EE (веб-приложения и серверное ПО), чистая джава для всяких highload-приложений и десктопные приложения с использованием Swing отличаются очень сильно. Я выбрал второй вариант (серверное ПО и веб), хотя изначально хотел делать что-то под андроид :) Если вам все равно, то просто ходим по сайтам поиска работы и смотрим на количество вакансий с использованием ключевых слов и отсутствием опыта.

Ремарка - к примеру, в написании серверного ПО не так важны современные технологии, т.к. большая часть уже работающих приложений написаны достаточно давно(с совр. технологиями того времени) и переводить их на что-то более современное сейчас просто бессмысленно.
К примеру, необязательно понимать смысл нововведений восьмой версии джавы. Большинство компаний используют седьмую, шестую или даже пятую версию.

А для Андроида - наоборот, надо знать последние тенденции.

4. После этого ищем вакансии, смотрим какие технологии требуются и начинаем их постепенно изучать. Можно попытаться порешать тестовые задания. Найти их можно на сайтах компаний или на форумах. На мой взгляд, это достаточно эффективная форма обучения - есть какая-никакая реальная задача, бери и делай. Нужна база данных - пошел учить SQL и ставить себе MySQL. Нужны конфигурационные файлы - пошел читать про XML, и т.д.
Из личного опыта - я наткнулся на список тестовых заданий минской компании и попробовал сделать одно из заданий (№5, Java и JSP). Узнал много нового, особенно когда целый день провозился с новыми для себя вещами - AJAX-запросами и JavaScript.
Или пытаться с помощью интернета реализовывать какие-то свои идеи (к примеру, сделать свой рандомайзер).

5. Пытаемся попасть на работу :) Лучше всего это делать через стажировки или джава-школы. В таком случае вас обучат вещам, которые приняты в компании, будет кому задать непонятные вопросы и познакомиться с конторой. Про собеседования читаем выше :)

Получилось многовато текста, я решил разбить пост на 2 части. Часть 2.2, скорее всего, выйдет на следующей неделе. Stay tuned, и ставьте плюсики если вам интересны мои тексты.

Spoiler

Как вы знаете, "Плюсики - это как секс, только лучше" (с)


Ответить
Цитата
GodfatherPS
Зарегистрирован: 23.05.2007
Elite Grinder

strkk, Спасибо, как обычно, отличный пост, хоть я и не джавист :f_thumbsup:


Ответить
Цитата
tr1Xen
Зарегистрирован: 25.10.2007
Poker Player

потрясающее подробный пост, СПАСИБО ТС!


Ответить
Цитата
strkk Автор темы
strkk
Зарегистрирован: 27.01.2009
Elite Grinder

Только что читал обсуждения в группе джавы в контактике. Там местный гуру дал ссылку https://www.codehunt.com/ вместо гнилого javarush, о котором я писал в прошлом посте. Честно, глубоко не залезал, но вроде выглядит достаточно качественно. Если будете проходить - отпишитесь, интересны отзывы.


Ответить
Цитата
GodfatherPS
Зарегистрирован: 23.05.2007
Elite Grinder

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


Ответить
Цитата
strkk Автор темы
strkk
Зарегистрирован: 27.01.2009
Elite Grinder

Очень хороший вопрос. Сам даже не задумывался о том, что кому-то это будет интересно.
Обязательно напишу :) В идеале завтра. На выходных - 100% будет пост.

Интересно, как они собираются давать лабораторные без привязки к языку? Просто писать какие-то общие моменты на бумажке и сдавать? Или дается общее задание и каждый делает его на своем любимом ЯП?
И как они будут рекомендовать кого-то к трудостройству без знания конкретного языка?


Ответить
Цитата
GodfatherPS
Зарегистрирован: 23.05.2007
Elite Grinder

Язык будет определён я так понимаю, а может быть и свой, а ещё возможно будет по командам, были бы индивидуальные задания, там бы было бы понятней как выделяться, а вот в командах совсем интересно получается)) Тут надо и команду вывезти и себя показать)


Ответить
Цитата
Slavik7
Зарегистрирован: 12.02.2008
BlackMember

Оригинал пользователя strkk
Получилось многовато текста, я решил разбить пост на 2 части. Часть 2.2, скорее всего, выйдет на следующей неделе. Stay tuned, и ставьте плюсики если вам интересны мои тексты.

А я вот вторую часть жду :)


Ответить
Цитата
strkk Автор темы
strkk
Зарегистрирован: 27.01.2009
Elite Grinder

Язык будет определён

8-o

а может быть и свой

8-o 8-o8-o
Слабо представляю как кто-то будет проверять лабораторные, написанные на четырех(например) разных языках :)


Ответить
Цитата
strkk Автор темы
strkk
Зарегистрирован: 27.01.2009
Elite Grinder

Как вести себя в Java-школе

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

Мои советы.

1. Если вы пришли в джава-школу не с целью получить работу в компании Х, то не стоит тратить свое и чужое время. Лучше обучаться в том месте, где вы наиболее заинтересованы в результате. К тому же, будучи незаинтересованным в получении должности, вы занимаете место более амбициозного кандидата.

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

3. Наибольшей частью отзыва о вас будет мнение руководителей курсов/школы и (при наличии) вашего куратора. Это очень важный момент. Лучший способ оставить о себе хорошее впечатление у руководителя - это выполнять п.2, писать качественный код (об этом ниже), а также показывать свою заинтересованность в этой теме. Самый простой (и одновременно сложный) способ - это вопросы. На курсах наверняка будет контактное лицо, к которому можно обращаться с вопросами и проблемами.
Не стоит задавать вопросов ради вопросов, лишь бы вас заметили. Мне это кажется популярным заблуждением, что задавая вопросы, вы строите из себя умного и привлекаете к себе внимание лектора.
Также стоит помнить, что время этих людей стоит денег и не стоит тратить его на пустяки, неактуальные вопросы и пустой треп.
Какие вопросы стоит задавать?

  • Не стоит спрашивать про то, что за 5 минут находится в гугле. Первое, что сделает куратор при получении вопроса - это полезет в гугл. Найдя по первой же ссылке нужную вам информацию, вы заслуженно получите себе минус в карму.
  • Не стоит спрашивать что-то очень сложное или очень специфическое. С большой долей вероятности человек тоже никогда с этим не сталкивался и помочь ничем не сможет.
  • Спрашивать стоит про то, что невозможно найти в гугле. Про те вещи, которые требуют опыта, которого у вас на данный момент нет. К таким вопросам можно отнести: "Я заметил, что у меня получается много однотипных методов в разных классах, как я могу этого избежать?", "Какой шаблон проектирования больше подходит для моего случая?", "Подскажите пожалуйста, какие недостатки могут быть при таком дизайне моего приложения?" и т.д.

Иллюстрируя вышесказанное, приведу несколько примеров плохих вопросов:
"В моем методе постоянно вылетает NullPointerException, где ошибка? <Ссылка на портянку кода>". Возникает встречный вопрос - почему ты не используешь дебаг-режим для поиска ответа? В повседневной работе сталкиваться с такими вопросами от коллег не хочется.

"На моей винде 7 версия 2.5.4.3.99990 не работает такая-то версия NetBeans, при этом на убунте все ок, как мне настроить это под винду?". Напрашивается ответ: "Да х#й его знает, я сам Eclipse'ом пользуюсь". Опять же, в повседневной работе с таким сталкиваться не очень хочется.

"У меня здесь выдает не тот результат <ссылка на портянку кода>" Идем на stackoverflow, смотрим что поменять и меняем X на Y. Человеку минус в карму.

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

Spoiler

final String str = "1234";
List<String> list = new ArrayList<>()
{{
add(s);
}}
Почему здесь для str необходимо слово final? (для java 7 и ниже)

Ответ: т.к. у нас используется анонимный класс, которому нужны только финальные переменные. (в java 8 можно использовать также effectively final, но это уже за рамками вопроса)

Не стоит критиковать лектора и его решения, особенно непублично (в разговорах с коллегами).
Подобных Д'Артаньянов никто не любит. Если, на ваш взгляд, что-то выглядит неоптимально - лучше спросить лектора, почему он выбрал тот или иной путь или прямо указать на ошибку.

5. Хороший код.
Что является главной характеристикой программиста? Разумеется, код.
Опять же, рассматривая себя как работника компании, стоит писать так, как ждут в компании.
Однако по умолчанию стоит придерживаться следующих правил:

  • "Олимпиадный" код называется таковым не просто так. Он бывает слишком сложен и требующим определенного опыта/бэкграунда для его понимания. Если вы уверены, что у всех в вашей команде такой опыт/бэкграунд есть, то тогда можно рискнуть.
  • По дефолту, стоит писать максимально чистый, а главное, читабельный код. В любом проекте разработка ведется командой. Когда вы пишете нечитабельный и грязный код, вы усложняете жизнь своим коллегам (а иногда и себе самому), когда спустя какое-то время этот код нужно будет модифицировать / дополнять.
  • Следить, чтобы ваш код соответствовал принятым в вашем языке code conventions
  • Всегда стоит комментировать неочевидные моменты. Избегать магических чисел, да и вообще любых признаков анти-паттернов.
  • Если вы скопировали код откуда-то с интернета, то очень рекомендуется его просмотреть и изучить (а в идеале - понять как работает и в следующий раз написать это самому). Также стоит порефакторить данный код и убрать оттуда все ненужные комментарии.
    Был свидетелем забавного случая в нашей школе, когда парень показывал свой код перед все аудиторией и в одном из его классов было написано в комментарии
    // @author Frank Smith
    или как-то так. Парень на работу не попал :)

6. Домашние задания.
Их нужно делать всегда. Опять же, работники компании всегда выполняют порученные им задачи. В рамках школы, если хочется выделиться чем-то на фоне других, стоит усложнять себе задачу. Например, сделать алгоритм более общим/быстрым/требовательным к памяти/etc. или прикрутить какие-нибудь дополнительные фичи помимо основных.
К такому выделению стоит относиться аккуратно, т.к. можно не успеть реализовать все задуманное к намеченному дедлайну. Особенно если усложненная задача требует другой архитектуры приложения.
Главная мораль: любое плохонаписанное, кривое, но работающее приложение лучше неработающей красоты.

7. Разработка в командах.
Стоит показать, что вы являетесь командным игроком. Это важно для компаний. Как я писал, разработка ведется в командах, поэтому то, как вы будете выстраивать отношения с коллегами - очень важно.
Как вести себя в составе команды - сказать не могу, т.к. это очень зависит от человека. Но точно не стоит молчать, воздерживаться от дискуссий и не предлагать свои варианты решения проблем.

8. Различные мелочи.
Small things make a big difference.
Всегда стоит задумываться об этом. К примеру, если вы показываете свой код на проекторе, то перед началом показа убедитесь в том, что у вас все работает, нужный шрифт выставлен, в IDE стоит подходящая цветовая схема (к примеру, популярные схемы с черным фоном совершенно нечитаемы с большого экрана) и т.п.
Если проводить аналогии с покером, то обучение в джава-школе - это марафон. Любое +ев или -ев действие обязательно скажется на дистанции.

В конце приведу набор тезисов, известный как The Zen of Python. Все по делу.

Spoiler

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!


Ответить
Цитата
GodfatherPS
Зарегистрирован: 23.05.2007
Elite Grinder

Спасибо, отличный пост!


Ответить
Цитата
strkk Автор темы
strkk
Зарегистрирован: 27.01.2009
Elite Grinder

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

Из забавных моментов немецкого - слово "девочка" (Mädchen) среднего рода :facepalm:


Ответить
Цитата
strkk Автор темы
strkk
Зарегистрирован: 27.01.2009
Elite Grinder

А я вот вторую часть жду

Сорри, будет чуть позже.

Между тем после почти месячного перерыва снова начал катать. В этот раз никаких кэшаутов. Только хардкор.
Начнем с $295 (на данный момент уже немного покатал и уже $311). Цель - дальнейшее улучшение жилищных условий :)
Нужно примерно 20к. Будем гриндить :)
В будущем надеюсь в качестве источника дополнительного заработка использовать фриланс на джаве, однако пока покер незаменим.


Ответить
Цитата
Slavik7
Зарегистрирован: 12.02.2008
BlackMember

Кстати, интересно что ты думаешь насчет фриланса? Изучал ли ты как-то этот рынок? А то вот я пока все что читаю и смотрю, везде делается акцент на том, что java это больше язык для больших корпораций, на нем пишутся всякие серверные вещи, на нем очень круто когда работает одновременно по 100 человек над проектом и тд и тп. А типа всякие небольшие фирмы, стартапы и прочее обычно используют всякие С, или какие-то другие языки, многое на php делается, что касается фриланса. Ну это то как я понял)) Ты то наверное более прошареный уже, так что интересно что думаешь на эту тему?


Ответить
Цитата
strkk Автор темы
strkk
Зарегистрирован: 27.01.2009
Elite Grinder

Да нечего тут особо думать :)
Я немного смотрел биржи фриланса. Да, там большинство заказов связано с фронт-ендом, т.е. JavaScript, CSS, PHP и иже с ними. Тем не менее, можно найти варианты и на джаве.
Есть также варианты удаленной работы.


Ответить
Цитата
Поделиться: