Sergey
доня.
Андрей
Андрей
Мозг не варит.
Андрей
В Js нет прототипа, который реализует reduce?
Sergey
доня.
В Js нет прототипа, который реализует reduce?
есть, я не о том
я говорю, что map, filter, take, ... не нужно реализовывать специально для типа, когда для него реализован reduce (ну или [Sumbol.iterator])
все эти функции можно реализовать один раз, и внутри уже они будут использовать reduce
так будет проще создавать свои кастомные коллекции - реализуешь только reduce, всё остальное получаешь бесплатно
Sergey
доня.
ну трансдьюсеры это круто, но если тут даже композицию в штыки встречают...
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
Вот, придумали себе правила, получили проблемы, решают проблемы, которые не существуют в алгоритмах со стейтами
Dmitry
доня.
F# + WebSharper для компиляции его в JS?
я на шарпах не пишу, у меня с дотнетом как-то исторически не сложилось
или чистый JS, или TS (хотя в последнее время моя к нему любовь ослабла), или ClojureScript
Dmitry
F# - к шарпам (который C# все называют) имеет 0 отношение, это скорее OCaml/Haskell на .NET (с возможностью перевода в JS)
Dmitry
»TS (хотя в последнее время моя к нему любовь ослабла)
А почему, если несложно?
доня.
»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
объясните эту магию
Serhiy
👨🏼💻
Чуваки, хелп. Чет не могу придумать решение.
Например, у меня есть объект:
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
Рекурсивно обойти
Andrew
👨🏼💻
Рекурсивно обойти
в лодаше есть findKey ---> он вернет имя родительского объекта. Но это только на 1 уровень
Winni
если не нашел, то опять find key пока детей не останется
👨🏼💻
это я как раз понял :)
👨🏼💻
а так что б не гонять по всему объекту рекурсивно, нет рецепта?
Andrew
Чуваки, хелп. Чет не могу придумать решение.
Например, у меня есть объект:
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'
если менять часто придется, то рекурсивно обойти и все уникальные ключи засандалить в плоский объект по ссылке, и уже обращаться к нему по ключу, а значение где надо поменяется. но тут нет и не будет никакой иммутабельности.
👨🏼💻
просто по каждому клику будет гонять. не правильно это
Nikolay
Еще можно разворачивать объект в плоский, ежели ключи гарантированно уникальны.
Andrew
👨🏼💻
так еще и структуру бы сохранить :)
Nikolay
Тебе его потом в какое-то легаси передавать надо?
Winni
Так храни "плоский объект" в отдельной переменной
Nikolay
Сериализуй обратно перед этим.
👨🏼💻
можно канечно делать проще, имена инпутам присваивать не как 'medium', а как 'scanning.priority.medium'
👨🏼💻
Но я не знаю что большая дичь это этого :)
Andrew
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
Придется забоксить все примитивы, да.
Дима
Andrew
Nikolay
Andrew
Anton Saprykin
Ну так чувак сам программист, пусть оптимизирует
Дима
Чуваки, хелп. Чет не могу придумать решение.
Например, у меня есть объект:
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'
У тебя неверен сам подход, это так не работает. «имя конкретной проперти, которая может лежать как угодно глубоко» — это не та сущность, с которой вообще имеет смысл работать
Дима
👨🏼💻
давайте генератором сейчас нафигачу
Дима
Ну а я про что
Andrew
мне кажется проще все же проиндексировать в плоский массив и работать уже с ним. по конечной производительности альтернатив особо не будет.
Дима
Только итерируемая структура может проходиться по любой вложенности
Nikolay
Еще можно составить карту пропертей. Один раз.
Дима
Дима
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?
Дима