Не пробьёшься никогда на этих фриланс-биржах. Особенно зарубежных. Стоит элементарной задаче появится, так на неё тут же вешаются 7-8 индусов.
Плюс большинство фриланс-бирж работают по принципу — «Вначале заплати нам, а потом попытай удачу». Это не правильно. Вначале нужно давать фрилансеру исполнить заказ (или хотя бы получить задание), а потом брать с него оплату, иначе получается, что человек сидит, ищет заказы и расходует свои немногочисленные деньги впустую.
Ууууууу!!! Ути мой родной!!!)))) Я так давно не прикладывал к этому руку)) А ведь когда то в далёкие уже нулевые занимался почти тем-же самым))) рипал архивы игрушек и пытался переделать под своё) Иногда даже оч круто получалось)
Ой, да в одной только Java (как и в других подобных языках) много разных механизмов, которые существенно замедляют работу кода:
— try/catch;
— switch/case;
— reflection;
— создание потоков.
И что теперь? На Java не писать?))) Более того, запрос на каждого пользователя происходит однократно, далее вступает в работу клиентская часть. Ничего страшного.
«Я бы хотел узнать про ренедеринг html на стороне сервера, в каких случаях это имеет смысл?»
Ну как бе десятки тысяч IT-продуктов, которые разрабатываются на java с использованием vaadin, gwt, JSF, плюс всякие продукты на PHP да и тот же nodejs с reactjs. Это всё создано для того, чтобы выдавать html с сервера) Так что думаю смысла более чем достаточно =)
А вы вообще видели что из себя представляет этот плагин? Это просто отдельный вызов и старт инстанса node js. Моя цель была — избавиться от node js как от лишнего звена в архитектуре.
Что касается jar — да, можно конечно всё делать на embedded tomcat, который поставляется со Spring Boot, вот только я не смог к сожалению разобраться с classpath. Потому что при упаковке в jar, начинают сыпаться пути к js-файлам nashorn-polyfill и bundle.js =(
Если вы сможете с этим разобраться, то буду вам признателен) А так по сути — мне например легче в продакшене крутить всё это дело в виде war =)
function checkApiKey (apiKeyFromDb, apiKeyReceived) {
if (apiKeyFromDb === apiKeyReceived) {
return true
}
return false
}
The Solution
When you compare security credentials it is crucial that you don't leak any information, so you have to make sure that you compare them in fixed time. If you fail to do so, your application will be vulnerable to timing attacks.
Плюс большинство фриланс-бирж работают по принципу — «Вначале заплати нам, а потом попытай удачу». Это не правильно. Вначале нужно давать фрилансеру исполнить заказ (или хотя бы получить задание), а потом брать с него оплату, иначе получается, что человек сидит, ищет заказы и расходует свои немногочисленные деньги впустую.
Спасибо за статью!!!
— try/catch;
— switch/case;
— reflection;
— создание потоков.
И что теперь? На Java не писать?))) Более того, запрос на каждого пользователя происходит однократно, далее вступает в работу клиентская часть. Ничего страшного.
Ну как бе десятки тысяч IT-продуктов, которые разрабатываются на java с использованием vaadin, gwt, JSF, плюс всякие продукты на PHP да и тот же nodejs с reactjs. Это всё создано для того, чтобы выдавать html с сервера) Так что думаю смысла более чем достаточно =)
Если вы сможете с этим разобраться, то буду вам признателен) А так по сути — мне например легче в продакшене крутить всё это дело в виде war =)
blog.risingstack.com/node-js-interview-questions-and-answers-2017
What's wrong with the following code snippet?
function checkApiKey (apiKeyFromDb, apiKeyReceived) {
if (apiKeyFromDb === apiKeyReceived) {
return true
}
return false
}
The Solution
When you compare security credentials it is crucial that you don't leak any information, so you have to make sure that you compare them in fixed time. If you fail to do so, your application will be vulnerable to timing attacks.