- 1
- 2
В "PHP" одинарные кавычки быстрее, чем двойные.
https://habr.com/ru/company/alfa/blog/447416/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
В "PHP" одинарные кавычки быстрее, чем двойные.
https://habr.com/ru/company/alfa/blog/447416/
Какой анскилл )))
+1
function preventSelection(element){
var preventSelection = false;
function addHandler(element, event, handler){
if (element.attachEvent)
element.attachEvent('on' + event, handler);
else
if (element.addEventListener)
element.addEventListener(event, handler, false);
}
function removeSelection(){
if (window.getSelection) { window.getSelection().removeAllRanges(); }
else if (document.selection && document.selection.clear)
document.selection.clear();
}
function killCtrlA(event){
var event = event || window.event;
var sender = event.target || event.srcElement;
if (sender.tagName.match(/INPUT|TEXTAREA/i))
return;
var key = event.keyCode || event.which;
if (event.ctrlKey && key == 'A'.charCodeAt(0)) // 'A'.charCodeAt(0) можно заменить на 65
{
removeSelection();
if (event.preventDefault)
event.preventDefault();
else
event.returnValue = false;
}
}
// не даем выделять текст мышкой
addHandler(element, 'mousemove', function(){
if(preventSelection)
removeSelection();
});
addHandler(element, 'mousedown', function(event){
var event = event || window.event;
var sender = event.target || event.srcElement;
preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
});
// борем dblclick
// если вешать функцию не на событие dblclick, можно избежать
// временное выделение текста в некоторых браузерах
addHandler(element, 'mouseup', function(){
if (preventSelection)
removeSelection();
preventSelection = false;
});
// борем ctrl+A
// скорей всего это и не надо, к тому же есть подозрение
// что в случае все же такой необходимости функцию нужно
// вешать один раз и на document, а не на элемент
addHandler(element, 'keydown', killCtrlA);
addHandler(element, 'keyup', killCtrlA);
}
Долбоёбы борются с ветряными мельницами.
0
<?php
if(isset($_GET['action']) && $_GET['action']=="add"){
$id=intval($_GET['id']);
if(isset($_SESSION['cart'][$id])){
$_SESSION['cart'][$id]['quantity']++;
}else{
$sql_s="SELECT * FROM products
WHERE id_product={$id}";
$query_s=mysqli_query($sql_s);
if(mysqli_num_rows($query_s)!=0){
$row_s=mysqli_fetch_array($query_s);
$_SESSION['cart'][$row_s['id_product']]=array(
"quantity" => 1,
"price" => $row_s['price'] );
}else{
$message="This product id it's invalid!"; } } } ?>
<h1>Product List</h1>
<?php
if(isset($message)){
echo "<h2>$message</h2>"; }
?>
<table>
<tr>
<th>Name</th>
<th>Description</th>
<th>Price</th>
<th>Action</th>
</tr>
<?php
$mysqli = new mysqli('……','root','……','tutorials');
$sql = 'SELECT name,description,price, id_product FROM products'; // select from mysql
$result = $mysqli->query($sql);
while($row = $result->fetch_array()){
?>
<tr>
<td><?php echo $row['name'] ?></td>
<td><?php echo $row['description'] ?></td>
<td><?php echo $row['price'] ?>$</td>
<td><a href="index.php?page=products&action=add&id=<?php echo $row['id_product'] ?>">Add to cart</a></td>
</tr>
<?php
}
?>
</table>
строки:
2 - Входящую переменную так никто не проверяет. Есть функции filter_input
3 - $_GET['id'] без проверки на существовании
9 - mysqli_query - 1) аргумент, Идентификатор соединения. 2) сам запрос
10 - процесс проверки num_rows глупый. Есть 0 ( ложь ), либо в остальных случаях истина.
12 - мы выбивали из запроса id_product чтобы узнать и подставить значение как ключ $_SESSION['cart'][$row_s['id_product']] ??? Уверяю, я знаю уже ключ: $_SESSION['cart'][$id]
30 - Глупая, тупая ошибка новичков. Постоянно на каждой логике кода, устанавливают новое соединение с бд. Нравится в постели оргия, любите много и сразу?
Говнокодер: rita345
https://php.ru/forum/threads/this-product-id-its-invalid.74253/
0
public void testGetClosedStatuses() {
List<FooStatus> expectedStatuses = Arrays.asList(
FooStatus.CANCELLED,
FooStatus.COMPLETED,
FooStatus.REJECTED);
List<FooStatus> closedStatuses = fooService.getClosedStatuses();
assertThat(closedStatuses, containsInAnyOrder(expectedStatuses.toArray());
}
Берём массив и преобразуем его в список. Чтобы использовать этот список, преобразуем его в массив.
+1
А напишите кто-нибудь мобильное приложение для видеосвязи в десять строчек,
которое не требует аккаунта, серверов и вообще ничего, кроме самого смартфона.
Просто по СМС скидывает адресату свой текущий IP, который ему на нынешнюю
секунду выдал опсос, и потом они тупо по UDP друг другу кидают поток пожатого
любым популярным кодеком видео. Если датаграмма не дойдёт, ну заикнётся видео,
хер с ним. Можно одноразовый ключ кидать той же СМС, ну просто на всякий случай
(допустим, IP прямо посреди разговора поменяется, чтобы не улетело неведомо кому).
Такая вещь сама по себе не появится, потому что её нельзя пафосно запатентовать,
закопирастить протоколы и алгоритмы и потом монетизировать.
В ней нет вообще ничего. Софт-пустое-место. Возьми данные из A и положи в B.
Камера→netcat→экран. Поэтому её надо самим писать, никто больше не сделает.
Оно, конечно, будет СМС поджирать, но их в пакетах с нормальным траффиком всё
равно хренова тонна.
Идея стырена из бездны. Выжпрограммисты, чо.
Только не понял, все равно хотя бы у одного должен быть белый IP с открытыми портами (а в сотовой сети такое вообще бывает?).
0
http://2.bp.blogspot.com/-d78Ge0HufjI/VBzY951S5rI/AAAAAAABMVA/17ZuGXCX038/s1600/Voice_legends_of_animation_animatedfilmreviews.filminspector.com_12.jpg
https://c1.staticflickr.com/1/117/253031805_03f139f86f_b.jpg
https://vignette.wikia.nocookie.net/disney/images/e/eb/Kathryn-beaumont-profile-picture.jpg/revision/latest?cb=20150105031848
Секси?
−6
$haystack
$needle
Что за тупые названия аргументов?
−3
System.out.println("The result of " + calc.getFirstNo() + " " + calc.getCharacter() + " " + calc.getSecondNo() + " is " + calc.calculate(calc.getFirstNo(), calc.getCharacter(), calc.getSecondNo()));
0
Пятнахи на Mobile Basic für Android
https://pastebin.com/wVyUdHx9
Попробовал Mobile Basic for Android. Невкусно. Игрушечный язык, по сути дела.
Минусы:
- нельзя объявить именованную константу;
- нельзя нарисовать картинку из файла средствами языка, и спрайтов нет (а в версии для J2ME они были, как помню);
- гуёв тоже нет (в J2ME были);
- рекурсивную функцию нельзя! (процедурину можно).
Спасибо, я кончел.
+1
x & (x-1);
Написавший это утверждает, что меняется содержимое памяти, но как происходят эти мистические изменения он объяснить не может.