Строки. java.lang.String. Пожалуй, наиболее изученный класс в Java. Все его использовали бессчётное количество раз, и порой кажется, что уже не осталось ничего, чем он может нас удивить. Но всегда ли правильно мы его используем? Рискнем предположить, что далеко не всегда. Доклад об использовании строках и связанных с ними граблях.
. /*У вас в голове звучит музыка из вашего любимого сериала про Шерлока Холмса*/
— Шерлок, почему опять ничего не работает?
— Это элементарно, друг мой! Во-первых, вы пытаетесь запустить пятый Spring на Java 7. Во-вторых, после пары месяцев использования Groovy вы совершенно перестали уважать точки с запятой. Ну а в-третьих, в вашем ноутбуке сдохла батарея.
Да, это будет необычный доклад. В нем Холмс и Ватсон раскроют несколько загадок, с которыми вы сталкивались, сталкиваетесь или будете сталкиваться при каждодневной разработке. Кишок сборщиков мусора и байткода не будет, зато будут инструменты, библиотеки и фреймворки, которые озадачивают рядовых разработчиков в каждодневной рутине, приводят к простою, профукиванию дедлайнов и затяжным депрессиям. Практически, в этом докладе Шерлок и Ватсон спасают ваш лоб от фейспалмов и граблей, на которые кто-то уже наступал.
Это финальный выпуск WIN WIN SHOW. На протяжении всего сезона ребята участвовали в разного рода вызовах.
Каждый делал что-то впервые, чтобы проявить вcе свои качества предпринимателя в условно лабораторных условиях.
Если ты смотришь с первого выпуска, надеемся, к этому времени сможешь ответить на вопросы: как привлечь инвестиции в бизнес, как убедить инвестора, как начать бизнес без денег.
Понятно, что в формате шоу тебе как зрителю невозможно дать подробную пошаговую инструкцию по привлечению денег для бизнеса.
Но задача была в том, чтобы показать, сколько денег и в какие бизнесы готовы инвестировать, а главное — каким людям готовы помогать инвестициями и что важно для инвестора при принятии решения.
Если ты внимательно анализировал(а), то точно поймешь все, что мы хотели донести. Или просто получишь удовольствие от просмотра, мы на это надеемся.
Пиши ниже, что думаешь об этом шоу, будет интересно прочитать любые мысли.
P. S. Мы не прощаемся!
Также все видео по порядку есть в плейлисте, им удобно делиться с друзьями, чтобы не путаться с очередностью серий: www.youtube.com/watch?v=QR70M6sszWU
В этом видео я подробно расскажу вам о том, какие задачи выполняет Junior разработчик в компании и что вам нужно уметь делать для того, чтобы претендовать на должность Junior.
Чтобы далеко не ходить, возьмем меня как конкретный пример, значит 2013 год, я прихожу в большую компанию работать Java Junior после практики, меня сажают на большой проект, который связан с индустрией healthcare т.е. писать софт для страховых компаний в США.
Я знакомлюсь с командой 3 разработчика (я, наш тимлид и еще один миддл), 2 тестировщика, бизнес аналитик на американской стороне и 2 разработчика тоже на американской стороне.
Мы работали по Scrum-у, это такой подход разработки когда мы определяем кол-во заданий на отрезок времени и делаем их, например в течении 2х недель. Если хотите подробное видео по Scrum то напишите в комментариях.
*Scrum — метод управления проектами
После планирования распределяются задачи согласно рубашке задач (монотонные легкие — junior-у, сложные задания для продвинутых миддлу и тимлиду). Я получаю свои задачи и начинаю с того, у которого самый высокий приоритет.
Проект состоял из 3х больших частей на которых нужно было работать, это Front End на Javascript, Backend на Java и реляционная база (SQL соответственно).
Так как я выполнял задачи на всех 3х уровнях, я дам вам пример по каждому из них.
Итак пример простого задания: Есть личный кабинет пользователя, где он должен быть в состоянии ввести свой контактный номер телефона, это новое поле, которого еще нет в системе. Поэтому оно должно быть добавленно в каждый из уровней приложения.
База данных
Начинаем с задачи на SQL: Нужно найти нужную таблицу, куда вставить это поле, расширить таблицу в базе данных так, чтобы она могла сохранять номер телефона, повесить на нее констреинты уникальности, просмотреть есть ли в этой таблице хранимые процедуры или триггеры настроеные на эту таблицу и если уместно — поправить запросы, чтобы они тоже отдавали номер телефона.
Также сделаем оговорку что это не пет проджект, а реальный проект, в котором часто самая простая задача может стать достаточно сложной для реализации. Например в базе про которую я говорю было пример 300 таблиц. Написали, протестировали, идем дальше.
*Pet project — небольшой проект для собственных, обучающих целей
Java Backend
Здесь уже уровень доступа к базе данных и бизнес логика. Сразу же представляем себе проект в котором несколько миллионов строчек и чтобы его установить и поднять локально уходило могло уйти пару дней.
*Бизнес логика — требования бизнеса переведенные на логический язык программирования.
Нужно найти модель которая соответствует таблице в базе расширить ее номером телефона, написать или расширить методы которые работают с этой таблицей чтобы можно было и сохранять и считывать информацию. Также обязательно нужно добавить валидаторы, которые проверяют номер телефона по определенном шаблона (я говорю сейчас о регулярном выражении. И конечно же потом проверить эту цепочку в обе стороны.
Front End
Тоже представляем огромный фронт проект на несколько сотен тысяч строк. Нужно добавить эту форму в личный кабинет, добавить валидацию по регулярному выражению, связать это все с запросами на бекенд в обе стороны и протестировать.
Конечно в процесс вовлечено гораздо больше действий чем просто написать код, это и прояснить у бизнес аналитика какие-то непонятные моменты, пройти код ревью процедуру у своей команды, помочь тестировщикам разобраться в логике, оценить задание во времени.
Примерами других заданий может быть например:
SQL
Написать sql запрос который покажет статистику покупок людей с помощью карты visa, а не мастеркард за сезон, или собрать полную информацию по юзерам у которые покупали страховку в прошлом году в текущее время года.
Java
Написать валидацию полей юзера используя регулярные выражения или например создать отдельный обработчик запроса, который отсылает всем пользователям в списке письмо с благодарностью.
Front End
Добавить фильтр по нескольким критериям на страницу покупки страховки, например фильтрация по компании, по стоимости, по длительности.
Также не забывайте что везде вам нужно придерживаться технологий и практик, которые уже используются на проекте, т.е. вам нужно хорошо знать стек технологий, чтобы быть в состоянии качественно сделать задание.
Тайм-коды:
00:00 Начало
0:31- мой опыт работы как Junior-а
1:01- по какой системе мы работали
1:25- распределение задач в команде
1:52- деления проекта на части
2:36- задача Junior-a
3:14- что я мог делать для выполнения этой задачи?
4:56- доработка логики на Java Backend
7:15- разработка логики на Front end
8:42- задачи для Junior-a в SQL
9:17- задачи для Junior-a на Java
10:15- задачи для Junior-a во Front End приложении
12:36- чего ожидают от Junior-a в общем
printf(«Вышла третья лекция гарвардского курса CS50 на русском!\
»);
Необычный заголовок знаменует конец введения в курс и начало серьезной учёбы. Сложность возрастёт, но это только раззадоривает! И что еще радует: третья лекция такая же увлекательная, примеры — живые, диджей — на месте=). Итак, с чем мы познакомимся:
• Язык программирования C. На примере простейшей программы Дэвид растолкует основные конструкции языка, пользуясь аналогиями с изученными на нулевой неделе «пазлами» Scratch;
• Облачная IDE, в которой мы будем писать программы на C и не только;
• Вот такие штуки: jharvard@ide50:~/workspace $ make hello. Выглядит как заклинание? К концу лекции станет понятно, что к чему. Это одна из команд Linux. Выучим еще парочку необходимых для запуска приложений из командной строки.
И немного интересных фактов о первом программируемом американском компьютере (из тех, что целую комнату занимают), а также о первом обнаруженном баге=).
В начале двухтысячных, примерно через пять лет программирования полный рабочий день за деньги, я с удивлением обнаружил, что помню не всё. Тогда я взял бумагу, ручку, и начал записывать ключевые моменты: интересное про C, Windows API, организацию кода, библиотеки. А всего через год понял, что в стопке из ста листов рукописных заметок очень трудно искать, менять и дополнять. Так начался долгий путь в поисках подходящего мне средства управления информацией.
…
— Нашли ошибку в видео? Пишите нам на support@ontico.ru