- 1
wrapOnException(() -> file.writeTo(env.getFiler()));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
wrapOnException(() -> file.writeTo(env.getFiler()));
https://www.youtube.com/watch?v=nCkpzqqog4k
+3
do {
$entries = $xpath->query("//div[@class='identity']/img");
if(isset($entries[0])) break;
$entries = $xpath->query("//h1[@class='avatared']/a/img");
if(isset($entries[0])) break;
$entries = $xpath->query("//div[@class='avatared']/a/img");
if(isset($entries[0])) break;
$entries = $xpath->query("//div[@itemtype='http://schema.org/Person']/a/img");
} while(false);
if(!isset($entries[0])) continue;
$src = $entries[0]->getAttribute('src');
if(!preg_match('#[/=]([0-9a-f]{32})[\?&]#', $src, $matches)) continue;
$hash = $matches[1];
// спустя несколько строк
do {
$entries = $xpath->query("//div[@class='email']/script");
if(isset($entries[0])) break;
$entries = $xpath->query("//dl/dd[@class='email']/script");
} while(false);
if(isset($entries[0])) {
$rawcode = $entries[0]->textContent;
if(!preg_match("#eval\(decodeURIComponent\('(.*)'\)\)#", $rawcode, $matches)) continue;
$rawcode2 = urldecode($matches[1]);
if(!preg_match('#href=\\\\?"mailto:([^"\\\\]*)\\\\?"#', $rawcode2, $matches)) continue;
$email = $matches[1];
unset($entries);
} else do {
$entries = $xpath->query("//div[@class='avatared']/div[@class='details']/dl/dd/a[@data-email]");
if(isset($entries[0])) break;
$entries = $xpath->query("//ul[@class='vcard-details']/li[@class='vcard-detail']/a[@data-email]");
} while(false);
if(isset($entries[0])) {
$email = urldecode($entries[0]->getAttribute('data-email'));
}
Прототип программы, вытягивающей хэш аватарки и е-мейл из архивной копии профиля в «Гитхабе».
0
С Днём Победы!
rJlaBHblu_nemyx
0
template<typename T>
struct method_traits;
template<typename T, typename RetT, typename... Args>
struct method_traits<RetT(T::*)(Args...)> {
using this_type = T;
using ret_type = RetT;
template<size_t ArgIdx>
using arg_type = typename std::tuple_element<ArgIdx, std::tuple<Args...>>::type;
static constexpr size_t args_count = sizeof...(Args);
static constexpr bool is_const = false;
static constexpr bool is_lvalue = false;
static constexpr bool is_rvalue = false;
};
template<typename T, typename RetT, typename... Args>
struct method_traits<RetT(T::*)(Args...) const> : public method_traits<RetT(T::*)(Args...)> {
static constexpr bool is_const = true;
};
template<typename T, typename RetT, typename... Args>
struct method_traits<RetT(T::*)(Args...) &> : public method_traits<RetT(T::*)(Args...)> {
static constexpr bool is_lvalue = true;
};
template<typename T, typename RetT, typename... Args>
struct method_traits<RetT(T::*)(Args...) &&> : public method_traits<RetT(T::*)(Args...)> {
static constexpr bool is_rvalue = true;
};
template<typename T, typename RetT, typename... Args>
struct method_traits<RetT(T::*)(Args...) const &> : public method_traits<RetT(T::*)(Args...)> {
static constexpr bool is_const = true;
static constexpr bool is_lvalue = true;
};
template<typename T, typename RetT, typename... Args>
struct method_traits<RetT(T::*)(Args...) const &&> : public method_traits<RetT(T::*)(Args...)> {
static constexpr bool is_const = true;
static constexpr bool is_rvalue = true;
};
А вдруг в новом стандарте ещё модификаторов в тип завезут? Страшня стало...
+1
# PowerShell
switch ($true)
{
($firstNumber -gt $secondNumber) {Write-Output ("{0} > {1}" -F $firstNumber, $secondNumber)}
($firstNumber -eq $secondNumber) {Write-Output ("{0} == {1}" -F $firstNumber, $secondNumber)}
($firstNumber -lt $secondNumber) {Write-Output ("{0} < {1}" -F $firstNumber, $secondNumber)}
}
Интересный такой свитч-кейс (https://stackoverflow.com/questions/57063932/powershell-overriding-assignment-and-comparison-operators)
0
$(".reg_button").on("click", function(){
console.log("hello world jquery");
$(".main").css("display", "none");
$(".register-main").css("display", "block");
$(`input[type="text"]`).css("width", "14vw");
$(`input[type="password"]`).css("width", "14vw");
$(`input[type="email"]`).css("width", "14vw");
// Обработка нажатия на кнопку регистрации
});
const recovery = {
login: "",
email: "",
}
const regExp = {
login: /^[a-z0-9_-]{5,20}$/,
pass: /^[A-Za-z0-9_-]{6,16}$/,
email: /^[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[A-Z]{2,4}$/i,
}
const state = {
reg: {
login: "",
pass: "",
email: "",
agreement: ""
},
auth: {
login: "",
pass: "",
agreement: false
}
}
$(".back").on("click", function() {
$(".register-main").css("display", "none");
$(".main").css("display", "flex");
$(`input[type="text"]`).css("width", "21.5vw");
$(`input[type="password"]`).css("width", "21.5vw");
// Обработка нажатия на кнопку "Назад"
});
$(".auth_forgotPassword").on("click", function() {
console.log("Система восстановления пароля в разработке.")
/* $(".main").css("display", "none");
$(".recovery").css("display", "block");
$(".recovery-step-one").css("display", "block");
$(`input[type="text"]`).css("width", "14vw");
$(`input[type="password"]`).css("width", "14vw"); */
})
$(".recovery-back").on("click", function() {
$(".recovery").css("display", "none");
$(".recovery-step-one").css("display", "none");
$(".main").css("display", "flex"); // кнопка назад, в восстановления пароля.
$(`input[type="text"]`).css("width", "21.5vw");
$(`input[type="password"]`).css("width", "21.5vw");
})
$(".recovery-back2").on("click", function() {
$(".recovery-step-two").css("display", "none");
$(".recovery").css("display", "block");
$(".recovery-step-one").css("display", "block"); // кнопка назад, в восстановления пароля.
$(`input[type="text"]`).css("width", "14vw");
$(`input[type="password"]`).css("width", "14vw");
})
// $(".recovery-button").on("click", function() {
/*recovery.login = $(".step_login").val()
recovery.email = $(".step_email").val()
alt.emit("click:recovery")
if(recovery.login == "" || recovery.email == "" )
{
console.log("Необходимые поля пустые!")
}
else {
alt.on("recovery-step-two", (args) => {
if(args == true) {
$(".recovery-step-one").css("display", "none");
$(".recovery-step-two").css("display", "block");
}
else {
console.log("Введены неверные данные или аккаунта с такой почтой не существует.")
}
})
}
*/
// })
$(".recovery_button2").on("click", function() {
$(".recovery-step-two").css("display", "none");
$(".recovery-step-three").css("display", "block");
})
$('.button-wrap').on("click", function(){
$(this).toggleClass('button-active');
if ($(this).hasClass('button-active')) {
localStorage.checkbox = 1
} else {
localStorage.checkbox = 0
}
console.log(localStorage.checkbox)
});
$(".confirm-back2").on("click", () => {
$(".authentication").css("display", "none");
Логика работы меню авторизации :)
Собственно первая моя верстка была, как и использование jquery)
0
var object = {a: 123, b:"abc"};
var newObject = ko.observableProps(object);
newObject.a(345);
newObject.b("def");
newObject.a(); => 345
newObject.b(); => "def"
Ко-ко-ко-ко-ко-обсервабле
−1
void setAreaPreScale(double scale)
{
if(scale == 1)
setFrameSize(initialFrameSize.first, initialFrameSize.second);
else
{
double widthPart = (1 - initialFrameSize.first) * (1 - scale);
double heightPart = (1 - initialFrameSize.second) * (1 - scale);
setFrameSize(initialFrameSize.first + widthPart, initialFrameSize.second + heightPart);
}
}
требуется сделать отложенное масштабирование картинки, сначала рисуется (и скейлится методом setAreaPreScale) рамка с областью, в которую будет замасштабировано, затем отдельной кнопкой будет масштабироваться. в методе происходит рассчёт размера в пикселях рамки прескейла по параметру scale (отношение будущего масштаба к текущему). initialFrameSize на самом деле maxFrameSize, но авторский код сохранён
−1
Falcon Space - это платформа для создания веб-решений с управлением через SQL.
Все создается и управляется на SQL.
Телеграм бот управляется полностью 1 хранимой процедурой на SQL!
https://falcon.web-automation.ru/docs/telegram-boty-i-otpravka-soobshcheniy-v-telegram
0
var адрес = localStorage.getItem("пуск");
if (!адрес)
{
адрес = "https://bitbucket.org/gitjs/0000/raw/master/0000.js";
}
var gitjs = {};
gitjs.uuid = function()
{
// https://stackoverflow.com/a/2117523
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(
/[xy]/g,
function(c)
{
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
}
);
};
function запуститьGitJSЛокально(пуск)
{
eval(пуск);
запуститьGitJS();
}
function запуститьGitJSПоСети(адрес)
{
function загрузилиПуск(пуск)
{
localStorage.setItem("0000", пуск);
eval(пуск);
запуститьGitJS();
}
function неУдалосьЗагрузитьПуск(ошибка)
{
var сообщение = `ОШИБКА ⚬ 错误 ⚬ ERROR: '${ошибка}'`
console.error(сообщение);
document.body.append(сообщение);
}
var запрос = new XMLHttpRequest();
запрос.onreadystatechange = function()
{
if (this.readyState == 4)
{
if (this.status == 200)
{
загрузилиПуск(this.responseText);
}
else
{
неУдалосьЗагрузитьПуск(this.status);
}
}
}
запрос.open("GET", адрес + "?" + gitjs.uuid());
запрос.send();
console.debug("Загрузка пускового скрипта по сети Loading startup script over network");
console.debug(адрес);
}
function версияАктуальна(содержимое)
{
var ожидаемаяВерсия = "1.2.1";
var перваяСтрока = содержимое.split(/\n/)[0];
var ч = перваяСтрока.split(/"/);
return ч.length == 5 && ч[0] == "gitjs[" && ч[1] == "ijlj" && ч[3] == ожидаемаяВерсия;
}
var пуск = localStorage.getItem("0000");
if (пуск && версияАктуальна(пуск))
{
запуститьGitJSЛокально(пуск);
}
else
{
запуститьGitJSПоСети(адрес);
}
афтар: https://gitlab.com/gitjs/gitjs.gitlab.io/-/blob/master/index.html