Pull to refresh
6
0
Дмитрий Смаль @mialinx

User

Send message

Конкуренты на момент разработки


В Yandex.Cloud это работает на виртуалках, в k8s запускать не пробовали, но по идее должно работать так же. Скажем проблемы будут те же самые если вы будете руками поддерживать MySQL в k8s =)

У вариантов `like a rock-star` и binlog-server есть еще одно важное преимущество - они нормально работаю с огромными транзакциями (когда бинлог на 15G).

Связка `mysqlbinlog | mysql` к сожалению просто не способна прочитать большие транзакции из бинлога.

Автор накрутил...


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


Проблема 2 в том что сайт рассчитывает что браузер не делает кроссдоменных AJAX запросов. Но это не так. Браузер таки всегда делает их, а CORS управляет тем будет ли виден результат странице, сделавшей вызов.

А большой проект это сколько?
Имхо, IDE несколько расслабляет. Разработчики забывают даже базовое API, полагаясь на автодополнение, никто не придумывает архитектуру, ведь есть же меню рефакторинг...

А что на счет отладки?
Сделать запрос из telnet?
Кинуть коллеге запрос «Copy-as-curl»?
Посмотреть сниффером что там ходит по сети?
Научным тыком исследовать плохо (не) документированное API?

Отдельным пунктом:
Одно API для браузера (JS) и всего остального?
Ага. Я к тому, что это ни разу не аргумент за простоту деплоя.
Мда… про деплой вообще странный аргумент.
Это можно сказать про любую программу которая собирается в один бинарь.
Мы пишем на С! Это упрощает деплой.
Главная проблема с REST — мало кто понимает зачем он нужен.

Поэтому делают API так как удобно на практике — RPC поверх http + json + url-encoded параметры.
Почему?
1) Это просто. Почти везде есть http клиент. (Но не все клиенты умеют все необходимое для REST)
2) Это легко отлаживать. Вы можете делать запросы обычным браузером на любом компьютере.
3) Это не ломает мозг с именованием. Как назвать метод «сделать красные кнопки зелеными», доступную только для партнеров или айфона босса?

Вообще у REST мало хороших примеров.
Календари (google-calendar точно) — хороший пример.
Кто знает еще?

Когда-то тоже сталкивались с проблемой XML в MySQL.
Сделали UDF для подключения libxml функций.
https://github.com/mialinx/lib_mysqludf_dom

Может будет полезно кому.
Еще по поводу прототипов:
Обычно все говорят как и никто не говорит зачем.

В Perl есть хорошо известное соглашение про передачу параметров в пользовательские функций.
Но некоторые встроенные функции работают немного не по этому соглашению.

push @arr, $elem; # @arr не сливается в один список с $elem.


Так вот: прототипы в Perl нужны с единственной целью — позволить программистам делать так же.
Как правило это удобно для очень низкоуровневых функций для работы с данными и блоками.
В прикладной же разработке — почти нафиг не нужно.

Пожалуйста, подумайте дважды прежде чем писать прототип: вы точно делаете новый map?
Пока видел одно достойное применение прототипов — Try::Tiny и аналоги.

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

Так что да — надо и нам и студентам.
Угу… такое ощущение что дело было не в Европе, а у нас

Information

Rating
Does not participate
Works in
Registered
Activity