Идея крутая! С нетерпением жду, когда бизнес начнет внедрять. Например, часто заказываю еду и надоело уже диктовать свой номер и адрес (хотя CRM вроде есть, раз номер квартиры уже сами подтверждают), а так пишет боту типа «гавайскую на ленина», а он тебе «Подтвердите заказ: 1xПиццаГавайская на адрес ул. Ленина, 1, кв. 100 (домофон не работает). Сумма заказа: 500 рублей. Время доставки: 1 час», а ты ему «Ок», а если еще и карту привязать…
Надеюсь только на то, что они не будут злоупотреблять моей открытостью боту и слать спам.
Собственно, так сделано в Bitcoin — деньги из ниоткуда на счету не появляются, баланс конкретного кошелька это лишь функция над всей историей транзакций.
На Scala: github.com/klpx/tinyrenderer/tree/step-2
Из интересного — тесты на отрисовку треугольников, а также сам алгоритм отрисовки: я нахожу фундамент (ребро, проекция которого соответствует проекции всего треугольника) и крышу треугольника, а затем рисую линии, ограниченные функциями фундамента и крыши. Выглядит примерно так:
def separateXBaseAndAngle(p1: Point, p2: Point, p3: Point): (Line, (Line, Line)) = {
val px = Array(p1, p2, p3)
val baseP1 = px.minBy(_.x)
val notP1Points = px.filter(_ ne baseP1)
val baseP2 = notP1Points.maxBy(_.x)
val angleP = notP1Points.filter(_ ne baseP2)(0)
(Line(baseP1, baseP2), (Line(baseP1, angleP), Line(angleP, baseP2)))
}
def drawTriangleNormal(p1: Point, p2: Point, p3: Point) {
val (base, (roof1, roof2)) = separateXBaseAndAngle(p1, p2, p3)
for (x <- base.p1.x to base.p2.x) {
val baseY = base getYByX x
val roof = (if (x <= roof1.p2.x) roof1 else roof2)
if (roof.p1.x == roof.p2.x) {
g.drawLine(x, roof.p1.y, x, roof.p2.y)
} else {
val roofY = roof getYByX x
g.drawLine(x, baseY, x, roofY)
}
}
}
Честно говоря, не уловил смысл статьи. Да есть какие-то всем понятные проблемы и пожелания. О чем говорит эта статья? О том, что есть всем понятные проблемы и пожелания?
Не говоря уж о том, что некоторые пункты неактуальны (safe_mode, бд) или спорны («безопасность»).
Интересно, почему нельзя было сразу сделать GET-форму поиска? К чему было использовать POST (мы же ничего не отправляем на сервер) с костылем для перевода на GET?
Надеюсь только на то, что они не будут злоупотреблять моей открытостью боту и слать спам.
Из интересного — тесты на отрисовку треугольников, а также сам алгоритм отрисовки: я нахожу фундамент (ребро, проекция которого соответствует проекции всего треугольника) и крышу треугольника, а затем рисую линии, ограниченные функциями фундамента и крыши. Выглядит примерно так:
Не говоря уж о том, что некоторые пункты неактуальны (safe_mode, бд) или спорны («безопасность»).