@JSlang

Страница 1108 из 2237
Andrey
20.07.2017
12:23:24
Где есть типажи, интерфейсы не нужны.
Это представление функции как метода в котлине?

Даниил
20.07.2017
12:23:59
функции-конструкторы + методы только для реализации специфичного для типа поведения + функции для реализации всей generic логики + композиция, каррирование и прочие прелести и всё прекрасно

Google
Andrey
20.07.2017
12:25:17
Кстати, в ts они есть?

Даниил
20.07.2017
12:25:52
не, TS не настолько жирная абстракция над JS, чтоб такие фичи вводить

Andrey
20.07.2017
12:27:30
Ну и зря. Тогда бы код был бы читаемым после тебя. И абстракций меньше бы тащить надо было.

Даниил
20.07.2017
12:27:49
Вот если в Js будет extension методы, то ты сам на них сбежишь.
а чем оно в реализации JS может принципиально отличаться от расширения прототипа?

Сергей
20.07.2017
12:28:01
Это представление функции как метода в котлине?
нет Это раст, наделение структуры функциональностью

Анатолий
20.07.2017
12:28:41
Andrey
20.07.2017
12:28:43
а чем оно в реализации JS может принципиально отличаться от расширения прототипа?
В том, что это другая запись твоей любимой функциональность. И рамбда бы никакая не понадобилась.

Сергей
20.07.2017
12:28:53
Даниил
20.07.2017
12:29:08
Andrey
20.07.2017
12:29:58
Мозг не варит.

В Js нет прототипа, который реализует reduce?

Google
Сергей
20.07.2017
12:41:22
Даниил
20.07.2017
12:47:29
В Js нет прототипа, который реализует reduce?
есть, я не о том я говорю, что map, filter, take, ... не нужно реализовывать специально для типа, когда для него реализован reduce (ну или [Sumbol.iterator]) все эти функции можно реализовать один раз, и внутри уже они будут использовать reduce так будет проще создавать свои кастомные коллекции - реализуешь только reduce, всё остальное получаешь бесплатно

Даниил
20.07.2017
12:49:54
ну трансдьюсеры это круто, но если тут даже композицию в штыки встречают...

Work
20.07.2017
12:50:12


#вакансия #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

Даниил
20.07.2017
12:52:01
трансдьюсеры они ж вообще как и любые фп-абстракции нужны для композиции потому что на императивных циклах композиция не работает, на map, filter, ... - не эффективна (несколько проходов по коллекции получается) а с трансдьюсерами можно комбинировать трансформации над коллекциями (и генераторами, стримами и т. д. - над всем что реализует reduce) без лишних проходов

Анатолий
20.07.2017
12:53:14
И это всё пишут люди, которые в про.жс.нубс уверяют новичков, что теория не нужно, надо сразу брать и делать по готовым примерам)

Oleg
20.07.2017
12:53:22
Вот, придумали себе правила, получили проблемы, решают проблемы, которые не существуют в алгоритмах со стейтами

Даниил
20.07.2017
12:55:08
F# + WebSharper для компиляции его в JS?
я на шарпах не пишу, у меня с дотнетом как-то исторически не сложилось или чистый JS, или TS (хотя в последнее время моя к нему любовь ослабла), или ClojureScript

Dmitry
20.07.2017
12:56:33
F# - к шарпам (который C# все называют) имеет 0 отношение, это скорее OCaml/Haskell на .NET (с возможностью перевода в JS)

Даниил
20.07.2017
12:56:56
Вот, придумали себе правила, получили проблемы, решают проблемы, которые не существуют в алгоритмах со стейтами
эмм вот есть у тебя императивный цикл, с мутабельностью и т. д. вот нужно тебе его переиспользовать с какой-то дополнительной логикой ты либо делаешь два прохода по коллекции, либо пишешь всё заново с функциональным подходом ты просто берёшь трансдьюсеры и юзаешь композицию

Dmitry
20.07.2017
12:56:59
»TS (хотя в последнее время моя к нему любовь ослабла) А почему, если несложно?

Даниил
20.07.2017
12:58:12
F# - к шарпам (который C# все называют) имеет 0 отношение, это скорее OCaml/Haskell на .NET (с возможностью перевода в JS)
ну я под шарпами имел ввиду скорее вообще экосистему дотнета я примерно представляю себе как выглядит F#, но только со стороны

»TS (хотя в последнее время моя к нему любовь ослабла) А почему, если несложно?
ну, есть хорошие статически типизированные языки есть хорошие динамически типизированные языки а есть не очень продуманный динамический JS на который натянули статическую типизацию статическая типизация это круто, но в случае TS она и отбрасывает некоторые преимущества динамической, и не является таким же мощным инструментом, как статическая типизация в том же Rust например я просто сейчас свой pet-проект переписываю с TS на чистый JS и без использования классов, наследования, с минимальным использованием методов и т. д., в общем динамика и функциональщина во все поля (получается похоже на то как пишут на кложе), и пока получается короче, чище и понятнее

Hryhorii
20.07.2017
13:07:44
#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
20.07.2017
13:08:54
Так все же Gregory или Hryhorii, а Гриш?

Hryhorii
20.07.2017
13:10:41
different transliteration

Evjeni
20.07.2017
13:38:36
Почаны, а как так вышло что нативный map слоупочней лодашевского map'па https://jsperf.com/native-map-vs-lodash-map

Google
Evjeni
20.07.2017
13:39:20
объясните эту магию

Sergey
20.07.2017
13:41:39
Konstantin
20.07.2017
14:22:07
Чуваки, хелп. Чет не могу придумать решение. Например, у меня есть объект: 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'

Сергей
20.07.2017
14:23:53
Рекурсивно обойти

Konstantin
20.07.2017
14:24:57
Рекурсивно обойти
в лодаше есть findKey ---> он вернет имя родительского объекта. Но это только на 1 уровень

Winni
20.07.2017
14:25:56
если не нашел, то опять find key пока детей не останется

Konstantin
20.07.2017
14:26:18
это я как раз понял :)

а так что б не гонять по всему объекту рекурсивно, нет рецепта?

Konstantin
20.07.2017
14:27:01
просто по каждому клику будет гонять. не правильно это

Nikolay
20.07.2017
14:27:09
Еще можно разворачивать объект в плоский, ежели ключи гарантированно уникальны.

Andrew
20.07.2017
14:27:21
просто по каждому клику будет гонять. не правильно это
читай выше мой пост. :) 1 раз прогнал и профит

Konstantin
20.07.2017
14:27:40
так еще и структуру бы сохранить :)

Nikolay
20.07.2017
14:28:04
Тебе его потом в какое-то легаси передавать надо?

Andrew
20.07.2017
14:28:07
так еще и структуру бы сохранить :)
у тебя будет 2 объекта, изначальный и плоский, а свойства будут одновременно в обоих, т.к. по ссылке

Winni
20.07.2017
14:28:09
Так храни "плоский объект" в отдельной переменной

Nikolay
20.07.2017
14:28:13
Сериализуй обратно перед этим.

Konstantin
20.07.2017
14:28:26
можно канечно делать проще, имена инпутам присваивать не как 'medium', а как 'scanning.priority.medium'

Но я не знаю что большая дичь это этого :)

Google
Winni
20.07.2017
14:29:03
Вот как всегда, гениальное решение проблеммы засрали устранив саму проблемму

Konstantin
20.07.2017
14:29:15
эдак можно на пол-страницы имя забацать :)
не, глубже имя не будет. И скорее всего вообще меняться не будет

Andrew
20.07.2017
14:30:14
один нюанс, если флэтить будешь - значение по ключу должно быть объектом :)

Anton Saprykin
20.07.2017
14:30:58
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)

Admin
ERROR: S client not available

Nikolay
20.07.2017
14:31:00
Придется забоксить все примитивы, да.

Дмитрий
20.07.2017
14:31:13
Anton Saprykin
20.07.2017
14:32:33
Ну так чувак сам программист, пусть оптимизирует

Winni
20.07.2017
14:33:55
Предлагаю бан за расширение прототипа массива
Предлагаю чтобы за расширение прототипа любого встроенного объекта банили.

Дмитрий
20.07.2017
14:34:11
Konstantin
20.07.2017
14:34:37
давайте генератором сейчас нафигачу

Дмитрий
20.07.2017
14:34:50
Ну а я про что

Andrew
20.07.2017
14:35:22
мне кажется проще все же проиндексировать в плоский массив и работать уже с ним. по конечной производительности альтернатив особо не будет.

Дмитрий
20.07.2017
14:35:24
Только итерируемая структура может проходиться по любой вложенности

Nikolay
20.07.2017
14:35:46
Еще можно составить карту пропертей. Один раз.

Google
Maksim
20.07.2017
14:37:02
Да тут сама постановка задачи неверна)
согласен, в чем бизнес смысл такой задачи?

Дмитрий
20.07.2017
14:37:04
это JavaScript, тут жизнь = боль :)
В моём жс всё нормально)

Artyom
20.07.2017
14:48:14
Чистые функции могут использовать moment.js?

Он же тоже на чистых ф-ях? ?

Или как бы.... Что-то не понятно)

По идее нет

Но...

Котяй Негодяй
20.07.2017
14:57:15
Да уж. На чистых. Moment может быть чистым только если каждый раз юзать clone(). Но может.

Sviat
20.07.2017
15:09:28
народ, как объявить "зеркальную" переменную? Например есть значение obj.cld1.cld2.cld3.text, нужно объявить переменную, которая бы сокращала эту запись до text так чтобы если ты меняешь переменную text менялось значение obj.cld1.cld2.cld3.text и наоборот

Valerii
20.07.2017
15:10:24
Привет всем. Кто нибудь отправлял куки на REST API с помощью XMLHttpRequest.withCredentials ? Вроде все сделал как надо, XMLHttpRequest.withCredentials = true, на сервере включил заголовки "Access-Control-Allow-Credentials:true", "Access-Control-Allow-Origin: тут домен с которого стучусь" куки сервера на фронте вижу, но на сервере не вижу кук клиента. Что упустил?

Sviat
20.07.2017
15:15:41
Max
20.07.2017
15:41:47
Кто то работал с datamaps?

Artyom
20.07.2017
15:44:51
observable
НИЧОСЕ! Ты говорил прокси медленные, а observe?

Дмитрий
20.07.2017
15:45:17

Страница 1108 из 2237