- 1
- 2
- 3
- 4
public function isBooted()
{
return true === $this->booted;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
public function isBooted()
{
return true === $this->booted;
}
Дичь
+1
<?php
// bitrix/modules/main/classes/mysql/database.php:: 176
if(!$result)
{
.......
if(!$bIgnoreErrors)
{
.......
if(file_exists($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface/dbquery_error.php"))
include($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface/dbquery_error.php");
elseif(file_exists($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/dbquery_error.php"))
include($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/dbquery_error.php");
else
die("MySQL Query Error!");
die();
}
return false;
}
// bitrix/modules/main/include/dbquery_error.php
<br>
<table>
//верстка html страницы со вставками переменных через <?= ?>
</table>
Исключения? Не, не слышали. Пусть конечный разработчик голову ломает, почему он не может отловить MySQL Query Error [1062] Duplicate entry ......
+1
s=79; cur=[s//2,s//2]; prio=[[0,1],[1,0],[0,-1],[-1,0]]
spiral = [[0 for i in range(0,s)] for l in range(0,s)]
for cor in enumerate([[0,0]]+[prio[c] for c in [int(c) for c in ''.join([str(p%4)*((p+2)//2) for p in range(0,s**2//2)])]][:s**2-1],start=1):
n=cor[0];cur=[cur[0]+cor[1][0],cur[1]+cor[1][1]];spiral[cur[0]][cur[1]]=n
for c in spiral: print(str(('{:>'+str(len(str(s**2))+1)+'}')*len(c)).format(*c))
А теперь попробуй повтори этот шедевр своими трясущимися ручками-веточками на своём С++
+1
// https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/global/qglobal.h?h=v5.13.1#n1017
#if __cplusplus >= 201703L
// Use C++17 if statement with initializer. User's code ends up in a else so
// scoping of different ifs is not broken
#define Q_FOREACH(variable, container) \
for (auto _container_ = QtPrivate::qMakeForeachContainer(container); \
_container_.i != _container_.e; ++_container_.i) \
if (variable = *_container_.i; false) {} else
#else
// Explanation of the control word:
// - it's initialized to 1
// - that means both the inner and outer loops start
// - if there were no breaks, at the end of the inner loop, it's set to 0, which
// causes it to exit (the inner loop is run exactly once)
// - at the end of the outer loop, it's inverted, so it becomes 1 again, allowing
// the outer loop to continue executing
// - if there was a break inside the inner loop, it will exit with control still
// set to 1; in that case, the outer loop will invert it to 0 and will exit too
#define Q_FOREACH(variable, container) \
for (auto _container_ = QtPrivate::qMakeForeachContainer(container); \
_container_.control && _container_.i != _container_.e; \
++_container_.i, _container_.control ^= 1) \
for (variable = *_container_.i; _container_.control; _container_.control = 0)
#endif
А можно ли свой foreach сделать через какую-нибудь шаблонопарашу? Или тут, как обычно, нужна гомоиконность?
+1
IT Оффтоп #97
#67: https://govnokod.ru/27049 https://govnokod.xyz/_27049
#68: https://govnokod.ru/27061 https://govnokod.xyz/_27061
#69: https://govnokod.ru/27071 https://govnokod.xyz/_27071
#70: https://govnokod.ru/27097 https://govnokod.xyz/_27097
#71: https://govnokod.ru/27115 https://govnokod.xyz/_27115
#72: https://govnokod.ru/27120 https://govnokod.xyz/_27120
#73: https://govnokod.ru/27136 https://govnokod.xyz/_27136
#74: https://govnokod.ru/27160 https://govnokod.xyz/_27160
#75: https://govnokod.ru/27166 https://govnokod.xyz/_27166
#76: https://govnokod.ru/27168 https://govnokod.xyz/_27168
#77: https://govnokod.ru/27186 https://govnokod.xyz/_27186
#78: https://govnokod.ru/27219 https://govnokod.xyz/_27219
#79: https://govnokod.ru/27254 https://govnokod.xyz/_27254
#80: https://govnokod.ru/27270 https://govnokod.xyz/_27270
#81: https://govnokod.ru/27280 https://govnokod.xyz/_27280
#82: https://govnokod.ru/27284 https://govnokod.xyz/_27284
#83: https://govnokod.ru/27296 https://govnokod.xyz/_27296
#84: https://govnokod.ru/27336 https://govnokod.xyz/_27336
#85: https://govnokod.ru/27381 https://govnokod.xyz/_27381
#86: https://govnokod.ru/27405 https://govnokod.xyz/_27405
#87: https://govnokod.ru/27429 https://govnokod.xyz/_27429
#88: https://govnokod.ru/27432 https://govnokod.xyz/_27432
#89: https://govnokod.ru/27435 https://govnokod.xyz/_27435
#90: https://govnokod.ru/27439 https://govnokod.xyz/_27439
#91: https://govnokod.ru/27449 https://govnokod.xyz/_27449
#92: https://govnokod.ru/27460 https://govnokod.xyz/_27460
#93: https://govnokod.ru/27463 https://govnokod.xyz/_27463
#94: https://govnokod.ru/27466 https://govnokod.xyz/_27466
#95: https://govnokod.ru/27473 https://govnokod.xyz/_27473
#96: https://govnokod.ru/27478 https://govnokod.xyz/_27478
+1
function main() {
let a = 10;
function f() {
print(a);
}
f();
print("done.");
}
С виду этот простой кодик - это то что не может С и я так долго трахался что бы смочь его проимлементировать.... но я бля сделал
+1
dirty_boostrap_test() ->
SourceTab = ets:new(source, [public, named_table]),
ReplicaTab = ets:new(replica, [public, named_table]),
%% Insert some initial data:
ets:insert(source, {1, 1}),
ets:insert(source, {2, 2}),
ets:insert(source, {3, 3}),
try
register(testcase, self()),
Replica = spawn_link(fun replica/0),
register(replica, Replica),
%% "importer" process emulates mnesia_tm:
spawn_link(fun importer/0),
%% "bootstrapper" process emulates bootstrapper server:
spawn_link(fun bootstrapper/0),
receive
done ->
SrcData = lists:sort(ets:tab2list(source)),
RcvData = lists:sort(ets:tab2list(replica)),
?assertEqual(SrcData, RcvData)
end
after
ets:delete(SourceTab),
ets:delete(ReplicaTab)
end.
importer() ->
Ops = [ {write, 3, 3}
, {write, 4, 4}
, {write, 4, 5}
, {delete, 2}
],
lists:map(fun(OP) ->
import_op(source, OP),
%% Imitate mnesia event (note: here we send it
%% directly to the replica process bypassing
%% the agent):
replica ! {tlog, OP}
end,
Ops),
replica ! last_trans.
replica() ->
receive
{bootstrap, K, V} ->
ets:insert(replica, {K, V}),
replica();
bootstrap_done ->
replay()
end.
replay() ->
receive
{tlog, Op} ->
import_op(replica, Op),
replay();
last_trans ->
testcase ! done
end.
import_op(Tab, {write, K, V}) ->
ets:insert(Tab, {K, V});
import_op(Tab, {delete, K}) ->
ets:delete(Tab, K).
bootstrapper() ->
{Keys, _} = lists:unzip(ets:tab2list(source)),
[replica ! {bootstrap, K, V} || K <- Keys, {_, V} <- ets:lookup(source, K)],
replica ! bootstrap_done.
Follow-up к треду про то, как делать снепшоты.
+1
@echo off
wget https://dl.google.com/android/repository/build-tools_r25.0.3-windows.zip
unzip -j build-tools_r25.0.3-windows.zip android*/lib/dx.jar
rem --- Получаем уробороса ---
dx --dex --output=dx-dexed.jar --min-sdk-version=24 dx.jar
rem +++ Уроборос получен +++
echo class nemyx >nemyx.java
echo { >>nemyx.java
echo public static void main(String[] args) throws java.lang.Exception >>nemyx.java
echo { >>nemyx.java
echo java.io.PrintStream nemyxStream = new java.io.PrintStream(System.out, true, "UTF-8"); >>nemyx.java
echo nemyxStream.printf("%%.2fдар идёт напитон.\n", Math.PI); >>nemyx.java
echo } >>nemyx.java
echo } >>nemyx.java
javac -encoding utf-8 -source 1.7 -target 1.7 nemyx.java
jar cf nemyx.jar nemyx.class
adb push dx-dexed.jar /sdcard/Download/
adb push nemyx.jar /sdcard/Download/
adb shell "cd /sdcard/Download; dalvikvm -cp dx-dexed.jar com.android.dx.command.Main --dex --output nemyx-dexed.jar nemyx.jar"
adb shell dalvikvm -cp /sdcard/Download/nemyx-dexed.jar nemyx
Сон разума рождает чудовища.
+1
insert(Alias, Tab, Val) ->
ok.
delete(_Alias, _Tab, _Key) ->
ok.
add_aliases(_) ->
ok.
remove_aliases(_) ->
ok.
check_definition(_Alias, _Tab, _Nodes, _Properties) ->
ok.
close_table(_Alias, _Tab) ->
ok.
create_table(_Alias, _Tab, _Properties) ->
ok.
delete_table(_Alias, _Tab) ->
ok.
first(_Alias, _Tab) ->
'$end_of_table'.
fixtable(_Alias, _Tab, _Bool) ->
ok.
last(_Alias, _Tab) ->
'$end_of_table'.
index_is_consistent(_Alias, _IxTag, _Bool) ->
ok.
init_backend() ->
ok.
info(_Alias, Tab, memory) ->
0;
info(Alias, Tab, size) ->
0;
info(_Alias, _Info, _Item) ->
nobody_here_but_us_chicken.
lookup(_Alias, _Tab, _Key) ->
[].
is_index_consistent(_Alias, _IxTag) ->
true.
load_table(_Alias, _Tab, _Reason, _CsList) ->
ok.
match_delete(_Alias, _Tab, _Pattern) ->
ok.
next(_Alias, _Tab, _Key) ->
'$end_of_table'.
prev(_Alias, _Tab, _Key) ->
'$end_of_table'.
real_suffixes() ->
[].
repair_continuation(Continuation, _MatchSpec) ->
Continuation.
select(_Continuation) ->
'$end_of_table'.
select(_Alias, _Tab, _Pattern) ->
'$end_of_table'.
select(_Alias, _Tab, _Pattern, _Limit) ->
'$end_of_table'.
semantics(_Alias, storage) -> ram_copies;
semantics(_Alias, types ) -> [set, ordered_set, bag];
semantics(_Alias, index_types) -> [];
semantics(_Alias, _) -> undefined.
slot(_Alias, _Tab, _Pos) ->
'$end_of_table'.
sync_close_table(_Alias, _Tab) ->
ok.
tmp_suffixes() ->
[].
If /dev/null is fast in web scale I will use it. Is it web scale? Does /dev/null support sharding?
+1
#include <iostream>
#include <map>
int main()
{
std::string name;
std::map<int, int> m = { {1, 1}, {2, 2} };
m.erase(m.end());
std::cout << "Kokoko " << m[1] << std::endl;
}
На моем проекте уходит в бесконечный цикл.