- 1
console.log(24000);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+7
console.log(24000);
0
import React, { Component } from 'react';
import { View, Text } from 'react-native';
import { Provider } from 'react-redux';
import Store from './src/Store';
import { Header, CryptoContainer, ControlPanel, Homepage } from './src/components';
import Drawer from 'react-native-drawer';
import {
Scene,
Router,
Actions,
Reducer,
ActionConst,
Overlay,
Tabs,
Modal,
Stack,
Lightbox,
} from 'react-native-router-flux';
export default class App extends Component {
constructor(props) {
super(props);
this.state = { isOpen: false };
}
toggleSidebar = () => {
console.debug(this.state.isOpen);
if (this.state.isOpen) {
this._drawer.close();
} else {
this._drawer.open();
}
}
onOpen = () => {
console.debug('onOpen');
this.setState({ isOpen: true });
}
onClose = () => {
console.debug('onClose');
this.setState({ isOpen: false });
}
render() {
// <View>
// <Header toggleSidebar={this.toggleSidebar} />
// <CryptoContainer />
// </View>
return (
<Provider store={Store}>
<View>
<Drawer
content={<ControlPanel />}
ref={(ref) => this._drawer = ref}
openDrawerOffset={100}
onOpen={this.onOpen}
onClose={this.onClose}
openDrawerOffset={0.5}
tapToClose={true}
// open={true}
>
</Drawer>
<View>
<Header toggleSidebar={this.toggleSidebar} />
{/* <CryptoContainer /> */}
</View>
<Router>
<Stack key="root">
<Scene key="homepage" component={Homepage} title="Homepage" />
</Stack>
</Router>
</View>
</Provider>
);
}
}
0
import React, { Component } from 'react';
import { View, Text } from 'react-native';
import { Provider } from 'react-redux';
import Store from './src/Store';
import { Header, CryptoContainer, ControlPanel, Homepage } from './src/components';
import Drawer from 'react-native-drawer';
import {
Scene,
Router,
Actions,
Reducer,
ActionConst,
Overlay,
Tabs,
Modal,
Stack,
Lightbox,
} from 'react-native-router-flux';
export default class App extends Component {
constructor(props) {
super(props);
this.state = { isOpen: false };
}
toggleSidebar = () => {
console.debug(this.state.isOpen);
if (this.state.isOpen) {
this._drawer.close();
} else {
this._drawer.open();
}
}
onOpen = () => {
console.debug('onOpen');
this.setState({ isOpen: true });
}
onClose = () => {
console.debug('onClose');
this.setState({ isOpen: false });
}
render() {
// <View>
// <Header toggleSidebar={this.toggleSidebar} />
// <CryptoContainer />
// </View>
return (
<Provider store={Store}>
<Drawer
content={<ControlPanel />}
ref={(ref) => this._drawer = ref}
openDrawerOffset={100}
onOpen={this.onOpen}
onClose={this.onClose}
openDrawerOffset={0.5}
tapToClose={true}
// open={true}
>
<View>
<Router>
<Stack key="root">
<Scene key="homepage" component={Homepage} title="Homepage" />
</Stack>
</Router>
</View>
</Drawer>
</Provider>
);
}
}
−1
export const getBasketProductsWithCount = state => {
const productCount = id => R.compose(
R.length,
R.filter(basketId => R.equals(id, basketId.id))
)(state.basket);
const productWithCount = product => R.assoc('count', productCount(product.id), product);
const uniqueIds = R.uniq(state.basket);
const products = R.compose(
R.map(productWithCount),
R.map(id => id)
)(uniqueIds);
return products;
};
−2
for condition in price_to_deposit_config
condition_is_true = false
if condition.range.length is 2
if market_data[item.id].volume >= condition.range[0] and market_data[item.id].volume <= condition.range[1]
condition_is_true = true
if condition.range.length is 1
if market_data[item.id].volume >= condition.range[0]
condition_is_true = true
if condition_is_true is true
#mk deposit price by this condition
CoffeeScript. Мозг плавится 2е сутки.
Читабельность кода уровень Высоцкого, а то и выше.
−2
function kakPropatchitKdePodFreeBsdFactor(str) {
return (str.split(/[A-Z0-9]{2,}/).length - 1) + (str.split(/[A-Za-z0-9]{2,}/).length - 1) / 10;
}
var titles = [];
var requests = [];
for (var pageId = 1; pageId <= 10; pageId++) {
(function (pageId) {
requests.push($.get('https://habrahabr.ru/all/page' + pageId, function (html) {
var domParser = new DOMParser();
var doc = domParser.parseFromString(html, 'text/html');
$(doc).find('.post__title_link').each(function () {
titles.push(this.innerHTML);
});
}));
})(pageId);
}
$.when.apply($, requests).then(function () {
titles.sort(function (a, b) {
return kakPropatchitKdePodFreeBsdFactor(b) - kakPropatchitKdePodFreeBsdFactor(a);
});
for (var i = 0; i < titles.length; i++) {
console.log(i + ". " + titles[i]);
}
});
Итак, петушки. Вот я взял 100 последних статей со швабрашвабра, встречайте победителей!!!
0. Настройка VoIP FXS шлюза Yeastar Neogate TAXXX для работы с 3CX
1. [size=19]Детективная история про RMCP+ и OpenSSL, или как Wireshark помог победить incorrect argument в OpenIPMI[/size]
2. [size=18]NRF51822: дружим BLE и RTOS[/size]
Остальные:
3. Разработка игр под NES на C. Главы 14-16. Работа со звуком
4. Дайджест свежих материалов из мира фронтенда за последнюю неделю №304 (26 февраля — 4 марта 2018)
5. Реализация быстрых 2D-теней в Unity с помощью 1D shadow mapping
6. Unity 2018 и ProBuilder: создаем, редактируем и текстурируем 3D-модели прямо в редакторе
7. Вопросы совместимости Tibero и Oracle. Часть 1. Условная компиляция PL/SQL
8. Выпуск#13: ITренировка — актуальные вопросы и задачи от ведущих компаний
9. Подборка: 12 сервисов для защиты от DDoS-атак
10. Платформа CUBA в 2017: новые фичи, новые услуги, новые планы
Остальное в коментах (не влезает в 2000 символов)
Предлагайте свои оценки для kakPropatchitKdePodFreeBsdFactor
0
new Template('device.matrix.container').load(function (container_tpl) {
new Template('device.matrix.device').load(function (device_tpl) {
new Template('device.matrix.port').load(function (port_tpl) {
new ApiCall('device.matrix.list')
.set('house', event.house_id)
.do(function (r) {
// Do anything
})
});
});
});
How don't need to write JS.
−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.
−2
$scope.storage.oldDriver = JSON.parse(JSON.stringify($scope.storage.driverEdit || {})); // @TODO: ни _.clone ни Object.assign не сработали
Нашел на работе в коде