- 1
- 2
- 3
- 4
- 5
uint8_t* head = (uint8_t*) Buffer::Data(buffer);
uint8_t* tail = head + Buffer::Length(buffer) - 1;
// xor swap, just because I can
while (head < tail) *head ^= *tail, *tail ^= *head, *head ^= *tail, ++head, --tail;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+14
uint8_t* head = (uint8_t*) Buffer::Data(buffer);
uint8_t* tail = head + Buffer::Length(buffer) - 1;
// xor swap, just because I can
while (head < tail) *head ^= *tail, *tail ^= *head, *head ^= *tail, ++head, --tail;
https://github.com/bnoordhuis/node-buffertools/blob/master/buffertools.cc#L157
−165
delete
from liaison
where
type = 'UsersGroup' and
`group` = 'static_' || (select id from usergroup where name = :grp)
Час назад вынес этим запросом все связи между группами и юзерами в боевой базе ;)
P.S. Почему в mysql все дерьмо, работающее совсем не так, как оно работает почти во всех остальных СУБД, включено по умолчанию?
+150
function deleteDublicateItems(){
$q = '
select COUNT(*), id, vk_id
from `items`
group by `vk_id`
having COUNT(*) > 1';
$sql = mysql_query($q);
if (mysql_num_rows($sql)){
while($row = mysql_fetch_assoc($sql)){
$sql2 = mysql_query('select * from `items` where `vk_id` = "'.$row['vk_id'].'" and `id` != "'.$row['id'].'"');
if (mysql_num_rows($sql2)) {
while($row2 = mysql_fetch_assoc($sql2)) {
$sql3 = mysql_query('select * from `images` where `item_id` = "'.$row2['id'].'"');
if (mysql_num_rows($sql3)) {
while ($row3 = mysql_fetch_assoc($sql3)) {
@unlink( ROOT . DS . 'uploads' . DS . 'images' . DS . $row3['name'] . '.' . $row3['ext']);
mysql_query('delete from `images` where `id` = "'.$row3['id'].'"');
}
}
mysql_query('delete from `items` where `id` = "'.$row2['id'].'"');
}
}
}
}
}
удаление дубликатов
+147
<cbimport_import_check_checkimport>
надо вдуматся что бы понять
нода из конфигурации модуля под маженто
−85
def self.process(site, object = nil, &block)
dont_unblock = false
block_res = true
site.lock!
if site.assets_blocked?
dont_unblock = true
raise Asset::BlockedException
end
site.assets_blocked = true
site.save!
block_res = yield if block_given?
return false unless block_res
return object.save if object
true
ensure
site.update_attribute(:assets_blocked, false) unless dont_unblock
end
# во всех местах, где с ассетами делалось хоть что-нибудь, копипастился такой кусок:
result =
begin
@asset = @site.assets.new
@asset.process do
@asset.attached = params[:file]
@asset.folder_path = params[:path]
end
rescue Asset::BlockedException
render json: { errors: [I18n.t("layout.assets.errors.assets_blocked")] } and return
end
По мотивам http://govnokod.ru/13027: транзакции изобретены не нами, давайте сделаем их сами!
−89
def set_path
if name && (!path || path == "/")
self.path = self.parent.present? ? "#{self.parent.path}/#{name}" : "/#{name}"
elsif !new_record? && name && path && name_was != name
parts = path.split("/")
parts.pop
self.path = [parts.join("/"), name].join("/")
elsif !new_record? && name && self.parent_id_changed?
self.path = self.parent.present? ? "#{self.parent.path}/#{name}" : "/#{name}"
elsif new_record? && name && path
self.path = [path, name].join("/")
end
if path && self.parent.blank?
parts = path.split("/")
self.name = parts.pop
parent_path = parts.join("/")
if parent_path.blank? || parent_path == "/"
self.parent = nil
else
possible_parent = site.asset_folders.find_by_path(parent_path)
self.parent = possible_parent.present? ? possible_parent : self.class.create(path: parent_path, site: site)
end
end
true
end
Как не нужно работать с путями в Rails-приложении. Это и еще примерно 500 строк было заменено на 11 строк кода, включая пустые.
+154
<script type="text/javascript">
// <![CDATA[
function update() {
document.calculate.totalsales.value = parseFloat(document.calculate.shoessingle.value) * parseFloat(document.calculate.socktoshoe.value) * parseFloat(document.calculate.singlepair.value);
}
// ]]>
</script>
<script type="text/javascript">
// <![CDATA[
function amargin() {
document.calculate.avgmarg.value = parseFloat(document.calculate.singlepair.value) /2;
}
// ]]>
</script>
<script type="text/javascript">
// <![CDATA[
function gmargin() {
document.calculate.grossmargin.value = parseFloat(document.calculate.totalsales.value) /2;
}
// ]]>
</script>
отакота...
+78
public class Lab6 {
final static int N1=15;
final static int m=2;
final static int N2=7;
final static int Z1=0;
final static int Z2=0;
public static void main(String[] args)
{
/*
JFrame in= new JFrame("Получение пакетов");
in.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
in.setSize(1000,600);
in.setLocationRelativeTo(null);
in.setLayout(new FlowLayout());
JLabel l1= new JLabel("Очередь свободных кадров");
JLabel l2= new JLabel("Очередь информационных пакетов");
JLabel l3= new JLabel("Очередь принятых пакетов");
JTextArea t1= new JTextArea(10,50);
JTextArea t2= new JTextArea(10,50);
JTextArea t3= new JTextArea(10,50);
t1.setEditable(false);
in.add (l1);
in.add(t1);
in.add (l2);
in.add(t2);
in.add (l3);
in.add(t3);
in.setVisible(true);
Peredacha p= new Peredacha();
Pack pack_free[] = new Pack[16];
for (int j = 0; j < 16; j++ )
pack_free[j] = new Pack();
Ocher ocher1= new Ocher();
ocher1.adr1=1;
ocher1.adrp=N1;
ocher1.vs=N1;
pack_free[1].ystanovkaperv(1);
pack_free[N1].ystanovka(14,0,1);
for(int i=2; i<N1; i++)
{
pack_free[i].ystanovkasred(i,1);
}
short n=m;
for(int i=1; i<N2+1; i++)
{
n++;
pack_free[i].ystanovkainf(n);
}
pack_free[1].ystanovkaperv(2);
pack_free[N2].ystanovka(6,0,2);
for(int i=2; i<N2; i++)
{
pack_free[i].ystanovkasred(i,2);
}
pack_free[N2+1].ystanovkaperv(1);
for (int i=0;i<5;i++)
{
pack_free[i].podgotovka(p);
}
pack_free[1].ystanovka(0,2,3);
pack_free[2].ystanovka(1,8,1);
pack_free[3].ystanovka(0,4,3);
pack_free[4].ystanovka(3,0,3);
pack_free[5].ystanovka(0, 6, 2);
pack_free[1].vivod(3, pack_free);
pack_free[1].vivod(2, pack_free);
pack_free[1].vivod(1, pack_free);
pack_free[8].ystanovka(2, 0, 1);
pack_free[1].ystanovka(15,2,1);
System.out.println("Регистр передачи на сетевой уровень");
pack_free[2].vivod(4,pack_free);
*/
System.out.println("Очередь Оповт:");
System.out.println("Кадр | Заголовок | Информационная часть");
System.out.println("A(1) | 00110100 = 44 | 0101 = 5");
System.out.println("A(2) | 01000100 = 34 | 0110 = 6");
System.out.println("A(3) | 01010100 = 42 | 0111 = 7");
System.out.println("A(4) | 01100100 = 38 | 1000 = 8");
System.out.println();
System.out.println("Регистр REG23 (информационная часть): 1010 = 10");
System.out.println("Кадр в Оповт до переноса в Oсвоб:");
System.out.println(" пред. 0");
System.out.println(" след. 2");
System.out.println(" заголовок кадра 00110100 = 44");
System.out.println(" информация 0101 = 5");
System.out.println();
System.out.println("Очередь Оповт после переноса кадра в конец Освоб: A(2) A(4) 3");
System.out.println("Кадр | Заголовок | Информационная часть");
System.out.println("A(2) | 01000100 = 34 | 0110 = 6");
System.out.println("A(3) | 01010100 = 42 | 0111 = 7");
System.out.println("A(4) | 01100100 = 38 | 1000 = 8");
}
лабораторные работы по курсу "Системы и Сети Связи" в лучшем техническом ВУЗе страны
+160
if(emailUser==null || emailUser=="" || emailUser.equals("") || emailUser.equals("null") || emailUser.equals("NULL"))
emailUser = "";
+84
uses crt;
type point=record{точки}
x,y:real;
end;
okr=record{окружности}
x,y,r:real;
end;
const nmax=20;
function Peres(a,b:point;c:okr):boolean;{пересекаются или нет}
var s,ab,h:real;
begin
s:=abs(a.x*(b.y-c.y)+b.x*(c.y-a.y)+c.x*(a.y-b.y));{удвоенная площадь треугольника
вершины которого центр окружности и 2 точки}
ab:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y));{сторона, противоположная центру окружности}
h:=s/ab;{высота на нее=расстояние от центра до прямой}
Peres:=h<c.r;{если лно меньше радиуса, пересекаются}
end;
var a:array[1..nmax] of point;
b:array[1..nmax] of okr;
n,m,i,j,k,p,mx,imx,jmx:integer;
begin
clrscr;
randomize;
repeat
write('Количество точек до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество окружностей до ',nmax,' m=');
readln(m);
until m in [1..nmax];
for i:=1 to n do
begin
a[i].x:=-10+random*21;
a[i].y:=-10+random*21;
end;
for i:=1 to m do
begin
b[i].x:=-5+11*random;
b[i].y:=-5+11*random;
b[i].r:=5*random;
end;
writeln('Координаты точек:');
write('X:');
for i:=1 to n do
write(a[i].x:6:2);
writeln;
write('Y:');
for i:=1 to n do
write(a[i].y:6:2);
writeln;
writeln;
writeln('Параметры окружностей:');
write('X:');
for i:=1 to m do
write(b[i].x:6:2);
writeln;
write('Y:');
for i:=1 to m do
write(b[i].y:6:2);
writeln;
write('R:');
for i:=1 to m do
write(b[i].r:6:2);
writeln;
writeln;
mx:=0;
imx:=0;
jmx:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
k:=0;
for p:=1 to m do
if Peres(a[i],a[j],b[p]) then k:=k+1;
if k>mx then
begin
mx:=k;
imx:=i;
jmx:=j;
end;
end;
if mx=0 then write('Нет пересекающихся прямых и окружностей')
else
begin
writeln('Максимальное число пересечений прямой с окружностями=',mx);
write('Эта прямая проходит через точки (',a[imx].x:0:2,';',a[imx].y:0:2,') и (',a[jmx].x:0:2,';',a[jmx].y:0:2,')');
end;
readln
end.
Рекурсивная функций с циклами тройной вложенности