доня.
Андрей
Андрей
Мозг не варит.
Андрей
В Js нет прототипа, который реализует reduce?
доня.
В Js нет прототипа, который реализует reduce?
есть, я не о том я говорю, что map, filter, take, ... не нужно реализовывать специально для типа, когда для него реализован reduce (ну или [Sumbol.iterator]) все эти функции можно реализовать один раз, и внутри уже они будут использовать reduce так будет проще создавать свои кастомные коллекции - реализуешь только reduce, всё остальное получаешь бесплатно
доня.
ну трансдьюсеры это круто, но если тут даже композицию в штыки встречают...
Anonymous
job offer
Anonymous
#вакансия #frontend/#backend/#fullstack Харьков, Украина Формат работы: #офис Занятость: полная/ Зарплатная вилка: от 700$... до .2000$. Описание вакансии: We are looking for the talented individual to join our web development team. If you wish to work side by side with senior professionals that have vast experience in the software industry, and consider yourself an energetic, thorough and focused individual, join us and empower our solutions and yourself as a professional. Requirements • Experience in web development 2+ • Strong knowledge of HTML5, CSS3 • CSS-frameworks: Bootstrap • Knowledge js (jquery) • Practical experience with JS-frameworks: Angular (NodeJS as a plus) • Gulp • Intermediate English level What we offer: • friendly team • work in a stable, growing company • flexible working hours • career and professional growth • English lessons • internal events, teambuildings Don't hesitate to contact me: E-mail: hr@work-nest.com Skype: WorkNest Marina_HR
доня.
трансдьюсеры они ж вообще как и любые фп-абстракции нужны для композиции потому что на императивных циклах композиция не работает, на map, filter, ... - не эффективна (несколько проходов по коллекции получается) а с трансдьюсерами можно комбинировать трансформации над коллекциями (и генераторами, стримами и т. д. - над всем что реализует reduce) без лишних проходов
Анатолий
И это всё пишут люди, которые в про.жс.нубс уверяют новичков, что теория не нужно, надо сразу брать и делать по готовым примерам)
Oleg
Вот, придумали себе правила, получили проблемы, решают проблемы, которые не существуют в алгоритмах со стейтами
доня.
F# + WebSharper для компиляции его в JS?
я на шарпах не пишу, у меня с дотнетом как-то исторически не сложилось или чистый JS, или TS (хотя в последнее время моя к нему любовь ослабла), или ClojureScript
Dmitry
F# - к шарпам (который C# все называют) имеет 0 отношение, это скорее OCaml/Haskell на .NET (с возможностью перевода в JS)
доня.
Вот, придумали себе правила, получили проблемы, решают проблемы, которые не существуют в алгоритмах со стейтами
эмм вот есть у тебя императивный цикл, с мутабельностью и т. д. вот нужно тебе его переиспользовать с какой-то дополнительной логикой ты либо делаешь два прохода по коллекции, либо пишешь всё заново с функциональным подходом ты просто берёшь трансдьюсеры и юзаешь композицию
Dmitry
»TS (хотя в последнее время моя к нему любовь ослабла) А почему, если несложно?
доня.
F# - к шарпам (который C# все называют) имеет 0 отношение, это скорее OCaml/Haskell на .NET (с возможностью перевода в JS)
ну я под шарпами имел ввиду скорее вообще экосистему дотнета я примерно представляю себе как выглядит F#, но только со стороны
доня.
»TS (хотя в последнее время моя к нему любовь ослабла) А почему, если несложно?
ну, есть хорошие статически типизированные языки есть хорошие динамически типизированные языки а есть не очень продуманный динамический JS на который натянули статическую типизацию статическая типизация это круто, но в случае TS она и отбрасывает некоторые преимущества динамической, и не является таким же мощным инструментом, как статическая типизация в том же Rust например я просто сейчас свой pet-проект переписываю с TS на чистый JS и без использования классов, наследования, с минимальным использованием методов и т. д., в общем динамика и функциональщина во все поля (получается похоже на то как пишут на кложе), и пока получается короче, чище и понятнее
Hryhor
#work #Job #Finland #Javascript Hello, Guys! My name is Gregory. I have a position that might be interesting for you, it’s Javascript Software Developer with 3-5 years of exp. Our client is space company in (Finland), highly international team that is located in Espoo. This position implies relocation! Position is Javascript Software Engineer (full time). The company is based in Espoo, Finland. Here is the link to their web site: https://www.iceye.fi/ As a Software Engineer, you will be responsible for developing a front-end tool (mainly based in Javascript) to track and operate (schedule) satellite constellation. Position requirements are: experience with JavaScript and most popular libraries (jQuery, Angular, etc); excellent knowledge of HTML/CSS; experience with such web servers as apache, nginx; fluent in English! Would be a plus: experience with Cesium JS, Python, Databases, Node.js. If you are initiative, can propose new ideas and tools, work autonomously and deliver work meeting the deadlines - we are waiting exactly for you! Send your CV and skype contact to my email or via LinkedIn message - ( https://www.linkedin.com/in/gregory-manhasarian-6525b9128/ ). Best regards, Gregory Manhasarian Email: hm@8relocate.com Skype: live:1willgo2climba3 All details you can get on skype call with HR of the company!
Winni
Так все же Gregory или Hryhorii, а Гриш?
Hryhor
different transliteration
Eugene
Почаны, а как так вышло что нативный map слоупочней лодашевского map'па https://jsperf.com/native-map-vs-lodash-map
Eugene
объясните эту магию
👨🏼‍💻
Чуваки, хелп. Чет не могу придумать решение. Например, у меня есть объект: generalSettings: { general: { port: 80, privacy_guard_url: "", ssl_cert_path:"", ssl_enable:false, ssl_private_key_path:"", token_expiration:30 }, matching: { threshold_for_structured_data:0.7, threshold_for_unstructured_data:0.45 }, scanning: { priority: { high: "Weekly", low: "Every 3 months", medium: "Monthly" } }, node_settings: { nodes: [], log_level: "Critical", log_source: "db", max_file_nb: 3, max_file_size: 100 } } И у меня есть имя конкретной проперти, которая может лежать как угодно глубоко, но иметь уникальное имя. Вопрос, как записать обновленное значение, имея, например только 'medium'
Sergey
Рекурсивно обойти
👨🏼‍💻
Рекурсивно обойти
в лодаше есть findKey ---> он вернет имя родительского объекта. Но это только на 1 уровень
Winni
если не нашел, то опять find key пока детей не останется
👨🏼‍💻
это я как раз понял :)
👨🏼‍💻
а так что б не гонять по всему объекту рекурсивно, нет рецепта?
👨🏼‍💻
просто по каждому клику будет гонять. не правильно это
Nikolay
Еще можно разворачивать объект в плоский, ежели ключи гарантированно уникальны.
Andrew
просто по каждому клику будет гонять. не правильно это
читай выше мой пост. :) 1 раз прогнал и профит
👨🏼‍💻
так еще и структуру бы сохранить :)
Nikolay
Тебе его потом в какое-то легаси передавать надо?
Andrew
так еще и структуру бы сохранить :)
у тебя будет 2 объекта, изначальный и плоский, а свойства будут одновременно в обоих, т.к. по ссылке
Winni
Так храни "плоский объект" в отдельной переменной
Nikolay
Сериализуй обратно перед этим.
👨🏼‍💻
можно канечно делать проще, имена инпутам присваивать не как 'medium', а как 'scanning.priority.medium'
👨🏼‍💻
Но я не знаю что большая дичь это этого :)
Winni
Вот как всегда, гениальное решение проблеммы засрали устранив саму проблемму
👨🏼‍💻
эдак можно на пол-страницы имя забацать :)
не, глубже имя не будет. И скорее всего вообще меняться не будет
Andrew
один нюанс, если флэтить будешь - значение по ключу должно быть объектом :)
Anton Saprykin
function findKey(object, name, value) { for(let prop in object) { if(typeof object[prop] === 'object') { findKey(object[prop], name, value) }else if(prop === name) { object[name] = value; } } } findKey(object, 'medium', 'govnokode') console.log(object)
Nikolay
Придется забоксить все примитивы, да.
Anton Saprykin
Ну так чувак сам программист, пусть оптимизирует
Winni
Предлагаю бан за расширение прототипа массива
Предлагаю чтобы за расширение прототипа любого встроенного объекта банили.
👨🏼‍💻
давайте генератором сейчас нафигачу
Дима
Ну а я про что
Andrew
мне кажется проще все же проиндексировать в плоский массив и работать уже с ним. по конечной производительности альтернатив особо не будет.
Дима
Только итерируемая структура может проходиться по любой вложенности
Nikolay
Еще можно составить карту пропертей. Один раз.
Maksim
Да тут сама постановка задачи неверна)
согласен, в чем бизнес смысл такой задачи?
Дима
это JavaScript, тут жизнь = боль :)
В моём жс всё нормально)
Anonymous
Чистые функции могут использовать moment.js?
Anonymous
Он же тоже на чистых ф-ях? 🙄
Anonymous
Или как бы.... Что-то не понятно)
Anonymous
По идее нет
Anonymous
Но...
Anonymous
Да уж. На чистых. Moment может быть чистым только если каждый раз юзать clone(). Но может.
Svyatoslav
народ, как объявить "зеркальную" переменную? Например есть значение obj.cld1.cld2.cld3.text, нужно объявить переменную, которая бы сокращала эту запись до text так чтобы если ты меняешь переменную text менялось значение obj.cld1.cld2.cld3.text и наоборот
Valerii
Привет всем. Кто нибудь отправлял куки на REST API с помощью XMLHttpRequest.withCredentials ? Вроде все сделал как надо, XMLHttpRequest.withCredentials = true, на сервере включил заголовки "Access-Control-Allow-Credentials:true", "Access-Control-Allow-Origin: тут домен с которого стучусь" куки сервера на фронте вижу, но на сервере не вижу кук клиента. Что упустил?
Svyatoslav
Max
Кто то работал с datamaps?
Anonymous
observable
НИЧОСЕ! Ты говорил прокси медленные, а observe?