- 1
- 2
- 3
Баг в railroad diagram, описывающей strling literal в JS (из книги Крокфорда Javascript: The Good Parts).
https://i.imgur.com/8QFMrIQ.png
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 73
+1
Баг в railroad diagram, описывающей strling literal в JS (из книги Крокфорда Javascript: The Good Parts).
https://i.imgur.com/8QFMrIQ.png
Эквивалентно регулярке
(\"([^\"^\\]|\\([\"\'\\\/bfnrt]|u[\d]{4}))*[^\"^\\]+\"|\'([^\'^\\]|\\([\"\'\\\/bfnrt]|u[\d]{4}))*[^\'^\\]+\')
Ставить [ code ] боюсь, парсер уже починился?
Ну, в общем, видно, что при таком раскладе, как на диаграмме, строковой литерал не может заканчиваться эскейп-последовательностью, что в действительности не так. Классический случай "something\n".
−1
var i, j;
loop1:
for (i = 0; i < 3; i++) { //The first for statement is labeled "loop1"
loop2:
for (j = 0; j < 3; j++) { //The second for statement is labeled "loop2"
if (i === 1 && j === 1) {
continue loop1;
}
console.log('i = ' + i + ', j = ' + j);
}
}
Метки в js. Баян?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label
0
// ==UserScript==
// @name syomaGKignore
// @description x-cross to ban GK users for syoma
// @version 0
// @match http://govnokod.ru/*
// @match http://www.govnokod.ru/*
// @grant none
// ==/UserScript==
window.addEventListener('load', function() {
localStorage.setItem('banned', localStorage.getItem('banned') || JSON.stringify([]));
var banned = JSON.parse(localStorage.getItem('banned'));
for (var i = 0; i < banned.length; i++) {
var hide = document.querySelectorAll('.entry-author a[href$="/' + banned[i] + '"]');
for (var j = 0; j < hide.length; j++) {
hide[j].parentNode.parentNode.parentNode.style.display = 'none';
}
}
var count = document.querySelector('.enrty-comments-count');
count.style.cursor = 'pointer';
count.addEventListener('click', function() {
localStorage.setItem('banned', JSON.stringify([]));
location.reload();
});
var votes = document.querySelectorAll('.comment-vote');
for (var i = 0; i < votes.length; i++) {
var cross = document.createElement('div');
cross.innerHTML = '☓';
cross.style.display = 'inline-block';
cross.style.color = 'black';
cross.style.marginLeft = '10px';
cross.style.cursor = 'pointer';
cross.addEventListener('click', function() {
var id = this.parentNode.querySelector('.entry-author a').href.replace(/^.*\//, '');
var banned = JSON.parse(localStorage.getItem('banned'));
if (banned.indexOf(id) < 0)
banned.push(id);
localStorage.setItem('banned', JSON.stringify(banned));
location.reload();
});
votes[i].parentNode.insertBefore(cross, votes[i]);
}
});
Крестик для Сёмы на чистейшем JS, без $ и сложных евентов на аяксы. Работает только на страницах конкретных постов (другие и не нужны, с бормандстока кликнул по ссылке — попал куда надо), и только после полной загрузки страницы. Разбанить всех — это клик по цифре с общим количеством комментариев под постом, рядом со ссылкой на RSS.
0
Признавайтесь
http://bash.im/quote/448842
Недавно насрал туда анекдотом http://bash.im/quote/448781, зашёл покармадрочить, смотрю -- в стоке гк.
0
Прошёл по рекламной ссылке на дурацкий гуглосервис.
Оценивает отзывчивость сайтов.
https://testmysite.withgoogle.com
vk.com по результатам теста грузится 7 секунд и теряет на этом 26% клиентов.
govnokod.ru грузится меньше, чем за три секунды, и никого не теряет.
(при этом на скрине предательски маячит поехавшая из-за длинных ссылок верстка)
Для чего нужны такие тесты?
0
https://imgur.com/a/UoyMX
Планирую вести себя как прикрелейтед, какие подводные?
Давайте обсудим в ИТТ треде git, работу с ним, почему каждый раз всё превращается в пикрелейтед и как этого избежать.
А лоу-левелщики, кстати юзают? Есть вообще тенденция, что веб-макаки используют сабж чаще крестобогов, или наоборот?
Отдельно предлагаю обсудить алгоритм, по которому gitk рисует историю коммитов. Никак не могу придумать, что ж там за алгоритм, коммити не отсортированы жестко по даже, а если слишком долго в какой-то ветке нет коммитов, то она прерывается стрелочкой, а потом продолжается выше, но трудно сказать, по каким правилам. Причем схожие утилиты рисуют историю по-разному. В код ещё не смотрел.
З.Ы. Капча 2k16
0
Alg Root;
arg x, y;
Root = getRoot(x, y, 1);
end;
Sub getRoot;
arg x, y, r;
if Power(r, x) < y then
getRoot = getRoot(x, y, r + 1);
else
if Power(r, x) = y then
getRoot = r;
else
getRoot = r - 1;
end;
end;
end;
Sub Power;
arg x, y;
if 0 < y then
Power = x * Power(x, y - 1);
else
Power = 1;
end;
end;
Написал напитоне простой интерпретатор функционального языка из учебника по теоретическим основам информатики, давайте обсудим
https://hastebin.com/ocadegapuv.py
сам учебник, в котором описывается язык и семантика (глава про функциональные программы)
http://www.ict.edu.ru/ft/003627/lect1.pdf
В оп-коде пример программы, которую ему можно скормить
(вычисляет целую часть корня степени x из числа y).
Подскажите, для начала, как распознать и развернуть в цикл хвостовую рекурсию.
И если кто напитоне работает, этот код вообще котируется, или есть явное палево?
+7
Полиглот и квайн на брейнфаке, питоне и ещё куче языков размером в 0 байт.
+1
from lxml import html
import urllib
import time
import os
last = ""
img_path = "/tmp/avatar.png"
while True:
try:
tree = html.parse(urllib.urlopen("http://govnokod.ru/comments"))
date = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/a')[0].get('name')
if date != last:
last = date
image = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/img')[0].get('src')
name = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/strong/a')[0].text_content()
comment = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/div')[0].text_content()
avatar = urllib.urlretrieve(image, img_path)
os.system('notify-send -i {} \'{}\' \'{}\''.format(img_path, name, comment.encode('utf-8')))
time.sleep(10)
except Exception:
time.sleep(10)
0
if ("any string" == 0) {
echo 'php govno';
} else {
echo 'php ne govno';
}
Баян, как с вложенным тернарным оператором?