Ну это минусы о которых говорилось не однократно в других обсуждениях их конкурсов. Они стараются но есть предположение, что делает несколько человек. Что явно сказывается на качестве конкурса.
Вот честно %user_name%, вы занимаетесь ерундой. Да обидно что результаты пересмотрели. Я к примеру занял там 100+ какое то место и написал результат за первые пару дней. И мне интересно было участие, а не приз/деньги/слава/женщины.
И честно скажу результат который я думал что %user_name% или кто то напишет — каноничный результат но увы он отсутствует.
RegExp — в такой задаче зло и как мне казалось самым простым решением. Хотя по результатам так сделали все — а это плохо.
В моем представлении решением должен был быть модифицированный алгоритм расстояния Левенштейна или подобный. Он явно будет быстрее RegExp'ов. ( — На вопрос от %user_name%: «ну ты типо загнул, а почему сам не написал» — ответ: был занят очень сильно.)
Но посмотрев топовые результаты я увидел только RegExp и вариации оптимизации.
Еще раз повторюсь — если для вас %user_name% конкурс === деньги, то для вас у меня плохие новости :)
PS: Конечно не красиво получилось но признание ошибки — это половина дела. Вторая половина это принятие со стороны конкурсантов.
И опять если вы не сталкивались с таким на конкурсах то опять же, если для вас %user_name% конкурс === деньги, то для вас у меня плохие новости.
Удачи %user_name% и спасибо компании Hola за конкурс жду с еще.
Очень интересная точка зрения, много справедливо в той или иной мере. Но мне кажется иногда переводчики слишком цеплялись за иронию Пола :)
Добавлю важную штуку существует огромное множество фремворков/библиотек и многие стремятся холиварить Angular 1/2/N лучше Backbone 1/N но есть еще лучше React 1/N вот с ним «заживем то». Они все хороши. Главное в них мне кажется, если немного добавить идеологии Пола:
Используя фремворк/библиотеку мы находим сильные/слабые ее стороны улучшаем/используем best practice (лучшие практики) и за счет них технология эволюционирует, а с ней и мы. Ну и конечно если технология эволюционирует то и продукты наши тоже. Все остаются в выигрыше не только разработчики но и конечные пользователи.
Этой подборке место на мусорке в черновиках, половина актуальных технологий (так сказать мейнстирма) отсутствует, вторая половина как например batmanjs.org уже история.
Я не совсем понимаю ― а на что вы рассчитывали? На то, что метод test заблочит весь поток js-а, до тех пор, пока не выполнится?
Конечно же нет, но представьте как это может быть воспринято человеком только начавшим уже с es7 (c babel), все показывают красивые примеры, не вдаваясь в подробности. И ссылка на сахар за счет чего это сделано дает понять что результат будет промис.
Проблема в том что не многие понимают что async/await это не панацея и стоит понимать где его использовать.
function save(){
return new Promise((resolve, reject)=>{
setTimeout(()=>{
resolve(1);
},300);
})
}
async function test(){
let one = await save();
// one = 1
return one;
}
И вот вопрос что же вернет функция test() ?
Promise
И это еще более странно, вот этот вот код не даст тот результат который вы думаете если будите использовать babel с asyncToGenerator (nodejs 4.2+).
Кошмарный результат!
let one = test();
let two = 2;
let three = one + two;
// 3 ?? - НЕА
Точно хотите знать ?
[object Promise]2
В чем соль подобного, ссылка на стандарт (Листать до синтаксического сахара за счет чего это сделано)
А как решить такую ситуацию ?
Как не странно обернуть еще раз в async/await
async function test2(){
let one = await test();
// one = 1
let two = 2;
console.log(one + two); // 3
}
test2();
И не получите, я же не буду за вас делать вашу работу. Я и так вас бесплатно проконсультировал в вопросах фронтенда на текущий момент.
Вы любите считать чужие деньги? )
А никто и не считал, я просто констатировал очевидное из вашего кода. И собственно вы же это делали для ультробыстрогосервевера который обрабатывает аж 100000000 запросов в секунду. Странно куда у вас делись средства. Да не суть.
собственно, никто и не просил об оценке )
Тогда этому не место на хабре.
Используйте свой бложек или жжчку.
А зачем вы написали об этом?
Тем не менее, по нашему опыту, подобная библиотека очень здорово упрощает написание основанной на работе с сериями данных логики, при этом занимая в коде ровно столько места, сколько функций нам от неё необходимо.
Ваши логика из 2004 наверное когда не было гита как токового когда не было кучи кода который бери используй. И все стремились писать и собирать свои собственные библиотеки супер функций которые постоянно дополняются и обновляются из проекта в проект.А сейчас 2015 прошу проснуться пока еще не поздно. Клиент конечно как мамонт не вымрет но явно с таким качеством ограничит вас — что и хорошо :)
PS: Как один из тех кто пытался достучатся до вас двоих, аккуратно объясняя суть, вводя в современный фронтенд.
Выкидывайте, дорогой mr47, ни в чём себе не отказывайте.
Денег на нормального фронтендщика нет так бы и сказали.
Вы не могли бы подсказать, где у нас «undefined» является объектом?
Вот прямо сейчас откройте консоль и напишите
var und = "undefined";
var k = undefined;
console.log(typeof k===und); // у вас так часто но есть и == (не строгое сравнение)
Такой код будет работать но, всегда есть это «НО»:
k === und // false
....
...
k === undefined // true
Если кто то попробует использовать в вашем коде такое то результат будет плачевен мне правда не понятно о каком таком стиле вы писали в начале статьи.
И я вас отправлю сразу прямиком к стандарту этого чудного языка javascript
И это далеко не придел фантазии а если попробовать
"".split().length // 1
"".split("").length // 0
И это далеко не самые большие странности…
Не пишите больше на javascript. Пишите больше но — осмысленно. А лучше наймите хорошего фронтендера/джаваскриптера он вам все объяснит.
PS: я не буду оценивать уровень вашего текущего фронтендщика и есть он есть вообще, но отсутствие модульности, самой простой системы сборки (grunt, gulp, броколи и прочие) не говоря уже об webpack. Это крайне печально пару лет назад писали вот так вот не зная об AMD, Commonjs и прочего новомодного (imports из es2015).
Сергея скорей всего посадили за типичную лицензию MIT. Но опять же тут вопрос к юристам. А вообще лучше использовать уже готовые лицензии больших проектов например .
Facebook много платит своим юристам чтобы подобного не было. Просто иногда стоит подумать дважды когда работаешь на людей которые орудуют миллионами — особенно банки.
THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
слава/женщины.И честно скажу результат который я думал что %user_name% или кто то напишет — каноничный результат но увы он отсутствует.
RegExp — в такой задаче зло и как мне казалось самым простым решением. Хотя по результатам так сделали все — а это плохо.
В моем представлении решением должен был быть модифицированный алгоритм расстояния Левенштейна или подобный. Он явно будет быстрее RegExp'ов. ( — На вопрос от %user_name%: «ну ты типо загнул, а почему сам не написал» — ответ: был занят очень сильно.)
Но посмотрев топовые результаты я увидел только RegExp и вариации оптимизации.
Еще раз повторюсь — если для вас %user_name% конкурс === деньги, то для вас у меня плохие новости :)
PS: Конечно не красиво получилось но признание ошибки — это половина дела. Вторая половина это принятие со стороны конкурсантов.
И опять если вы не сталкивались с таким на конкурсах то опять же, если для вас %user_name% конкурс === деньги, то для вас у меня плохие новости.
Удачи %user_name% и спасибо компании Hola за конкурс жду с еще.
Добавлю важную штуку существует огромное множество фремворков/библиотек и многие стремятся холиварить Angular 1/2/N лучше Backbone 1/N но есть еще лучше React 1/N вот с ним «заживем то». Они все хороши. Главное в них мне кажется, если немного добавить идеологии Пола:
на мусоркев черновиках, половина актуальных технологий (так сказать мейнстирма) отсутствует, вторая половина как например batmanjs.org уже история.Конечно же нет, но представьте как это может быть воспринято человеком только начавшим уже с es7 (c babel), все показывают красивые примеры, не вдаваясь в подробности. И ссылка на сахар за счет чего это сделано дает понять что результат будет промис.
И это еще более странно, вот этот вот код не даст тот результат который вы думаете если будите использовать babel с asyncToGenerator (nodejs 4.2+).
В чем соль подобного, ссылка на стандарт (Листать до синтаксического сахара за счет чего это сделано)
Почему выбрали sass о переходе на bem и postcss думали?
Не страшно использовать context с react 0.13.3 ведь context обещали только после 0.14?
Почему не использовали flexbox ведь у вас автопрефиксер на последние три версии браузеров?
Зачем использовали свой css grid, а не взяли существующий?
PS: Простите, простите, мне правда очень интересно :)
Вот другое дело, есть где подсмотреть бестпрактис что собственно и хотел с самого начала :)
И можно много много вопросов к вашему фронтенду, github.com/actorapp/actor-js-old. Чем был аргументирован выбор coffescript?
Почему не использовали AMD, CommonJS, es2015 (requirejs, browserify, webpack/requirejs)?
И
гдекогда же можно посмотреть исходники веб версии?PS: выглядит очень интересно и даже очень очень.
А никто и не считал, я просто констатировал очевидное из вашего кода. И собственно вы же это делали для ультробыстрогосервевера который обрабатывает аж 100000000 запросов в секунду. Странно куда у вас делись средства. Да не суть.
Тогда этому не место на хабре.
Используйте свой бложек или жжчку.
А зачем вы написали об этом?
Ваши логика из 2004 наверное когда не было гита как токового когда не было кучи кода который бери используй. И все стремились писать и собирать свои собственные библиотеки супер функций которые постоянно дополняются и обновляются из проекта в проект.А сейчас 2015 прошу проснуться пока еще не поздно. Клиент конечно как мамонт не вымрет но явно с таким качеством ограничит вас — что и хорошо :)
PS: Как один из тех кто пытался достучатся до вас двоих, аккуратно объясняя суть, вводя в современный фронтенд.
Желаю вам — удачи.
Вот прямо сейчас откройте консоль и напишите
Такой код будет работать но, всегда есть это «НО»:
Если кто то попробует использовать в вашем коде такое то результат будет плачевен мне правда не понятно о каком таком стиле вы писали в начале статьи.
И я вас отправлю сразу прямиком к стандарту этого чудного языка javascript
И это далеко не придел фантазии а если попробовать
И это далеко не самые большие странности…
Не пишите больше на javascript.Пишите больше но — осмысленно. А лучше наймите хорошего фронтендера/джаваскриптера он вам все объяснит.PS: я не буду оценивать уровень вашего текущего фронтендщика и есть он есть вообще, но отсутствие модульности, самой простой системы сборки (grunt, gulp, броколи и прочие) не говоря уже об webpack. Это крайне печально пару лет назад писали вот так вот не зная об AMD, Commonjs и прочего новомодного (imports из es2015).
Пожелаю вам удачи. Ведь она самое главное :)
Facebook много платит своим юристам чтобы подобного не было. Просто иногда стоит подумать дважды когда работаешь на людей которые орудуют миллионами — особенно банки.
Или почему гугл пользуется jquery как и тысячи сайтов совершенно бесплатно? Причем я не слышал о громких делах связных с jquery.
Это идиомы, 20000$ в банковских системах — ничто. Я не собираюсь с вами спорить о лицензиях и об открытом ПО.
И стоило бы написать на языке ресурса.