Pull to refresh
@Scfread⁠-⁠only

User

Send message

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

Идея для бизнеса: продавать медицинские маски для лица, на которых нарисовано лицо

Нет, нет, нет.


Основное достоинство rest api по сравнению с rpc over http — он понятнее и позволяет использование огромного количества клиентов — от curl и браузера до python/java/c++


Если ваш рест апи непонятнее рпц или несовместим с чем-то из вышеперечисленного — никому он такой не нужен.

В статье так и не написали, что именно кажется неудовлетворительным. Я закончил школу в 2000м и у нас с информатикой всё было неплохо — бейсик, потом два года паскаль. Мы проходили массивы списки, деревья. Писали сортировки и поиски в массивах. Умели делать обход дерева.


Я думаю, это вполне достаточный старт для всех, кто захочет связать свою жизнь с IT.

Автор статьи путает капитализм с коммунизмом.


Жизнь улучшится для потребителей и работников хайтека. А как насчет остальных?


Когда 1000 инженеров и 1000 рабочих смогут заменить миллионы водителей и продавцов, куда они пойдут и как они будут зарабатывать себе на жизнь?


Если бы они могли выучиться и работать в хайтеке, они там бы и работали. А столько администраторов групп в соц. сетях не нужно.

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


Еще почему-то многие не верят в существование библиотек в природе и делают выбор только между фреймворком и самописками.


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


С недостатками тоже всё понятно — чтобы собрать самому целостный каркас приложения с нуля и поддерживать его качество, требуется навык, опыт, и, чего уж там, некоторые вложения труда. Но по моему опыту это вложение окупается многократно.

Фреймворки придуманы не сколько для ускорения работы, сколько для её удешевления. "фреймворкер" может многое не знать и не уметь и при этом выдавать работающий софт.


Конечно, софт будет тормозить, у него будут проблемы с нестандартным функционалом, разработка будет занимать непредсказуемое время из-за войны с фреймворком, но зато можно набрать команду из сеньора и толпы студентов, и они выдадут продукт.


Что делать сеньорным командам? Хорошие сфокусированные библиотеки, решающие одну проблему и решающие её хорошо. Хороший модульный код с максимальной инкапсуляцией, написанный по тому же принципу — сфокусированность и качество. Хороший язык программирования, позволяющий писать изолированные модули и их композицию.


Могу добавить, что изучение ФП значительно повышает качество кода, вне зависимости от языка программирования.

Ох уж эта работа мечты, заставлющая пропускать пары на пятом!!! курсе.


Опишу свой опыт:


  • работать надо начиная с 3-4 курса, зависит от того, как тяжело дается учеба
  • работа должна быть на полставки со свободной посещаемостью, в любое время с 9-00 до 20-00, важно только суммарно отработанное время
  • проще всего найти такую работу, спросив преподавателей. Они могут порекомендовать вас в подходящее место — где к набегающим студентам будут лояльны и даже доплачивать им за работу)
  • на 5-6 курсе, когда будет посвободнее со временем и будет опыт работы, можно начинать ходить на собеседования в серьезные компании.

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


Сервера надежно защищены, гарантии существования сервиса дает государство, при потере пароля можно прийти с паспортом в ближайший МФЦ.


Вот только подключиться к ним нельзя, отвечают отпиской, что подключение только для категорий организаций, явно указанных в каких-то ФЗ...

Я пессимист, я приведу два НО:


  • Покупая TON, ты доверяешь Дурову, что он не обесценит эту валюту, оставив деньги себе, а электронные фантики — тебе. У него же есть контроль за эмиссией и куча других способов влиять на курс.
  • А налоги кто будет платить? При покупке товара или услуги, продавец обязан поделиться с государством.

Документации к проекту нет
Комментариев в исходниках тоже нет
Примеры минимальны (причем второй пример нерабочий)
В статье так и не написано, что такое flow, как они комбинируются и где там реактивность.


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


Вот пример, как надо описывать свои идеи: https://habr.com/ru/post/235121/

вы использовали живые браузеры, не headless?

Я же запускал тесты, зачем тестировать руками приложение?

Вот это неправильно. Доказывается очень просто — что можно прокликать вручную, то можно автоматизировать. Вручную можно прокликать 2-3 тесткейса, автотесты могут прокликивать сотни тесткейсов. Для проблем со сломанной версткой есть скриншоты и попиксельное сравнение с эталонной картинкой.

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

Потому, что они профессионально пишут статьи, а не код

Важная часть умения бить на подфункции — уметь не бить на подфункции

Кстати, кто хочет сам потыкать:
git clone https://github.com/lsfusion-solutions/timetracking
mvn antrun:run -Pexec-client


Появляется GUI на свинге, дальше продвинуться не удалось — нужен какой-то сервер, причем, похоже, не сервер БД.

Отдельное спасибо за то, что не просто рассказываете о крутизне платформы, но и выложили исходный код старых, крупных проектов, написанных на этой платформе.


Я правильно понял, что lsFusion код транслируется в SQL и хранимые процедуры?

Эммм, всё немного сложнее. Базы бывают разные и с разным набором фич, при массовой вставке дополнительный roundtrip для инкремента сиквенса может значительно увеличить время вставки. Особенно если пинг до базы ненулевой.


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

В данном случае проблема не в разделении ответственности, а в database integration antipattern — доступ двух разных приложений к одной таблице в БД. Почему это проблема? Потому, что, в отличие от сетевого RPC, интерфейс взаимодействия между системами через таблицу в БД сложен и избыточен, поэтому его трудно специфицировать и отладить.


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

Information

Rating
Does not participate
Registered
Activity