Смотритель: hubert

JavaDay Kharkiv 2016

JavaDay Kharkiv 2016

17 сентября, приглашаем всех на конференцию JavaDay Kharkiv 2016 – самый масштабный ивент в Харькове для Java-инженеров. За один день мероприятия участники смогут услышать более 14 докладов от ведущих украинских и международных экспертов.



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

Среди докладчиков конференции в Харькове такие признанные эксперты в мире Java, как Николай Алименков, Nicolas Frankel, Олег Цал-Цалко, Борис Трофимов, Antons Kranga и многие другие.

Ознакомиться с полным списком спикеров и темами докладов можно на сайте:

Ознакомиться с программой javaday.org.ua/kharkiv/#schedule

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

Почему вы должны посетить конференцию?
1. Откроете для себя лучшие и новейшие методы в работе с Java
2. Встретить ведущих международных и украинских экспертов по разработке на Java
3. Конференция поможет находить новые способы решения проблем в разработке программного обеспечения
4. Пообщаться с единомышленниками

Сайт конференции javaday.org.ua/kharkiv/

Специальный код, дающий 5% скидку на билеты JavaDay в Харькове JavaRush5%

Java-конференция Joker 2016

14-15 октября в Петербурге уже в четвертый раз состоится Java-конференция Joker 2016, которая соберет более 1000 разработчиков уровня Senior/Middle. Конференция ориентирована на участников, которые хорошо разбираются в Java.



Спикеры конференции – ведущие мировые эксперты из США, Европы и России, такие как Алексей Шипилев, Барух Садогурский, Евгений Борисов и многие другие. Полный список спикеров и докладов вы найдете на сайте конференции: jokerconf.com/

Кроме того, в рамках конференции пройдет специальная программа для начинающих разработчиков и студентов, изучающих Java. Подробности о Joker Student Edition: jokerconf.com/se.html
  • ,

Вышла восьмая лекция гарвардского курса CS50 на русском

Посмотреть лекцию можно здесь: javarush.ru/cs50.html

cs50 на русском 8 лекций

Восьмая лекция Гарвардского курса по основам программирования CS50 пройдет в необычной обстановке: Дэвид Малан окажется в окружении зелёных стен библиотеки Вайднера. И пускай они выглядят не так эффектно, как полюбившийся студентам театр Сандерса (та самая огромная торжественная аудитория, в которой обычно проходят занятия), это никак не повлияло на увлекательность лекции! В этот раз мы:

  • Узнаем, может ли рекурсия помочь нам в поисках Майка Смита. И вообще, узнаем, что это за загадочный инструмент такой — рекурсия — и как её применять.
  • Разберемся, с понятием сортировки слиянием, и поймем, как можно её реализовать с помощью рекурсии. Снова разделяем и властвуем, уже практически по привычке.
  • Станем на шаг ближе к пониманию загадочного компилятора Clang и его работе. Продолжим разбираться с тем, что находится «под капотом» программы и оценим путь от исходного кода через ассемблерный к объектному.
  • Столкнемся с такими вот знаками: & | ^ ~. Это— не «птичий язык», а побитовые операторы, они позволяют добраться до отдельных битов данных. Для расшифровки каждого из них Дэвид воспользуется весьма необычным инструментом — доской и маркерами! Даже такое «ретро» изредка проскакивает на CS50 =).
  • А еще Дэвид приоткроет завесу тайны: в практическом задании вам предстоит вспомнить детство и поиграть в «пятнашки». Только в этот раз они будут написаны на Си.
  • Наконец, вы увидите милую беседу Эрика Шмидта из Google и одного бывшего сенатора с каким-то знакомым лицом по имени Барак. Эрик попросил Барака предложить самый эффективный способ отсортировать миллион 32-битных целых чисел. Ответ нынешнего президента США вы узнаете из лекции.
  • ,

Вышла седьмая лекция гарвардского курса CS50 на русском

Посмотреть лекцию можно здесь: javarush.ru/cs50.html

7 лекция cs50 на русском

Помните разорванный телефонный справочник из самой первой лекции CS50? В седьмой лекции он возвращается! Возвращается, чтобы сделать фразу «эффективность алгоритмов» не пустым звуком, а пояснить на примере. Все программисты думают о скорости работы программы и о том, сколько памяти она при этом «съест». На учебных задачках это не так очевидно, но когда мы работаем с большими массивами данных (как почти везде в «Энтерпрайзе»), эти вопросы становятся первоочередными.

Представьте себе, что данные в телефонном справочнике не отсортированы по алфавиту. Представляете, сколько времени у нас бы ушло на то, чтобы его там найти? С учётом того, что в телефонном справочнике нет человека с таким именем, пришлось бы перебирать все строчки подряд — и всё впустую! Но есть выход: данные всегда можно отсортировать.

И в седьмой лекции Дэвид Малан расскажет об известных алгоритмах сортировки — пузырьковой, вставки и выбора. Эффективны ли они? Подсказка: не слишком, в чем это проявляется — узнаете из лекции. Но почему они в таком случае знамениты и зачем их изучать? Дело в том, что они довольно просты в реализации, а на их основе можно создавать уже более продвинутые алгоритмы сортировки.

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

Вышла седьмая лекция гарвардского курса CS50 на русском

Посмотреть лекцию можно здесь: javarush.ru/cs50.html

Помните разорванный телефонный справочник из самой первой лекции гарвардского курса CS50? В седьмой лекции он возвращается! Возвращается, чтобы сделать фразу «эффективность алгоритмов» не пустым звуком, а пояснить на примере. Все программисты думают о скорости работы программы и о том, сколько памяти она при этом «съест». На учебных задачках это не так очевидно, но когда мы работаем с большими массивами данных (как почти везде в «Энтерпрайзе»), эти вопросы становятся первоочередными.

Представьте себе, что данные в телефонном справочнике не отсортированы по алфавиту. Представляете, сколько времени у нас бы ушло на то, чтобы его там найти? С учётом того, что в телефонном справочнике нет человека с таким именем, пришлось бы перебирать все строчки подряд — и всё впустую! Но есть выход: данные всегда можно отсортировать.

И в седьмой лекции Дэвид Малан расскажет об известных алгоритмах сортировки — пузырьковой, вставки и выбора. Эффективны ли они? Подсказка: не слишком, в чем это проявляется — узнаете из лекции. Но почему они в таком случае знамениты и зачем их изучать? Дело в том, что они довольно просты в реализации, а на их основе можно создавать уже более продвинутые алгоритмы сортировки.

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

Онлайн-стажировка: осенний набор

UPD: Группа набрана. Предположительный старт ближайшего набора на проект — первая неделя ноября 2016.
Предположительный старт ближайшего проекта — 01 декабря 2016. Следите за новостями.
Все, кто оставил заявки после осеннего набора, будут проверены и зачислены в следующий набор.

Good News, Everyone!
С радостью сообщаем вам, что начался очередной набор на онлайн стажировку!

У вас есть уникальная возможность получить опыт в работе с такими технологиями: Git, Spring, Spring MVC, Spring Security, Hibernate, JPA, Junit, JSP, JSTL, ORM, REST, Bootstrap, AJAX и jQuery.
Конечно, за 12 недель слишком глубоко все это не выучить, но, во-первых, вы сможете указать эти технологии в своем резюме, а во-вторых, очень вероятно, что за эти 12 недель вы узнаете о программировании больше, чем 5 лет универа. Выбор за вами.

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

Условия участия:
У вас есть подписка Internship, Mentor или Premium Project
Ваш уровень на JavaRush 30 или выше
Вы выполнили тестовое задание

Если ваш уровень ниже 30-го, но хотя бы 25+, вы можете попробовать дойти до 30-го уровня. Набор на онлайн-стажировку будет продолжаться до 31 августа, так что месяц у вас есть.

Если у вас нет подписки Internship/Mentor, то, возможно, самое время ее купить или проапгрейтить, если у вас уже есть другая Premium-подписка.

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

Онлайн стажировка – это отличный способ получить практический опыт (за ваши деньги).

Где можно записаться:

Оставьте свои контактные данные в разделе «МОЯ СТРАНИЦА, Реальный проект». Так же вам надо прислать ссылку на выполненное тестовое задание.

Тестовое задание надо выполнить обязательно. Если вы не в состоянии справится с тестовым заданием, значит вам будет не по силам половина заданий онлайн-стажировки. Лучше порешайте задачи на JavaRush – они в разы проще.

Следующая стажировка планируется через 3 месяца – не справились с тестовым заданием в этот раз – значит справитесь в следующий. Лучше день потерять, потом за пять минут долететь.

Участвовать в онлайн-стажировке можно только один раз.

Сроки:
Стажировка длится 12 недель.
Набор открыт до 31 августа, старт самой стажировки – 1 сентября.
После 31 августа заявки приниматься не будут – будете ждать следующей стажировки (декабрь 2016 года).

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

Проект рассчитан на 12 недель (3 месяца). Каждую неделю вы будете изучать очередную технологию и добавлять очередной кусок функциональности к вашему проекту.

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

Формат занятий
В начале каждой недели вы будете получать видеозапись урока (длиной 2-3 часа!), на которой разбирается и объясняется очередная технология, а также дается задание на дом, которое вы должны сделать за неделю. Задания средней сложности. Если в первый день вы во всем разобрались, то сделайте его за 1-2 дня. Если сразу не поняли, то в неделю должны вложиться.

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

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

Самый опасный код

Какой кусок кода вы бы назвали самым опасным из всех когда-либо написанных? Тут могут быть разные мнения, однако многие программисты сходятся на том, что опасность в простоте. Поэтому среди самых рискованных кусков кода они называют классическую fork-бомбу.

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

Программа классической fork-бомбы (написанная на языке Си) выглядит так:

#include <unistd.h> 

int main() 
{ 
while(1) 
fork(); 
}


Если вы уже прошли 3 и 4 лекции CS50, то понимаете все слова, кроме fork=). Так вот, fork() — это системный вызов с помощью которого программа и создает свои копии.

Внимание! Думаем, среди наших читателей найдутся любители экспериментов, которые захотят проверить воочию, положит ли на лопатки эта крохотная программка ваш компьютер. Если решитесь попробовать, настоятельно рекомендуем сохранить все несохраненные документы. Мы серьезно. Скорее всего скорость поедания ресурсов вас удивит=).

Почему в CS50 в качестве основного языка программирования используется Си?

Отвечает Дэвид Малан, руководитель и главный лектор курса CS50:

Этот вопрос я слышу так часто, что его пора вносить в какой-то специальный FAQ!
Cи «находится» максимально близко к компьютерному железу. Ближе только язык ассемблера, но он был бы слишком загадочен и неудобен для полных новичков. В Си нет никакой загадочности. Если вам нужно, чтобы что-то было где-то в памяти, вы берете и помещаете это что-то в память самостоятельно. Нужна хэш-таблица? Пожалуйста, реализуйте «ручками». Результат такого подхода в том, что к концу семестра, студенты понимают, как работают вычислительные машины начиная от самого нижнего слоя и доверху.

Кроме того, Си — очень компактный язык, к середине семестра студенты знают о нем практически всё (исключая разве что объединения и функциональные указатели).

Также довольно мощная штука — переход от реализации хэш-таблиц (или префиксных деревьев) в Си на одной неделе к реализации того же самого одной-единственной строкой на PHP или JavaScript уже на следующей неделе. Что классно — студент уже прекрасно понимает, что спрятано за этими однострочными абстракциями.
Си также позволяет максимально рано исследовать такие темы, как переполнение буфера (и безопасности в более широком смысле), а они и сегодня очень часто лежат в основе многочисленных уязвимостей!

Кроме преимуществ, у Си, конечно же, есть и масса недостатков. Этот язык позволяет получить доступ к памяти там, где лучше бы это позволено не было. И — да — хочешь хэш-таблицу — реализуй сам! Кроме того, на Си несколько сложнее выполнять первые задания в начале семестра. Скажем, с Python или Java было бы понятнее, поскольку оба этих языка полны высокоуровневых фич. Тем не менее, задания вполне решаемы.
В конце концов, я считаю Cи прекрасной, пускай и довольно непростой, ступенькой к другим языкам, которые мы также рассмотрим в курсе CS50, —PHP и JavaScript, они оба синтаксически похожи на Cи.

На деле, мы надеемся, что в результате этого выбора в конце семестра скажет не «я изучил Си», а «я понял, как программировать».
  • ,

printf("Вышла третья лекция гарвардского курса CS50 на русском!\n");

Необычный заголовок знаменует конец введения в курс и начало серьезной учёбы. Сложность возрастёт, но это только раззадоривает! И что еще радует: третья лекция курса по основам программирования CS50 такая же увлекательная, примеры — живые, диджей — на месте=).

третья лекция CS50
Итак, с чем мы познакомимся:

  • Язык программирования C. На примере простейшей программы Дэвид растолкует основные конструкции языка, пользуясь аналогиями с изученными на нулевой неделе «пазлами» Scratch;
  • Облачная IDE, в которой мы будем писать программы на C и не только;
  • Вот такие штуки: jharvard@ide50:~/workspace $ make hello. Выглядит как заклинание? К концу лекции станет понятно, что к чему. Это одна из команд Linux. Выучим еще парочку необходимых для запуска приложений из командной строки.

И немного интересных фактов о первом программируемом американском компьютере (из тех, что целую комнату занимают), а также о первом обнаруженном баге=).

Вы еще здесь?) Скорее переходите на сайт и смотрите новую лекцию — javarush.ru/cs50.html
  • ,

Вакансия: Senior Java Developer /Tech Lead для проекта JavaRush!

JavaRush ищет Java-разработчика для разработки JavaRush — проекта, который создает новых разработчиков! =)

Какая-то рекурсивная вакансия у нас получилась! Впрочем, сути это не меняет: в киевский офис JavaRush действительно нужен опытный Java-разработчик для улучшения и усовершенствования проекта JavaRush. У кандидата должно быть 5 лет опыта (или больше) работы над реальными проектами.

Java-разработчик
Резюме — сюда (в теме письма укажите «вакансия Senior Java Developer / Tech Lead»): alexandra.iakovchuk@javarush.ru

Вот чем он будет заниматься в ближайшее время:

  • разработка/улучшение backend-части сервиса JavaRush;
  • разработка новой версии плагина для IntelliJ IDEA;
  • разработка и реализация API-сервиса.

Необходимые навыки:

  • Java 8: Core, Reflection;
  • Java Security;
  • Spring: Core, MVC, Data, Integration;
  • SQL, Hibernate;
  • Опыт разработки под ОС Windows и Linux.

Желательные навыки:

  • Spring Cloud;
  • Docker;
  • Netflix OSS;
  • Maven;
  • Опыт разработки плагинов для IntelliJ IDEA;
  • Английский на уровне Intermediate и выше.

Условия работы:

  1. Работа в офисе (удобное расположение офиса — неподалеку от ст.м. Лыбидская);
  2. Оплачиваемый отпуск (24 календарных дней в году) и оплачиваемые больничные;
  3. Дружная команда профессионалов, которым комфортно работать друг с другом;
  4. Возможность профессионального и карьерного роста;
  5. Офис со всеми удобствами (зона отдыха, библиотека, кухня, бесплатный чай, кофе, фрукты. Печенье тоже есть, если что));
  6. Тимбилдинги и корпоративы за счет компании;
  7. Возможность иногда работать из дома.

Наш идеальный кандидат:

Мы очень хотим, чтобы новичок вписался в нашу команду и ему было с нами хорошо. Поэтому мы видим рядом с нами:

  • человека, который хочет попробовать работу в небольшой компании. Например, уставшего от «энтерпрайза» или желающего попробовать более интересные задачи, чем ему предлагают на его текущей работе;
  • Такого, который увлечен технологиями, постоянно учится и только радуется, когда другие тоже становятся Java-программистами;
  • Творческого и образованного, стремящегося не только к профессиональному росту, но еще и к саморазвитию;
  • Знание теории относительности и умение пересказать все серии «Футурамы» будет плюсом. Шутим-шутим. Достаточно хорошего чувства юмора.

Возможно, вы знаете идеального кандидата? Перешлите ему ссылку на эту вакансию! Ну а если это вы — присылайте резюме по адресу (в теме письма укажите «вакансия Senior Java Developer / Team Lead»): alexandra.iakovchuk@javarush.ru
  • ,

Расширяем границы!

Друзья!

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

Настоящими программистами становятся только те, кто готов посвятить уйму времени усердным занятиям. Мы — команда JavaRush — готовы еще больше помогать вам в этом нелегком деле.

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

Хотелось бы задать тот же вопрос и нашим продвинутым студентам. Таким образом, если вы учитесь на JavaRush на 25 уровне или выше, и вам попадались интересные бесплатные англоязычные курсы, приглашаем вас в нашу группу в Slack (students-jr.slack.com).
Интересующие направления: JavaSE, JavaEE, Spring, JSP + Servlets, SQL + Hibernate, Android.

Отсылайте в личку Fry ваш электронный адрес, и мы добавим вас в группу slack для общения.

Давайте сделаем JavaRush ещё лучше!
  • ,

Вторая лекция CS50 уже на JavaRush [на русском!]

Вторая лекция Гарвардского курса по основам программирования уже на сайте — javarush.ru/cs50.html

CS50 вторая лекция
Краткое описание второй лекции:

В этот раз David Malan и его помощники отправились в (не такой уж) далекий Коннектикут, в Йельский университет.

Студенты этого представителя «Лиги плюща» с энтузиазмом приняли гарвардскую команду, и узнали много нового из лекции, а именно:

  • Что такое алгоритмы. Казалось бы, такое простое понятие, но на самом деле алгоритмизовать даже столь элементарный процесс, как намазывание арахисового масла на тост совсем не просто. Ребята вам это покажут на практике=).
  • Как эффективно посчитать количество людей в аудитории? У нас есть такой алгоритм.
  • Есть такое английское выражение “From Scratch”. Переводится оно как «С самого начала». Но можно также перевести как «Начиная со Scratch», если слово Scratch понимать как специальный учебный язык программирования. Так вот, вас познакомят со Scratch — замечательной разработкой Массачусетского технологического университета и покажут, как писать с её помощью программки.

А еще вы увидите, какие шедевры на Scratch написали студенты CS50 прошлых годов=).