Обратная совместимость в Java-мире

От приложения мы хотим стабильности и предсказуемости. Мы хотим, чтобы приложение было одинаковым. Эта предсказуемость и обратная совместимость являются эдакой священной коровой, которая движет Java вперёд, возможно, движет назад и, возможно, по некоторым сведениям, из-за этого Java и умрёт. Однако 30 лет Java прожила. Давайте посмотрим, как это всё было и что было в начале.

https://habr.com/ru/companies/axiomjdk/articles/941808/

#java #kotlin #обратная_совместимость #версионирование #аннотации #api #сигнатура #миграции #программирование #разработка

Обратная совместимость в Java-мире

Это текстовая версия доклада с Java Rock Star Meetup, с которым выступал Владимир Ситников ( @vladimirsitnikov ) — performance engineer, PgJDBC и JMeter committer, а также член программных...

Хабр

И как оно? Рассказываем как прошёл второй Java Rock Stars Meetup

Привет, Хабр! Первый Java Rock Stars Meetup прошёл на ура (обзор первого митапа см. тут ) и вы сказали, что хотели бы ещё. Ну, что ж, мы услышали, приняли и сделали. В конце мая мы провели второй Java Rock Star Meetup в Москве на той же площадке Casa Picassa, только в соседнем лофте. В этот раз мы выбрали площадку с большей вместимостью, поскольку кол-во регистраций в этот раз было сильно выше (как и дошедших до локации участников), чему мы были несказанно рады! Под катом — записи докладов, фото, видео и как это было.

https://habr.com/ru/companies/axiomjdk/articles/922702/

#обзор #java #митап #митапы #митапы_в_москве #jvm #обратная_совместимость #компилятор #компиляторы #ide

И как оно? Рассказываем как прошёл второй Java Rock Stars Meetup

Привет, Хабр! Первый Java Rock Stars Meetup прошёл на ура (обзор первого митапа см. тут ) и вы сказали, что хотели бы ещё. Ну, что ж, мы услышали, приняли и сделали. В конце мая мы провели второй Java...

Хабр

[Перевод] CORS — это тупо

Технология CORS и действующее в браузерах правило ограничения домена – те вещи, которые часто понимаются превратно. Ниже я объясню, что они собой представляют, и почему пора перестать волноваться по их поводу. Замечание : я собираюсь рассказать о CORS и правиле ограничения домена как о единой сущности, поэтому далее часто буду употреблять эти термины как синонимы. Дело в том, что они, по сути – части одной системы, работают в сочетании друг с другом и помогают вам решать, что можно сделать с какими ресурсами смешанного происхождения. В принципе, если ваши запросы поступают из разных источников, то вам придётся иметь дело с правилами, политиками и механизмами CORS. Прежде всего, отмечу, что CORS — это огромный костыль, помогающий снизить влияние ошибок, передающихся с унаследованным кодом. В этой системе защита предоставляется как по принципу отказа от участия (opt-out) в попытке частично купировать XSRF-атаки против незащищённых или немодифицированных сайтов, так и по принципу активного участия (opt-in), чтобы на сайте включалась активная самозащита. Но ни одной из этих мер не достаточно, чтобы решить целенаправленно созданную проблему. Если на вашем сайте используются куки , то вы обязаны деятельно позаботиться о его безопасности. (Ладно, это касается не любого сайта, но лучше перестрахуйтесь. Выделите время на тщательный аудит вашего сайта или выполните описанные ниже простые шаги. Даже придерживаясь самых разумных паттернов, вы всё равно можете подставиться под XSRF-уязвимости).

https://habr.com/ru/articles/840498/

#cors #куки #межсайтовые_сценарии #обратная_совместимость #сайты

CORS — это тупо

Технология CORS и действующее в браузерах правило ограничения домена  – те вещи, которые часто понимаются превратно. Ниже я объясню, что они собой представляют, и почему пора перестать...

Хабр

Как сломать скомпилированный код, не нарушая бинарную совместимость

Привет! Я Антон, Android-разработчик в команде Тинькофф Бизнеса. Занимаюсь интеграцией нескольких наших внутренних SDK в приложение и иногда участвую в их разработке. Хочу поговорить про проблемы обратной совместимости, которые я встречал в своей работе, и предостеречь от выстрела себе или клиентам вашей библиотеки в ногу.

https://habr.com/ru/companies/tbank/articles/819537/

#обратная_совместимость #бинарная_совместимость

Как сломать скомпилированный код, не нарушая бинарную совместимость

Привет! Я Антон, Android-разработчик в команде Тинькофф Бизнеса. Занимаюсь интеграцией нескольких наших внутренних SDK в приложение и иногда участвую в их разработке. Хочу поговорить про проблемы...

Хабр

Безопасный Continuous Deployment БД по принципам DB-First

В статье рассматривается Continuous Deployment для БД с бесшовными релизами за счёт обратно-совместимых обновлений и автоматизации проверок совместимости с помощью подхода DB-First.

https://habr.com/ru/articles/808279/

#continuous_deployment #dbfirst #кодогенерация #автоматизация #cicd #postgresql #миграция_бд #database_as_code #обратная_совместимость

Безопасный Continuous Deployment БД по принципам DB-First

Практика Continuous Deployment подразумевает полную автоматизацию поставки изменений в продакшн при публикации их в основной ветке репозитория. Она приводит к высокой частоте релизов, что означает,...

Хабр

[Перевод] Время изменений: депрекация datetime.utcnow() в Python

Как-то я изучал release notes новой версии Python 3.12 и в разделе о депрекациях моё внимание привлекла следующая фраза: utcnow() и utcfromtimestamp() из datetime.datetime устарели и будут удалены в будущей версии. Если вы следили за моими туториалами по веб-разработке, то видели, что я часто использую utcnow() ; очевидно, мне придётся переучиваться и использовать альтернативу, готовясь к неизбежному удалению этой функции (вероятно, это произойдёт спустя несколько лет, так что причин для паники нет!). В этой краткой статье я подробнее расскажу о том, почему эти функции попали под нож и чем их можно заменить.

https://habr.com/ru/articles/775024/

#python_3 #datetime #депрекации #обратная_совместимость

Время изменений: депрекация datetime.utcnow() в Python

Как-то я изучал release notes  новой версии Python 3.12, и в разделе о депрекациях моё внимание привлекла следующая фраза: utcnow()  и utcfromtimestamp()  из datetime.datetime...

Хабр