Size: a a a

letsCode Channel

2018 June 08
letsCode Channel
Для тех, кто спрашивал про собеседования: где-то в первой трети видео именитые господа обсуждают собеседования. Почему спрашивают, что спрашивают
http://razbor-poletov.com/2015/12/episode-97.html
источник
letsCode Channel
Дебажим по-полной с новым видео
https://youtu.be/9joO-89mVQk
YouTube
Отладка программ в IntelliJ IDEA, PhpStorm, PyCharm, WebStrom, RubyMine
Отладка кода в редакторе IntelliJ IDEA (PhpStorm, PyCharm, WebStrom, RubyMine) проходит очень комфортно благодаря обширному инструментарию, добавленному компанией JetBrains в свои продукты.

В этом видео мы рассматриваем как добавлять, удалять и отключать breakpoints, breakpoints на значение переменных (или состояние приложения), breakpoints на exceptions и breakpoints на поля.

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

➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

➡ Твиттер: https://twitter.com/letsCodeDru
➡ Чат в Discord: https://discord.gg/xs6XxSx
➡ Группа Вконтакте: https://vk.com/letscodedru
➡ Канал в Telegram: https://t.me/letsCode_dru
➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw

➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

Поддержать проект:
➡ Patreon https://www.patreon.com/letscodedru
➡ Яндекс.Деньги h…
источник
2018 June 11
letsCode Channel
Подписки в свиттере! (как бы бредово это ни звучало)
https://youtu.be/JpF0MwdJzO4
YouTube
Spring Boot: JPA ManyToMany - подписки и подписчики
Spring Boot Web Application (MVC): Добавляем связь manyToMany между пользователями, что позволит нам сформировать связи "канал-подписчик".

Код из видео:
https://github.com/drucoder/sweater/tree/ManyToMany

Для добавления возможности подписываться на каналы мы должны добавить 2 поля в класс User: subscriptions и subscribers. Оба эти поля должны содержать Set пользователей и аннотированы @ManyToMany ссылающейся на одну и ту же таблицу user_subscriptions, но с противоположными значениями в аттибутах join_column и inverse_join_column.

Также нам нужно добавить миграцию, создащую таблицу для хранения связи многие-ко-многим.

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

Для оформления используем стили bootstrap:
- кнопки "подписаться":
https://getbootstrap.com/docs/4.1/components/buttons/
- список пользователей:
https://getbootstrap.com/docs/4.1/components/list…
источник
2018 June 15
letsCode Channel
источник
2018 June 18
letsCode Channel
ТЫДЫЩ!
Долгожданное начало: Spring Boot REST application с фронтэндом "почти SPA" на Vue.js. Уже на канале. Обязательно напишите в комментах, что думаете по этому поводу
https://youtu.be/LOmcsf5IylI
источник
2018 June 20
letsCode Channel
10 различий между строителями и программистами:

1. Строители никогда не делают бета версий. Очень полезное свойство любого дома заключается в том, что он сразу представляет собой релиз!
2. У строителей нет технической поддержки дома, не знаю преимущество ли это, но с того момента как дом сдан, его поддержка ложиться на плечи пользователя — жильца!
3. Строители никогда не меняют содержание ТЗ после того как половина дома уже построена.
4. Строители никогда не спрашивают нравится ли жильцу его квартира или дом, обычно они говорят примерно так “Что получилось, то получилось!”
5. Строители никогда не выпускают фиксов и патчей. Хотите убрать стенку? Сделать ремонт? Вот вам средства разработки — лом, лопата, перфоратор и т.д. Все остальное в ваших руках.
6. Строители никогда не работают в обед! (Без комментариев)
7. Строители всегда используют линейные методы построения домов, никакой отсебятины типа Экстремального строительства.
8. Строители никогда не заботятся о “дырах” в доме. Дыры — это неотъемлимая часть, которую вы приобретаете вместе с квартирой. И вообще заботиться о дырах — обязанность пользователей-жильцов.
9. Строители не думают о вопросах совместимости. То что Ваша мебель не проходит в дверной проем — проблема производителей мебели, а не строителей.
10. Строители не работают с продуктами компании Майкрософт!!! И в этом я их горячо поддерживаю!
источник
2018 June 21
letsCode Channel
К чему приводит патчинг багов без нормальной работы с техдолгом
источник
letsCode Channel
источник
2018 June 22
letsCode Channel
YouTube
JavaScript debug: отлаживаем вэб приложения в браузере
Chrome dev tools: инструменты разработчика в браузере

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

Например Chrome (Chromium) умеет не только просматривать сформированное DOM дерево и редактировать его "на лету" в части тэго и стилей, но и отслеживать сетевые запросы браузера к серверу, устанавливать breakpoint на любую строку в исходном коде, breakpoints по условию и останавливаться по ошибке. Не менее удобными инструментами являются вэб консоль (js console), позволяющая выполнять любой JS код в контексте текущей страницы и эмулятор различных устройств с различными разрешениями экрана и плотностью пикселей (с подменой UserAgent и эмуляцией задержек…
источник
letsCode Channel
Готовимся к погружению во фронт энд для rest приложения
источник
2018 June 25
letsCode Channel
Знакомимся с Vue.js, настраиваем безболезненный обмен данными с сервером и получаем данные из REST приложения
Фронтэнд для REST часть первая
https://youtu.be/VwVRGpoGT5M
источник
2018 June 26
letsCode Channel
Сайт для отладки-написания regex https://regex101.com/
Шикарная реализация нужного инструмента
источник
2018 June 29
letsCode Channel
Как работает JS: обзор движка, механизмов времени выполнения, стека вызовов / Хабр
https://habr.com/company/ruvds/blog/337042/
источник
letsCode Channel
Современному вэб разработчику нужно хорошо знать не только язык Javascript, но и его рантайм. Приведённая выше ссылка ведёт на цикл статей про работу js "под капотом"
источник
letsCode Channel
Дополняем наш прототип REST приложения редактированием сообщений во vue.js интерфейсе
https://youtu.be/E0S1ZrQP0-Y
источник
2018 July 07
letsCode Channel
С утра пораньше в субботу самое время отдать должное лени и прям в постели посмотреть, как лениться при написании кода на Java с помощью Lombok
https://youtu.be/QmsMWCIf3nc
YouTube
Java Tools: Project Lombok - пишем меньше кода
Project Lombok для Java - библиотека, позволяющая писать меньше кода.

Ссылка на Project Lombok:
https://projectlombok.org/

Java на фоне многих современных языков программирования выглядит достаточно многословным ввиду особенностей своего синтаксиса и принятых соглашений. При разработке enterprise приложений на шаблонный код приходится достаточно большой процент кода: геттеры-сеттеры, конструкторы, описание типов переменных... Многие программисты оказываются увлечены менее многословными Groovy, Kotlin, Ceylon и прочими языками на JVM. Но часто невозможно просто перевести приложение на несколько сотен тысяч сток на другой язык, а писать меньше кода хочется.

Для этих целей была создана библиотека Lombok - предоставляя простые и понятные аннотации, она позволяет избежать такой боли как поддержание актуальности POJO (java beans),  создание builders и даже пробрасывание Checked Exceptions

Для добавления зависимости на lombok в Spring Boot приложение нужно добавить следующую зависимость:
https://gist.github.co…
источник
2018 July 22
letsCode Channel
Вопреки появившимся слухам в отдельно взятых чатах, я не ушёл в тибет, познав дзен. Бренность бытия крепко держит меня у компьютера.
В качестве подтрвеждения вот вам запоздалое пятничное видео про Google oAuth2 авторизацию в Spring Boot Rest приложении.
https://youtu.be/-ohlXEJeRX8
источник
2018 July 23
letsCode Channel
YCombinator запускает бесплатный онлайн курс для начинающих предпринимателей. Регистрация заканчивается 13 августа, само обучение будет проходить с 27 августа в течение 10 недель.

По окончанию 100 лучших стартапов получат призовые $10 000 без каких-либо обязательств. Помимо этого целый ряд компаний (Amazon, Stripe, DigitalOcean и др.) предоставят большие скидки на свои услуги.

Присоединиться можно по ссылке: https://www.startupschool.org

Более подробная информация тут: https://blog.ycombinator.com/announcing-startup-school-2018/
источник
2018 July 24
letsCode Channel
Занятный сервис https://repl.it/
Позволяет пощупать практически любой современный язык прям в браузере. Бесплатного пользования достаточно практически для любых нужд. Из минусов только повышенная задумчивость, но что вы хотели забесплатно? ))
источник
2018 July 28
letsCode Channel
Завершаем тему авторизации через oAuth2 посредством Google. Бонусом - наше приложение быстрее выводит данные на экран при загрузке.
https://youtu.be/B0887PLJuSY
Не забудьте поставить лайк 😊
YouTube
Настраиваем Spring Security и oAuth2 в Vue.js. Spring Boot REST
Spring Boot Rest Application: настраиваем Spring Security oAuth2 с авторизацией Google на нашем Vue.js фронтэнде.

В rest приложении недостаточно просто подключить авторизацию и сделать ссылку на страницу авторизации Google, также требуется потратить немного времени на доработку интерфейса: позаботиться о том, чтобы у JavaScript также была информация о том, авторизован ли пользователь, а также всё необходимое для отрисовки информации о пользователе на экране.

Ссылка на код из видео:
https://github.com/drucoder/sarafan/tree/AddOAuth2Client

В качестве ориентира при настройке авторизации мы продолжаем использовать официальный гайд по oAuth2 из блога проекта Spring:
https://spring.io/guides/tutorials/spring-boot-oauth2/

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

Зависимости на необходимые в этом видео модули лежат тут:
https://gi…
источник