letsCode Channel
Открыть в Telegram
Интересное и полезное из мира разработки. Сниппеты. Хаки. Обсуждения тут: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw
БольшеСтрана не указанаТехнологии и приложения41 417
1 746
Подписчики
Нет данных24 часа
Нет данных7 дней
Нет данных30 дней
Архив постов
1 746
Доброго дня всем
Редко даю оценку "коллегам по цеху" и в этот раз не буду =)
Но сейчас упарываюсь в то, как правильно нужно верстать HTML и весь этот ваш вэб (ля, как это всё сложно, оказывается) и нашёл замечательного господина demimurych в одном из стримов (https://www.youtube.com/watch?v=7je1ygc9Gew). То, что я после этого стрима понял, что не умею в HTML5, это отдельная тема для размышлений. Но вот сам демимурыч оказался замечательным специалистом и выступает за распространение знаний.
Короч. С полгода назад всем нам известный Немчинский запилил "сравнение Java и JavaScript", а Демимурыч неделю назад снял разбор этого "сравнения". Накидайте лукасов Мурычу, плз. Приятного просмотра
Разбор "сравнения" — https://www.youtube.com/watch?v=3GgfeCy8WuY
1 746
Доброго дня всем
Периодически я тут подкидываю какие-то технологии, которые понравились мне, а вы в комментах накидываете альтернативы. Это весело и, для кого-то, познавательно (надеюсь).
А давайте вы в комментах накинете те технологии или инструменты, что удивили или заставили кайфануть вас в последний месяц. 🍿
Срачики приветствуются
1 746
Давайте панику разгонять?
Погромисты не нужон
Вот документация к плагинам в ChatGPT: скармливаешь доку своего апи в виде OpenAPI/Swagger + человеческим языком описываешь что эндпоинты делают, в результате ChatGPT сам решает когда вызывать твой апи, в зависимости от того что спросил пользователь и сам выводит результат
https://platform.openai.com/docs/plugins/introduction
1 746
Опять консольная игрушка, шоподелать
На процессорах последних macbook как-то подозрительно медленно стали работать консольные инструменты. Так медленно, что аж бесит. Коллега посоветовал заменить горячолюбимый
oh my zsh на starship. Выглядит круто, пока присматриваюсь и полностью на него не перешёл, но планирую
https://starship.rs/1 746
Привет
Еще одна игрушка для любителей консоли. Инструмент, чтобы смотреть в консоли commit diff. Есть светлая и тёмная тема, side-by-side и подсветка синтаксиса. Нраица
https://github.com/dandavison/delta
1 746
Очередная гиковская игрушка
Новая база данных, написанная на rust. Быстрая и много чего умеет из коробки. Например, можно ходить в неё через HTTP и запрашивать данные с помощью GraphQL или REST API
https://surrealdb.com/
1 746
К рождеству всякие активности проявляются.
Для задротов (вроде меня) вот такое завтра начнётся
https://adventofcode.com/2022
1 746
Вношу ясность: никого не осуждаю и не считаю неполноценным, просто делюсь своим "когнитивным искажением". Пишите хоть пальцами левой ноги, свисая с потолка, это ваше право 😘
1 746
Читаю один паблик и там человек на совершенно серьёзно рассказывает как нужно и не нужно строить стартапы. И тут он выдаёт пост о слепой печати, что мол "умею, но 2 пальцами получается быстрее, поэтому не практикую". Понимаю, что уровень доверия к каналу сразу как-то упал
Это как вообще можно: связать свою жизнь с компуктерами и не уметь в слепую печать? Всё равно, что быть профессиональным водителем и каждый раз при переключении передачи смотреть на рычаг коробки передач.
Стало интересно, как вообще среди коллег по цеху с этим навыком, поэтому опрос
1 746
Мне не повезло иметь полного тёзку с той же датой рождения. Разбор проблемы в течении 4 лет показывает, что все госструктуры достаточно неплохо знакомы с проблемой и готовы к сотрудничеству при решении её. Например, именно поэтому в каждом паспорте записано место рождения человека, как дополнительное поле в уникальном ключе.
Но компании-подрядчики, разрабатывающие ПО для госкомпаний, не особо в теме и совершают одни и те же ошибки, в результате которых у людей типа меня годами возникают проблемы.
Коллеги, не забывайте проверять уникальность записей на практике.
Чтобы понимать глубину проблемы, напоминаю вам про две отличные статьи по схожим проблемам
https://habr.com/ru/post/146109/
https://habr.com/ru/post/146901/
1 746
Ответ на вопрос "за что я не люблю Microsoft". Вот за такие решения и не люблю. Теперь нужно делать пустые коммиты во все репозитории, чтобы их не потерять
https://www.theregister.com/2022/08/04/gitlab_data_retention_policy/
1 746
#удобняшки
Сервис, перегоняющий валидный curl запрос в код. Поддерживает генерацию кода для основных мейнстримовых языков
https://curlconverter.com/#java
1 746
Рубрика "удобняшки"
Девушка рисует неплохие шпаргалки для разработчиков в виде (почти) комиксов. Весьма недурно, рекомендую
https://wizardzines.com/comics/
1 746
Честно ворую обновления из рабочих чатов)
Касательно уязвимости нулевого дня Spring4Shell.
Вышел официальный пост от команды Spring Team с пояснениями.
Ваше приложение уязвимо, если:
- Вы используете JDK 9 или новее;
- Вы используете Apache Tomcat как контейнер-сервлетов;
- Вы собираете приложение как классический WAR (а не уже привычный jar, как в Spring Boot)
- Вы используете spring-webmvc или spring-webflux завимиость;
- Вы используете Spring Framework версий с 5.3.0 по 5.3.17, с 5.2.0 по 5.2.19 или более старые версии.
В посте приведены примеры Java-конфигураций, чтобы гарантированно избежать эксплуатации уязвимости. Либо вы можете обновиться до последних версий зависимостей, которые вышли сегодня.
https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
1 746
В качестве временной меры для защиты рекомендуется использовать в коде чёрный список недопустимых параметров запроса:
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.InitBinder;
@ControllerAdvice
@Order(10000)
public class BinderControllerAdvice {
@InitBinder
public void setAllowedFields(WebDataBinder dataBinder) {
String[] denylist = new String[]{"class.", "Class.", ".class.", ".Class."};
dataBinder.setDisallowedFields(denylist);
}
}1 746
зацепляет любой проект, использующий аннотацию
@RequestMapping с использованием значений в виде name=value (т.е значения форм, передаваемым в теле запроса не в виде xml/json и любые параметры, передаваемые в URL)