'static
.use std::cell::RefCell;
use std::rc::Rc;
#[derive(Default, Clone, Debug)]
struct NodeInner {
name: String,
source: String,
path: String,
leaf: bool,
children: Vec<Node>,
}
#[derive(Default, Clone, Debug)]
struct Node(Rc<RefCell<NodeInner>>);
impl Node {
fn fast(name: impl Into<String>, source: impl Into<String>) -> Self {
Self(Rc::new(RefCell::new(NodeInner {
name: name.into(),
source: source.into(),
path: String::new(),
leaf: true,
children: Vec::new(),
})))
}
fn insert(&self, node: Node) {
let mut current = self.clone();
for part in node.0.borrow().source.split(".") {
let inner = node.0.borrow();
let found = inner.children.iter().find(|&v| v.0.borrow().path == part);
match found {
None => {
let tmp = Node::fast(String::new(), String::new());
current.0.borrow_mut().children.push(tmp.clone());
current = tmp;
}
Some(val) => current = val.clone(),
}
}
}
}
fn main() {
let mut root = Node::default();
root.insert(Node::fast("First", "e"));
root.insert(Node::fast("First", "e.sources"));
root.insert(Node::fast("First", "e.sources.two"));
root.insert(Node::fast("First", "e.secret"));
root.insert(Node::fast("First", "e.secret.left"));
root.insert(Node::fast("First", "e.secret.right"));
print!("{:#?}", root);
}
... AND (column = {parameter} OR {parameter} IS NULL) ..
... AND (column = {parameter} OR FALSE) ..
==> ... AND (column = {parameter}) ..
... AND (column = {parameter} OR TRUE) ..
==> ... AND (TRUE) ..
.SQL = "SELECT * FROM USERS WHERE 1=1 {} LIMIT %s OFFSET %s"
AND {условие}
этот монолит очень тяжело поддерживать, обновлять код и дебажит.
application
- sales
- hiring
- userprofiles
class MyModel(Model):
class Meta:
using = 'default' # дефолтная база из DATABASES из settings.py
data: {
pk: 11,
img: formData,
},
var formData = new FormData();
// добавляем в объект FormData файл
formData.append('img', file.prop('files')[0]);
formData.append('pk', 11);
$.ajax({
url: "http://127.0.0.1:8000/api/v2/update-ava/11/",
data: formData,
...
(1/e, f(1/e))
, это критическая точка. Критическая точкой называется точки где функция либо не дифференцируема, либо производная функции равна нулю. y = x^x, ее производная будет x^x*(ln(x) + 1).
далее приравниваем производную к нулю x^x*(ln(x) + 1) = 0 и решаем для x.
Решением данного уравнения будет 1/e
Подставляем 1/e в исходное функцию и получаем это вы уже нашли округленно 0.692. (1/e,0.692) - Критическая точка. А в критических точках функция меняет свое направление, то есть если до этого шла на убавление проходя через критическую точку она пойдет на возрастание и наоборот. Выходит, что до 1/e функция убывает, а после - возрастает. Откуда берется такая связь?