Alexander
А ещё есть ipv6...
только не в россии. тут вроде как мало кто из провайдеров шестерку дает
Alexander
и мне кажется вряд-ли провайдеры массово перейдут на шестерку, пока всё оборудование не станет принудительно на шестерке. уж очень выгодно не давать шестерку, продавая четверку
Anton
Заебешься с асинхронностью на джаве. Локать треды и тд
Там всё удобно очень удобно теперь, благодаря либам типа kotlin-coroutines или quasar. Проблема в том, что легаси либы, которых очень много под асинк вообще на заточены и только так локают треды. Но если новый проект делать, то збс
Anton
Привет, в одном из чатов недавно был задан вопрос: “чем nodejs лучше Java?” Я привёл следующий аргумент: «Java - много запросов = много потоков Nodejs - много запросов = один поток» На что получил возражение: «— кто же мешает делать пулинг ._.» После чего возник ряд вопросов: 1) Пулинг всмысле пулинг потоков ? Для чего ? Каждый поток ведь - дополнительная оперативная память (ну и плюс переключение контекстов) 2) А разве не смысл node.js в том что асинхронное программирование на нём проще ? Чем делать пулы, заниматься thread менеджментом и т.д. ? Помогите пожалуйста разобраться с этими вопросами?
это разные инструменты просто с различными подходами и экосистемами. Где-то их задачи пересекаются где-то нет. сравнивать без контекста конкретной задачи смысла нет. Экосистема JVM просто гигантская, есть решения даже вдохновленные нодой, где все через эвент луп и просто писать асинхронщину - vertx, например.
Дима
В jvm и без этого решения были
Дима
Там же кложура и скала, ё
Anton
Это все в Java или в jvm based языках?
большинство, скажем так, монстров асинка и многопоточности - quasar, akka, vertx - мультиязычны. Можно использовать с жабой.
Anton
Просто нет особого смысла использовать жабу, когда есть котлин, скала, кложа
Николаич
А кто-то юзает apidoc для документирования API?
Vladimir
Я юзаю и все ребята на работе
Vladimir
незаменимая штука
Dmitrii
кто где держит логику по валидации, проверки прав, в типичном rest api express/koa?
Vadim
господа, прошу совета. я экспортирую несколько переменных через свойства объекта, но получаю undefined в модуле-реципиенте: var consumerKey = 'ышоваыв'; var consumerSecret = 'оуцао'; var token = 'ываыва'; var secret = 'блабла'; module.exports.auth = { consumerKey, consumerSecret, token, secret }
Vadim
var auth = require('oauth/index.js'); console.log(auth.consumerKey) // undefined
🦜
auth.auth.consumerKey
🦜
а лучше просто module.exports = {...}
Vadim
а лучше просто module.exports = {...}
TypeError: Cannot read property 'consumerKey' of undefined
Vadim
допустим, пускай пока auth.auth.consumerKey
Vadim
мне кажется, проблема может быть в том, что я использую auth.auth.consumerKey в классе. но вроде this ничем не помогло
Vadim
var auth = require('oauth/index.js'); class Someclass { start(){ console.log(auth.auth.consumerKey) } } var Someclass = new Someclass(); Someclass.start(); // undefined
Vadim
ох, эта невнимательность ночная... извиняюсь, я просто указал не то имя директории в пути
🦜
Пожалуйста
Дмитрий
господа, помогите) юзаю nodejs + mongoosejs модель выглядит так: var shop_schema = mongoose.Schema({ from: String, name: String, location: { type: { type: String }, coordinates: [] } }); shop_schema.index({ "location": "2dsphere" }); var shop_model = mongoose.model('shops', shop_schema); есть геопоиск, выглядит так: await shop_model.find( { location: { $nearSphere: [ opr_lat, opr_lon ], $maxDistance: 51 } }, function (err, docs) { if (err) { return err } return result } ); так вот...почему-то находит все объекты, а по замыслу должен находить только в радиусе 51 метра
Дмитрий
что я делаю не так ?
Vadim
что я делаю не так ?
схема не соответсвует запросу, не?
Дмитрий
а что именно?
Vadim
в схеме у location поля type и coordinates. а у вас в запросе на этом месте какие-то переменные, причем с несоответсвующим типом данных
Дмитрий
т.к. мне надо поправить запрос следующим образом: location :{ coordinates: { $nearSphere: [ opr_lat, opr_lon ], $maxDistance: 51 } } , правильно я понимаю?)
Vadim
т.к. мне надо поправить запрос следующим образом: location :{ coordinates: { $nearSphere: [ opr_lat, opr_lon ], $maxDistance: 51 } } , правильно я понимаю?)
стоп, это у вас там статическая типизация, то есть на typescript или там структура "ключ-значение"?)
Дмитрий
структура ключ-значение
Vadim
location:{ type: {"хз что тут у вас"} coordinates: $nearSphere } так выглядит более логично
Anonymous
@goffmananderving , это 2dsphere index. https://docs.mongodb.com/manual/core/2dsphere/
Vadim
впрочем, нет, откуда строка в {}, я не то несу
Anonymous
чуть выше описано как указать в метрах (самому не доводилось пользоваться этими индексами, но похоже что это то что ты ищешь)
Дмитрий
то есть, мне нужно вместо метров указывать в запросе радианы ?
Anonymous
то есть, мне нужно вместо метров указывать в запросе радианы ?
явно указывать в $nearSphere свойства $geometry и $maxDistance
Vadim
то есть, мне нужно вместо метров указывать в запросе радианы ?
вот ещё: // we need to convert the distance to radians // the raduis of Earth is approximately 6371 kilometers maxDistance /= 6371; http://blog.robertonodi.me/how-to-use-geospatial-indexing-in-mongodb-using-express-and-mongoose/
Дмитрий
явно указывать в $nearSphere свойства $geometry и $maxDistance
т.е. что-то вроде $nearSphere: { $geometry: { type: "Point", coordinates: [opr_lat, opr_lon] }, $maxDistance: maxDistance
Дмитрий
?
Anonymous
Похоже на то. Только скобку закрой)
Дмитрий
вот чёрт, в статье ещё пишут, что lon должна идти раньше
Anonymous
В доке тоже пишут. Документация у mongodb лучше статей. Эти ребята постарались
Дмитрий
кхм....
Дмитрий
{ location: { $nearSphere: { $geometry: { type: "Point", coordinates: [ opr_lon, opr_lat] }, $maxDistance: 51 } } }
Дмитрий
такая конструкция тоже не помогла
Дмитрий
{ location: { $nearSphere: { $geometry: { type: "Point", coordinates: [ opr_lon, opr_lat] }, $maxDistance: 51 } } }
забыл тут деление на радиус земли, но тоже без разницы)
Дмитрий
к сожалению, статья не подошла тоже
Дмитрий
спасибо за попытку помощи! :)
Anonymous
проверь в терминале. Моя точка в коллекции: db.locations.insert({location : { type: "Point", coordinates: [ -73.97, 40.77 ] }}) На этот запрос ничего не вернуло: db.locations.find({location: { $nearSphere: { $geometry: {coordinates: [-73.98, 40.77], type: 'Point'}, $maxDistance: 1 } }}) На этот запрос вернуло точку как и должно: db.locations.find({location: { $nearSphere: { $geometry: {coordinates: [-73.98, 40.77], type: 'Point'}, $maxDistance: 1000 } }}) Если сможешь в терминале достать точки — ищи проблему в mongoose. Если не найдешь — разбирайся с query и данными которые ты положил в коллекцию
ikasymov
_id в Mongodb уникален на всю базу или только внутри коллекции?
Егор
На всю
ikasymov
На всю
unique index ensures that the indexed fields do not store duplicate values; i.e. enforces uniqueness for the indexed fields. By default, MongoDB creates a unique index on the _id field during the creation of a collection.
ikasymov
оказывается нет
Егор
Воу
Егор
Будет что в понедельник рассказать
Yar
только внутри коллекций
ikasymov
а что вы используете для создание тестовых данных при запуске тестов в express БД mongodb ?
ikasymov
ну какие используете?
ikasymov
я сейчас вручную пишу
ikasymov
который создает данные и дропит базу в конце
Dmitrii
faker.js
Anonymous
Приветствую. Не могли бы помочь? Express + Handlebars + MySQL. В базе есть две записи, но когда я вывожу их на веб страницу, то получаю одну. Прошелся методом map, все равно одна. А в консоли выдает обе
Anonymous
Таймураз
Ты рендеришь только одну
Таймураз
Рес.рендер(каталог, rows)
Таймураз
Без rows.map
Anonymous
row это в функции map чтобы пройтись
Таймураз
Я знаю, что такое .map
Anonymous
перебор
Anonymous
Сейчас вообще пропало
Anonymous
Как понимаю, в hbs нужно цикл {{#each rows}}?
Таймураз
Да
Таймураз
Рендер только единожды вызывается
Anonymous