Vladimir
delete как раз переводит объект в режим словаря
Vladimir
что и нужно, если хочешь использовать объект как словарь
Vladimir
в эмбере была даже такая оптимизация: добавляли свойство и сразу удаляли
Алекс
хех, прикольно, чтобы не конвертить, когда уже много даннных будет запомню этот приём пожалуй.
Vladimir
именно
Алекс
А сейчас нас разве не спасёт Map?
Vladimir
По идее Object.create(null) всегда в режим словаря
Алекс
т.е. не смотря на то что typeof null === 'object', prototype объекта не отнаследуется?
Vladimir
null это не объект и протипа у него нет
Vladimir
это просто странное поведение typeof
Алекс
да, знаем-с) Object.create(null).__proto__ // undefined Object.create({}).__proto__ // Object {}
Алекс
@ZeroBias Читаю про Ramda. Как наиболее идеоматично модифицировать такой пример: var amtAdd1Mod7 = R.compose(R.moduloBy(7), R.add(1), R.prop('amount')); Чтобы значение не распаковывалось из объекта? Внутри распаковать, произвести манипуляции и вернуть в прежней обёртке с другими нетронутыми элементами. Забыл опять как это в функциональной теории назывется Сейчас работает так amtAdd1Mod7({amount: 17}); // => 4 а надо так: amtAdd1Mod7({amount: 17}); // => {amount:4}
Дима
assoc — это если не используя сразу перезаписать
Алекс
а с использованием?
Алекс
вот с такой примерно сигнатурой String → (a→a) → {k: v} → {k: v}
Vladimir
> @mxtnr Забыл опять как это в функциональной теории назывется Никак, там так нельзя
Дима
Ну в рамде все объекты иммутабельные, подгоняются под теорию)
Алекс
Почему нельзя? Я же не модифицирую ничего, новый контейнер возвращаю Который клон введённого с изменённым полем
Vladimir
А без этого ФП не работает
Дима
а с использованием?
Два варианта, через линзы и через evolve
Алекс
А в js/ramda есть/можно сделать аналог линз? Без постоянного использования никак не могу запомнить
Дима
Да, в рамде целый набор
Дима
Линзы удобно когда имя свойства известно заранее, объявил R.lensProp('value') и применяй к чему хочешь
Дима
Второй вариант через evolve удобнее когда гденибудь в середине строки нужен const valueInc = R.evolve({ value: R.add(1) }) const object = { value: 2 } valueInc( object )
Алекс
красиво, спасибо
Дима
Причем там можно и вложенные объекты так изменять. Не удивлюсь, если какие-то ещё способы забыл, потому что в библиотеке не столько много функций, сколько их комбинаций)
Алекс
Читаю про линзы на хабре (https://habrahabr.ru/post/190442/). Прикольно, как с помощью композиции линз получилась как бы ООП нотация: boss.health -= 10
Uladzimir
а что там в 6.8 сломали, что так быстро 6.8.1 выкатили, кто-нибудь в курсе?
Uladzimir
а, нашел, регрессия была
Vlad
ага
Vlad
ченджлоги наше вё
Dmitry
Кстати, а кто работал на toptal? как там дела, можете рассказать в двух словах, сейчас работаю на upwork, и в целом рейты на апворке начинают припекать, средний 25-30, что норм, но может на топтеле получше будет?
Vitaliy
Кстати, а кто работал на toptal? как там дела, можете рассказать в двух словах, сейчас работаю на upwork, и в целом рейты на апворке начинают припекать, средний 25-30, что норм, но может на топтеле получше будет?
По мне, так дела прекрасно! В последний раз нашёл вакансию, откликнулся, прошёл собеседование и получил согласие клиента на работу со мной за один день — у меня никогда раньше так быстро не получалось начать работать :)
Dmitry
Кстати, может кто подсказать, как решать проблему с глобальными node_modules, например webpack, можно как-то настроить path, чтобы смотрел в локальные node_modules
Vitaliy
звучит очень заманчиво, а перед этим нужно было проходить toptal собеседование или это оно и было?
Да, сперва надо попасть в Топтал. Отбор как у взрослых. По моему опыту — серьезней, чем в Яндекс. Потому и проходит 3%. Но зато мне теперь чертовски комфортно, и не надо каждый раз продавать себя клиенту с нуля — он уже знает, что я прошёл серьезное тестирование. Остаётся только показать, что я понимаю _проблему_ клиента, и как её решать :) В сети было описание отбора в Топтал, больше всего народ срезается на алгоритмических задачах на codility, хотя не обязательно решить все из предложенных. Советую попробовать, если нет опыта с олимпиадами программированием.
Vitaliy
Топтал — это вот тут, если что: https://www.toptal.com/#land-just-top-hackers
Sheldhur
кокая хитрая реклама
Vitaliy
Я как-то сторонился олимпиад и подобного, все это хорошо, но на деле совсем другим будешь заниматься, тем более, что я фронт пишу :D
Ну, и да и нет :) Олимпиады — это про лгоритмы, а знать как обойти дерево без рекурсии — и на клиенте бывает нужно. Вот, заставить себя расширять знания в области алгоритмов можно как раз олимпиадами. Например, я хотя бы раз в год участвую в Google Code Jam. И вот как-то с каждым годом все сложнее становится.. Старость? :/
Oleksandr
учтите что топтал закрывает дорогу для адекватной карьеры
Vlad
шта?
Oleksandr
я просто со стороны заказчика был
Oleksandr
они человека за 50 перепродают по 150 с гарантией манибека
Oleksandr
а чтобы собственно устроиться надо заплатить топталу 1-3 годовых зарплаты
Oleksandr
в смысле чтобы из него выйти
Oleksandr
а пока ты там никто из тех кто с ними работает не имеет права тебя нанять без этого
Oleksandr
как-то так примерно
Bogdan
ээ, там вроде 3 года нельзя потом работать с клиентами топтала, да?
Oleksandr
да, или три года или 1-3 годовых рейта заплатить
Bogdan
мдауж, как-то совсем не ОК
Anonymous
а пока ты там никто из тех кто с ними работает не имеет права тебя нанять без этого
Мда, вот хорошо узнать про вторую сторону медали. Спасибо.
Oleksandr
в общем если соц скиллов ноль то это вполне приятная галера, но 3х накрутка это конечно жесть
Oleksandr
справедливости ради там есть и отпуска и на конференцию топтал может тебя свозить итд
Oleksandr
но это все совсем небесплатно и эти деньги можно получить и себе
Kirill
спамер
Kirill
в четырех чатах сразу
Sheldhur
Vladimir
В 6
Evgeny
Забавно канеш
Evgeny
Там в превью было описание чата и что-то типа "запрещены спам и раскрутка других групп, за нарушение БАН!"
Vitaliy
Для расширения знания, есть книги по алгоритмам и проджект Эйлера. :D
Вообще, конечно да. Но это ж дисциплина должна быть, а я ленивый — жуть :)
Vitaliy
А за Эйлера спасибо, не знал
Vitaliy
Дойти бы ещё когда-нибудь до задач на http://rosalind.info Хотя, это биоинформатика, она вроде больше не мейнстрим 😂
Sergey
нубский вопрос. как сделать "on attribute change" в ES6? какой-нибудь простой пример, пожалуйста
Andrew
А можно подробнее? Тоже интересно
dmitri
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set
Sergey
а в чем отличие от watch? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch
Michael
watch deprecated
Michael
есть Proxy
Sergey
спасибо, ребята
Michael
https://ponyfoo.com/articles/es6-proxies-in-depth
Sergey