RSS Записей | RSS Комментариев
Ядоблог - Stay upwind

Faded

апреля 5, 2016 | Нет комментариев

Генерация golang структур по содержимому mongodb

марта 30, 2016 | Нет комментариев

Наткнулся на замечательную библиотечку https://github.com/facebookgo/mongoschema
Генерирует по содержимому коллекции golang структуры, сразу с bson тегами, чтобы использовать с mgo

Лёгкий пример, с плоскими данными:

◼ ▶ $GOPATH/bin/mongoschema -url=localhost -db=test -collection=users -struct=User -package=main
package main

type User struct {
	Google      string        `bson:"google,omitempty"`
	ID          bson.ObjectId `bson:"_id,omitempty"`
	Email       string        `bson:"email,omitempty"`
	DisplayName string        `bson:"displayName,omitempty"`
	Picture     string        `bson:"picture,omitempty"`
}

Для данных с разной структурой будет выдана невалидная структура, в которой нужно самостоятельно выбрать проблемные участки. Работает только с флагом -raw

Читать полностью »

Never Be Alone

марта 8, 2016 | Нет комментариев

Wolves Without Teeth

января 28, 2016 | Нет комментариев

2015

декабря 31, 2015 | 1 Комментарий. Закомментить!!!

Открыли ещё одну приятную страну для жизни (Вьетнам).
Побывали на Пхукете, в Нячанге и пару раз в Шерегеше.

Уволился, отдыхал месяца 4, проходил интервью в зарубежные компании, практиковался в программировании. До июня планирую найти удалённую команду.

Читать полностью »

a way through snow

ноября 10, 2015 | Нет комментариев

Книга. От срочного к важному

сентября 26, 2015 | Нет комментариев

 

 

Сильная книга.

В целом, обычная жизнь — это решение проблем. Действия для сохранения привычного существования и предотвращения ухудшения. Работа — дом — сон.

Это грустно и печально. С годами приходит осознание, что бежишь на одном месте, без цели, удовольствия, перспектив.

Но есть что-то, не являющееся обязательным. Что-то, чего от Вас не ждут и не требуют. Никто ничего и не скажет, если этого не будет. Речь об успехе.

Книга показывает разницу между решением проблем и путём к успеху. Заставляет провести переоценку ценностей. Подвергнуть сомнению  свою жизнь и достижения.

От срочного к важному

Конвертация рубль-доллар без процентов и свопов

сентября 24, 2015 | Нет комментариев


Новая фишка от Альфа-Форекс.

  1. Быть клиентом Альфабанк
  2. Зарегистрироваться в Альфа-форекс
  3. Перевести доллары(рубли) в Альфа-форекс, используя клиент-банк «альфа-клик» (без процентов)
  4. Создать заявку на конвертацию средств (выдаётся текущий биржевой курс, действующий 10 секунд)
  5. Вывести средства на Альфабанк (без процентов)

Выгода: получилось на 22 копейки выгоднее, чем по курсу лучшего банка.

Конвертация

 

 

Курсы

Forex IAD

Пхукет 2015

сентября 20, 2015 | 4 Комментариев Откомментить в дискуссии

Наступивший конец лета не оставил равнодушными, ведь цены на путёвки существенно падают, а пляжи пусты от туристов, восстановивших нервы и готовых к новому рывку к высотам в офисах.

Майтон

Читать полностью »

LoopBack Framework, настройка ACL

мая 17, 2015 | Нет комментариев

Отличный фреймворк, но настраивать ACL в нём просто АДЪ(если не знать хитрость)

Единственный разумный способ сделать это занятие приятным — запуск специального DEBUG режима.

1. Для запуска проекта из текущей директории в режиме отладки ACL нужно сделать:

DEBUG=loopback:security:* node .

2. Выполните REST запрос, который пытаетесь задебажить. Допустим, нас интересует

Request URL:http://eventovka.dev/api/BaseUsers/55575aa2f2e0436f0defcdc8/events
Request Method:POST

3. Ответом(в консоле браузера) должно быть что-то вида:

Status Code:401 Unauthorized
 
{"error":{"name":"Error","status":401,"message":"Authorization Required","statusCode":401,"code":"AUTHORIZATION_REQUIRED","stack":"Error: Authorization Required\n    at /srv/eventovka/api/node_modules/loopback/lib/application.js:348:21\n    at /srv/eventovka/api/node_modules/loopback/lib/model.js:313:7\n    at /srv/eventovka/api/node_modules/loopback/common/models/acl.js:465:23\n    at /srv/eventovka/api/node_modules/loopback/node_modules/async/lib/async.js:254:17\n    at done (/srv/eventovka/api/node_modules/loopback/node_modules/async/lib/async.js:135:19)\n    at /srv/eventovka/api/node_modules/loopback/node_modules/async/lib/async.js:32:16\n    at /srv/eventovka/api/node_modules/loopback/node_modules/async/lib/async.js:251:21\n    at /srv/eventovka/api/node_modules/loopback/node_modules/async/lib/async.js:575:34\n    at /srv/eventovka/api/node_modules/loopback/common/models/acl.js:447:17\n    at /srv/eventovka/api/node_modules/loopback/common/models/role.js:290:23"}}

4. В логе сервер должно быть что-то вида:

  loopback:security:acl The following ACLs were searched:  +1ms
  loopback:security:acl ---ACL--- +1ms
  loopback:security:acl model BaseUser +0ms
  loopback:security:acl property * +0ms
  loopback:security:acl principalType ROLE +1ms
  loopback:security:acl principalId $everyone +0ms
  loopback:security:acl accessType * +0ms
  loopback:security:acl permission DENY +0ms
  loopback:security:acl with score: +0ms 7495
  loopback:security:acl ---ACL--- +0ms
  loopback:security:acl model BaseUser +0ms
  loopback:security:acl property * +3ms
  loopback:security:acl principalType ROLE +0ms
  loopback:security:acl principalId $everyone +0ms
  loopback:security:acl accessType * +1ms
  loopback:security:acl permission DENY +0ms
  loopback:security:acl with score: +0ms 7495
  loopback:security:acl ---Resolved--- +1ms
  loopback:security:access-context ---AccessRequest--- +0ms
  loopback:security:access-context  model BaseUser +0ms
  loopback:security:access-context  property __create__events +1ms
  loopback:security:access-context  accessType WRITE +0ms
  loopback:security:access-context  permission DENY +0ms
  loopback:security:access-context  isWildcard() false +0ms
  loopback:security:access-context  isAllowed() false +0ms

6. Нас интересует, вызванная модель и её атрибут(метод). В логе они фигугируют как model и property.

Таким образом нам нужно настроить

model: BaseUser
property: __create__events

7. Добавляем необходимое ACL условие в json конфиг модели:

    {
      "principalType": "ROLE",
      "principalId": "$authenticated",
      "permission": "ALLOW",
      "property": "__create__events"
    }

Результат должен выглядеть примерно так(нижнее условие):
e5057a5b8f36cc0ae9a0d85be7559fdf

© 2010 Ядоблог. Все права защишены.
Powered by Лаборатория Яда. Написать администратору