
KlonD90
26.08.2016
15:08:43
а так гораздо проще всегда возвращать промис т.к. никогда не знаешь когда функция должна стать асинхронной

Dreamerinnoise
26.08.2016
16:26:22
По json schema можете подсказать?
```
{
"languages": ['en', 'ch'],
"file": {
"en": "file1",
"ch": "file2"
}
}
```
Нужно, чтобы при добавлении другого свойства в file возвращалась ошибка валидации.
Ну то есть, если такого проперти нет в language возвращать ошибку. Так можно сделать?

Vitaly
26.08.2016
16:37:09
Npm: joi ну или ручками

Google

Дмитрий
26.08.2016
16:37:59
По json schema можете подсказать?
```
{
"languages": ['en', 'ch'],
"file": {
"en": "file1",
"ch": "file2"
}
}
```
Нужно, чтобы при добавлении другого свойства в file возвращалась ошибка валидации.
Мне эта либа понравилась больше, чем joi
https://atinux.github.io/schema-inspector/
Апи библиотеки разделяется на предварительную трансформацию и валидацию, твой объект file валидируется кодом
{
type: "object",
strict: true,
properties: {
en: { type: "string"},
ch: { type: "string" }
}
}
Но я предлагаю даже лучше вариант - если вставить его в sanitize, то в объекте просто изначально не останется лишних свойств

Dreamerinnoise
26.08.2016
16:40:57
Но languages может бы ь больше чем два. Я думал, что это можно самой json схемой описать

Дмитрий
26.08.2016
16:42:52
Ну так вот же, описание в json схеме, по ней трансформация или валидация делаются в одну строчку.
Нужно больше - перечисли больше)
Если совсем много перечислять, то там же предусмотрены "энумы"

Vitaly
26.08.2016
16:42:56

Dreamerinnoise
26.08.2016
16:45:55
Спасибо

Дмитрий
26.08.2016
16:50:09
Но languages может бы ь больше чем два. Я думал, что это можно самой json схемой описать
{
type: "object",
properties: {
languages: {
type: "array",
items: {
type:"string",
eq: ["en", "ru"]
}
}
}
}
Валидирует объект
{
languages: ["en","ru"]
} // ok
{
languages: ["en","ru","cn"]
} // Validation error:
// Property @.languages[2]: must be equal to ["en" or "ru"], but is equal to "cn"
Можно даже такое в него слать
{
languages: "en,ru" //строка через запятую тоже работает
}
// result
{
languages: ["en","ru"]
}

Никита
27.08.2016
09:55:37
@ZeroBias, в продолжении вчерашнего срача про телеграм — я чуть-чуть вот там нафлудил: https://habrahabr.ru/company/eset/blog/308640/
(в комментариях)
Туда влезло чуть больше, чем сюда.

KlonD90
27.08.2016
10:06:31
это опять же не атака на телеграм а атака на сопутсвующие сервисы. Есть ли способы валиднее SMS? Есть, но они усложняют регистрацию в продукте.

Никита
27.08.2016
10:14:10

KlonD90
27.08.2016
10:14:26
sorry

Google

hamper ?
27.08.2016
10:14:37
Опять телегу хейтите? ))

KlonD90
27.08.2016
10:15:13
У Сковороды дуализм мнений :о хейтит и любит одновременно

Дмитрий
27.08.2016
10:16:13
Ага))

マイク
27.08.2016
10:16:35
И да, есть второй фактор

Дмитрий
27.08.2016
10:16:55
Если бы в телеграме был акцент на secret chat, то ей бы толком никто и не пользовался, в первую очередь это удобный мессенджер, отсюда и марккетинг такой, что уж тут поделать
Telegram messages are heavily encrypted and can self-destruct.
Вот кстати нигде и не врут, хоть не идеально, но heavily же?

hamper ?
27.08.2016
10:17:41
И ботов под него удобно писать

KlonD90
27.08.2016
10:18:26
Ну блин тут опять же нужно понимать атака идет на социальные каналы(это гораздо проще чем перехватить и смс и сработает с большинством населенеия) и технические это уже нужно иметь связи или социально атаковать оператора. Причем от социальной атаки защищает только лишь знание или паранойное недоверие ко всем.
На самом деле не трудное дело подкупить чувака из какой-нибудь провинции и подменить твою симку
Но сейчас почти все завязано на SMS валидацию так что не только о сообщениях надо будет позаботиться но и о банковском счете и о почте. Нужно искать какую-то альтернативу но не приводящую к ужасу стояние в недельной очереди за уникальным идентификатором который тебе под кожу вживляют.

Дмитрий
27.08.2016
10:23:50
Вот кстати чип под кожей это вполне вариант ? Ну, если сильно давит шапочка из фольги

Данила
27.08.2016
10:26:18
сообществу новы не хватает канала #da_budet_srach

KlonD90
27.08.2016
10:28:24
deadlock -> новый супергерой DC ._.

Дмитрий
27.08.2016
10:30:10
Немного отвлечённый пример - Cubase 6+ никто не смог взломать как ни пытался, потому что для защиты/авторизации он использует железный ключ, для его реверса нужно на много порядков больше усилий, чем обычно, вот если делать что-то непробиваемое для соц атаки, то только такого рода)

Vladimir
27.08.2016
10:31:24
эппловский ключ для расшифровки приложений под ios - тоже

Данила
27.08.2016
10:31:36
у cubase 5 тоже был usb-stick
однако ж H2O слепили драйвер эмулирующий его

Vladimir
27.08.2016
10:32:02
но для cubase это звучит как оверкил

Данила
27.08.2016
10:32:21
хз. он дорогой очень

Google

Vladimir
27.08.2016
10:32:56
только logic pro

Дмитрий
27.08.2016
10:33:04
у cubase 5 тоже был usb-stick
Ну вот команда h2o потратила на его взлом что-то вроде миллиона человекочасов, и поэтому этот релиз вышел с их комментарием "это какой то трындец, мы так больше не сможем, мы расформировываемся, до свидания"
Другой железный ключ муз по - iLok2 взломали только в том году, и то потому что проектировщики косякнули где-то, вроде бы

Данила
27.08.2016
10:34:20
ну я к тому что не смогли не потому что не могли, а потому что надоело

Дмитрий
27.08.2016
10:34:43
Ну миллион часов на взлом же, понятное дело)

KlonD90
27.08.2016
10:37:30
у них просто не было нормального кватового компьютера

Дмитрий
27.08.2016
10:38:41

Vladimir
27.08.2016
10:39:07
ну я говорю вообще для софта
а logic pro стоит всего 200 баксов

Дмитрий
27.08.2016
10:42:16
ну я говорю вообще для софта
Это они по привычке с давних времен) Не могут перестроиться и привыкнуть к новым ценам на софт.
Nuendo, считай клон куба, стоит ещё дороже, она и ProTools это такой музыкальный кровавый энтерпрайз, в котором испокон веков каждый девайс стоил как крыло от боинга

Данила
27.08.2016
10:43:11
кубик и сам по себе где-то 650 баксов стоит

Дмитрий
27.08.2016
10:47:20
Коммерсанты от бога
Думаю, кто первый напишет полноценную DAW на js, упокоив всех этих динозавров энтерпрайза, сорвёт большой куш)

Vladimir
27.08.2016
10:53:27
зачем? 200 баксов - нормальная цена

Данила
27.08.2016
10:55:06
bitwig studio. у них там UI вроде на JS. под капотом Rhino
знакомый чел писал плагины для control surfaces к этой штуке и сильно плевался с того JS

Дмитрий
27.08.2016
10:57:44
У reaper плагины на js, но эту программу явно стоило назвать rapist)
Просто я думаю фича именно в онлайне, когда ничего не надо ставить, когда открываешь браузер - и у тебя всё готово, а вендор в свою очередь избавляется от проблем с кряками и обновлениями

Google

Данила
27.08.2016
10:59:33
отзывчивость UI у такой софтины будет стремиться к нулю. к сожалению

Дмитрий
27.08.2016
11:01:34
Почему? Это считай тот же твой bitwig будет, если решить вопрос с ASIO
А учитывая, какие инструменты появились во фронте с момента начала разработки любых секвенсоров, думаю ещё и быстрее)

Данила
27.08.2016
11:04:43
да хз. как доводится пользоваться приложением на nwjs или electron так ощущение будто я снова сижу за ЭЛТ моником с селероном в системнике. не осуждаю, просто так получается. хотя должен признать VSCode довольно хорош

Dreamerinnoise
27.08.2016
11:07:43
вацап бтв тоже

Дмитрий
27.08.2016
11:08:51

Никита
27.08.2016
11:10:38

Admin
ERROR: S client not available

Никита
27.08.2016
11:10:58
По скорости разницы не вижу особо

Данила
27.08.2016
11:18:08
но ведь не так давно жила была borland C++ builder. не такая уж и старая IDE. нормальный авто-комплит, кое-что для рефакторинга, редактор UI. на убогом железе летало. а тут редактор как редактор, а жрет ресурсов сверх всякой меры. DAW если делать, там UI заковыристый достаточно и мне кажется те движки для десктопных приложений на JS что есть сейчас просто не справятся. или будут требовать топовый пека для работы.

Denis
27.08.2016
11:19:07
потому что в Borland делали классные вещи - это раз, и нативно - это два :)

Данила
27.08.2016
11:19:29
очевидно же

Дмитрий
27.08.2016
11:26:04

Данила
27.08.2016
11:27:37
надеемся на лучшее и ждём.

Никита
27.08.2016
12:15:30
что-то я сомневаюсь в том, что ситуация улучшится

Vladimir
27.08.2016
12:24:13
я думаю это ленивый gc

Denis
27.08.2016
12:28:14
Друзья, у кого ещё есть тема для доклада на React Moscow Meetup в конце сентября? Заполните форму:
+ https://denisizmaylov.typeform.com/to/NHNCiM и давайте обсудим!

Vladimir
27.08.2016
12:29:17

Andrey
27.08.2016
12:30:43
flow?
Если тема будет про автоматическую генерацию типов и отказ от propTypes то вполне интересно)

Google

Никита
27.08.2016
12:40:10

Denis
27.08.2016
12:41:51

Vladimir
27.08.2016
12:48:14

Данила
27.08.2016
13:22:43

Aleksej
27.08.2016
13:30:24
о, я смотрю вы тут битвиг обсуждаете
я битвиг разработчиков долбил на тему Rhino
сказали, мигрируются на Nashorn
а там уже как минимум ES5
и UI у них слава богу не на JS
иначе бы никто не купил бы их продукт

Vladimir
27.08.2016
13:40:28
Как там nashorn поживает? Es6, все дела, будут?

Aleksej
27.08.2016
13:40:35
да
там все не так плохо

Vladimir
27.08.2016
13:40:45
Я думал он умер)

Aleksej
27.08.2016
13:40:59
ну он чуть менее умер чем rhino

Vladimir
27.08.2016
13:41:35
А, ну то есть примерно как я думал

Дмитрий
27.08.2016
13:41:44

Aleksej
27.08.2016
13:41:59
я кстати говоря для rhino писал кастомные полифиллы
смог даже бабелом после этого что-то мутить