- 1
https://www.bellingcat.com/resources/how-tos/2019/02/14/creating-your-own-citizen-database/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://www.bellingcat.com/resources/how-tos/2019/02/14/creating-your-own-citizen-database/
Новые веяния - код в виде скриншотов, сырцы скачать нельзя.
0
Офигеть, sql-дамп говнокода весит всего 240Мб.
Может переписать на "C++" и держать все индексы в памяти?
А на фронте будет только обращение к JSON API. И можно хоть мобильное приложение делать на "Electron.js".
Клиент будет подписан на интересующие его события, например на сток и на ответы на его коменты.
Никто не хочет заняться по фану?
0
Как вы думаете, чем отличаются эти два параметра в Django?
use_tls: EMAIL_USE_TLS
use_ssl: EMAIL_USE_SSL
ответ в комменте
EMAIL_USE_TLS
Whether to use a TLS (secure) connection when talking to the SMTP server
EMAIL_USE_SSL
Whether to use an implicit TLS (secure) connection when talking to the SMTP server
+1
https://i.imgur.com/7uRLULs.mp4
Аппаратная нейросеть в мозгах петуха совершила ошибку классификации.
−2
Кому тут надо вертуху крутануть чтобы добавили больше языков?
Нынче не 2000й год. Народ уже во всю ебашит на котлинах, скалах (не путать с горными образованиями), го всяких там, расте, эрланге, форте и прочей поеботе.
В конце то концов, сколько можно ждать? Одмен, пидр, запили языки!!11!
0
Просто оффтоп #2
#1: http://govnokod.xyz/_20162 https://govnokod.ru/20162
0
IT Оффтоп #10
#1: http://govnokod.ru/18142 http://govnokod.xyz/_18142
#2: http://govnokod.ru/18378 http://govnokod.xyz/_18378
#3: http://govnokod.ru/19667 http://govnokod.xyz/_19667
#4: http://govnokod.ru/21160 http://govnokod.xyz/_21160
#5: http://govnokod.ru/21772 http://govnokod.xyz/_21772
#6: http://govnokod.ru/24063 http://govnokod.xyz/_24063
#7: http://govnokod.ru/24538 http://govnokod.xyz/_24538
#8: http://govnokod.ru/24815 (потёр пидор сракер) http://govnokod.xyz/_24815
#9: http://govnokod.ru/24867 http://govnokod.xyz/_24867
0
fn do_get_summary(req: &HttpRequest<AppState>) -> SummaryFuture {
let token = req.token().expect("ISE: token not verified during AuthMiddleware stage");
let datetime = req.match_info()
.get("timestamp")
.and_then(|s| i64::from_str(s).ok())
.map(|ts| NaiveDateTime::from_timestamp(ts, 0));
let datetime = match datetime {
Some(dt) => dt,
None => return Box::new(future::result(Err(ServiceError::InvalidSetting {
key: "timestamp".into(),
hint: "local time in seconds since Unix Epoch".into()
}.into())))
};
let db = req.state().db.clone();
let settings = req.state().db
.send(db::GetSettings(token.clone()))
.map_err(failure::Error::from)
// flatten error
.and_then(|res| match res {
Ok(settings) => Ok(settings),
Err(err) => Err(err)
});
let fitbit = req.state().db
.send(db::GetSettingsFitbit(token))
.map_err(failure::Error::from)
// Check if there is token and flatten error
.and_then(|res| match res {
Ok(fitbit) => {
if fitbit.client_token.is_none() {
Err(ServiceError::TokenExpired.into())
} else {
Ok(fitbit)
}
},
Err(err) => Err(err)
});
let headmaster = req.state().headmaster.clone();
let summary_and_token = settings.join(fitbit)
.and_then(move |(settings, fitbit)| -> Box<dyn Future<Item = (Summary, FitbitToken), Error = failure::Error>> {
// Deserialize token
let token = fitbit.client_token.expect("ISE: token option is not cleared");
let fitbit_token = match FitbitToken::from_json(&token) {
Ok(token) => token,
Err(err) => return Box::new(future::err(ServiceError::TokenExpired.into()))
};
let headmaster_config = master::HeadmasterConfig {
minimum_active_time: settings.hourly_activity_goal,
max_accounted_active_minutes: settings.hourly_activity_limit.unwrap_or(settings.hourly_activity_goal * 3),
debt_limit: settings.hourly_debt_limit.unwrap_or(settings.hourly_activity_goal * 3),
day_begins_at: settings.day_starts_at,
day_ends_at: settings.day_ends_at,
day_length: settings.day_length.unwrap_or((settings.day_ends_at.hour() - settings.day_starts_at.hour()) as i32),
user_date_time: datetime,
};
let auth_data = FitbitAuthData {
id: fitbit.client_id,
secret: fitbit.client_secret,
token: fitbit_token,
};
let future = headmaster.send(master::GetSummary::<FitbitActivityGrabber>::new(headmaster_config, auth_data))
.map_err(failure::Error::from)
// flatten error
.and_then(|res| res);
Box::new(future)
});
let summary = summary_and_token
.and_then(move |(summary, fitbit_token)| {
db.send(db::UpdateSettingsFitbit::new(
token, db::models::UpdateFitbitCredentials {
client_token: Some(Some(fitbit_token.to_json())),
..Default::default()
}))
.map_err(failure::Error::from)
.and_then(|_| Ok(summary))
});
Box::new(summary)
}
Фьючи в Rust до рефакторинга -- тот еще говнокод
0
https://github.com/NixOS/nixpkgs/blob/1137200d6b7fcf8fc401b54e8292f24f09bfc11d/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch#L56
Давайте сломаем билд-систему своими говнопатчами и назовём пакет "rebar3", а не "rebar3-zver-edition". Пусть народ поебётся, пытаясь свой код собрать!
−1
А давайте ругать Фрейда
https://imgur.com/a/hH4QLKd
https://imgur.com/a/07wciaX