- 1
- 2
- 3
// These are equivalent:
fn`some string here`;
fn(['some string here']);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 99
0
// These are equivalent:
fn`some string here`;
fn(['some string here']);
Джаваскриптеры переизобрели руби (ладно-ладно, скрестили с FormattableString из шарпа)
https://styled-components.com/docs/advanced#tagged-template-literals
0
// Since styled-components allows you to use arbitrary input as interpolations, you must be careful to sanitize that input.
// Using user input as styles can lead to any CSS being evaluated in the user's browser that an attacker can place in your application.
// This example shows how bad user input can even lead to API endpoints being called on a user's behalf.
// Oh no! The user has given us a bad URL!
const userInput = '/api/withdraw-funds'
const ArbitraryComponent = styled.div`
background: url(${userInput});
/* More styles here... */
`
в процессе многолетнего пересоздания ruby on rails с нуля фронтендеры умудрились accidentally a bottle of injections
https://styled-components.com/docs/advanced#security
0
SELECT sum(t4.value) as "План", STR_TO_DATE(t4.date, '%d-%m-%Y') AS "time" FROM
(SELECT t.id, t.subject, t3.depth, t.value,
CASE WHEN t.field_name = "Август 2020 (план)" THEN "2020-08-01"
WHEN t.field_name = "Август 2020 (факт)" THEN "2020-08-01"
WHEN t.field_name = "Апрель 2020 (план)" THEN "2020-04-01"
WHEN t.field_name = "Апрель 2020 (факт)" THEN "2020-04-01"
WHEN t.field_name = "Декабрь 2020 (план)" THEN "2020-12-01"
WHEN t.field_name = "Декабрь 2020 (факт)" THEN "2020-12-01"
WHEN t.field_name = "Июль 2020 (план)" THEN "2020-07-01"
WHEN t.field_name = "Июль 2020 (факт)" THEN "2020-07-01"
WHEN t.field_name = "Июнь 2020 (план)" THEN "2020-06-01"
WHEN t.field_name = "Июнь 2020 (факт)" THEN "2020-06-01"
WHEN t.field_name = "Май 2020 (план)" THEN "2020-05-01"
WHEN t.field_name = "Май 2020 (факт)" THEN "2020-05-01"
WHEN t.field_name = "Март 2020 (план)" THEN "2020-03-01"
WHEN t.field_name = "Март 2020 (факт)" THEN "2020-03-01"
WHEN t.field_name = "Ноябрь 2020 (план)" THEN "2020-11-01"
WHEN t.field_name = "Ноябрь 2020 (факт)" THEN "2020-11-01"
WHEN t.field_name = "Октябрь 2020 (план)" THEN "2020-10-01"
WHEN t.field_name = "Октябрь 2020 (факт)" THEN "2020-10-01"
WHEN t.field_name = "Сентябрь 2020 (план)" THEN "2020-09-01"
WHEN t.field_name = "Сентябрь 2020 (факт)" THEN "2020-09-01"
WHEN t.field_name = "Февраль 2020 (план)" THEN "2020-02-01"
WHEN t.field_name = "Февраль 2020 (факт)" THEN "2020-02-01"
WHEN t.field_name = "Январь 2020 (план)" THEN "2020-01-01"
WHEN t.field_name = "Январь 2020 (факт)" THEN "2020-01-01" end AS DATE
FROM (
SELECT i.id AS id, i.subject AS subject, i.updated_on as updated_on,
cf.name AS field_name,
cv.value AS value
FROM issues i
LEFT JOIN custom_values cv
ON i.id = cv.customized_id
LEFT JOIN custom_fields cf
ON cv.custom_field_id=cf.id
WHERE cv.customized_type="Issue" and (i.project_id = 2284)) t
LEFT join
(SELECT t2.id,
GROUP_CONCAT(DISTINCT(CASE WHEN t2.field_name = "Код бюджета" THEN t2.value else null END)) AS depth
FROM (
SELECT i.id AS id, i.subject AS subject, i.updated_on as updated_on,
cf.name AS field_name,
cv.value AS value
FROM issues i
LEFT JOIN custom_values cv
ON i.id = cv.customized_id
LEFT JOIN custom_fields cf
ON cv.custom_field_id=cf.id
WHERE cv.customized_type="Issue" and (i.project_id = 2284)) t2
GROUP BY t2.id) t3
ON t.id=t3.id
WHERE INSTR(t.field_name, "план")>0 ) t4
WHERE substr(t4.date,1,7) in ($time) and t4.value!=0 and t4.depth=1 and t4.subject = 'Себестоимость реализованной готовой продукции (товаров, работ, услуг)'
group by t4.date
https://t.me/dba_ru/131122
+1
// https://docs.docker.com/engine/api/v1.24/#create-a-container
POST /v1.24/containers/create HTTP/1.1
Content-Type: application/json
Content-Length: 12345
{
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": true,
"AttachStderr": true,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"FOO=bar",
"BAZ=quux"
],
...
}
Ядро предоставляет сисколл execve. Execve принимает переменные окружения в виде массива строк A=B -
не знаю конкретных причин, почему так сделано, но скорее всего просто потому что писать хэшмапу под
это дело, которая еще и будет выкинута из памяти через относительно небольшое время - дело дорогое и
ненужное, плюс наверняка какой-нибудь лишний пердолинг со стеком.
https://man7.org/linux/man-pages/man2/execve.2.html
Го, "человеческий язык" с поддержкой обычных мап из коробки, ничтоже сумляшеся не замечает никакой
проблемы и заставляет пользователя передавать переменные окружения в том же формате, потому что у
языка не только синтаксис должен быть таким же тупым, как программист на нём и вообще мы же тут
делаем вид, что мы C, только лучше.
https://golang.org/pkg/os/exec/#example_Command_environment
Докер, "человеческий сервис" с HTTP API, использующим формат JSON с поддержкой обычных мап из коробки,
ничтоже сумляшеся не замечает никакой проблемы и заставляет пользователя передавать переменные
окружения в том же формате, потому что на программист на языке должен быть тупым, как этот язык.
https://docs.docker.com/engine/api/v1.24/#create-a-container
В результате мы имеем пачку долбоебов, из-за которых оперирующие (мапами / объектами / словарями / как угодно назовите)
нормальные люди должны вести себя как типичные гошники.
−1
Falcon Space - это платформа для создания веб-решений с управлением через SQL.
Все создается и управляется на SQL.
Телеграм бот управляется полностью 1 хранимой процедурой на SQL!
https://falcon.web-automation.ru/docs/telegram-boty-i-otpravka-soobshcheniy-v-telegram
−2
This would raise the true nightmare. A type variable is a different beast than the actual type of a concrete instance.
A type variable could resolve to a, e.g. ? extends Comparator<? super Number> to name one (rather simple) example.
Providing the necessary meta information would imply that not only object allocation becomes much more expensive,
every single method invocation could impose these additional cost, to an even bigger extend as we are now not only
talking about the combination of generic classes with actual classes, but also every possible wildcarded combination,
even of nested generic types.
https://stackoverflow.com/a/38060012
Джавист-долбоеб с пеной у рта защищает type erasure, задавая вопросы "Does it [c#] have an equivalent of Function.identity()? " в комментариях и собирая плюсы таких же поехавших.
В качестве аргументов он предлагает:
1) сложна
2) хранить информацию о типах в рантайме означает что в рантайме придется хранить информацию о типах!!!
3) [s]ма-те-ма-ти-ка[/x] реф-лек-си-я
Причем ведь наверняка знает и про темплейты в крестах, и про то что шарп такой хуйней не страдает.
+1
In order to fund the development work on speeding CPython by a factor of five, something like $2M will be required.
This seems like a sizeable sum, but compared to the amount of money spent on Python development and the
cost of running Python applications, it is quite a modest sum.
---
The overall aim is to speed up CPython by a factor of (approximately) five. We aim to do this in four distinct stages,
each stage increasing the speed of CPython by (approximately) 50%.
1.5**4 ≈ 5
---
The interpreter will adapt to types and values during execution, exploiting [b]type stability[/b] in the program
---
Improved performance for [b]integers of less than one machine word[/b].
Improved peformance for [b]binary operators[/b].
---
Simple "JIT" compiler for small regions. Compile small regions of specialized code, using a relatively simple, fast compiler.
Extend regions for compilation. Enhance compiler to generate [b]superior machine code[/b].
питонисты готовят новую версию интерпретатора с революционной фичей - возможностью отъема денег у населения. Ожидается, что нововведение позволит языку быстро заработать очки на рынке пускания пыли в глаза.
https://github.com/markshannon/faster-cpython
0
package java.util;
public final class Optional<T> {
public<U> Optional<U> map(Function<? super T, ? extends U> mapper) {
Objects.requireNonNull(mapper);
if (!isPresent())
return empty();
else {
return Optional.ofNullable(mapper.apply(value));
}
}
}
Они не только не знают, что else после if не нужен и лишь привносит лишний нестинг, они даже единый стиль расставления фигурных скобок выдержать не могут
−1
Возможно, вы разделите мою точку зрения насчёт того документа. Судите сами:
1. Это всё ещё Vue
2. Он закрывает основные потребности разработчиков
3. Разумеется, он избавляет от бойлерплейта
4. Документация — огонь
5. Большое, пассионарное сообщество
Спирт:
1. Его пьют
2. Вызывает эйфорию
3. Может использоваться в качестве жидкости
https://m.habr.com/ru/company/vdsina/blog/525382/
−1
https://www.npmjs.com/package/mkdirp
https://www.npmjs.com/package/mkdirp2
https://www.npmjs.com/package/mkdirp-classic
https://www.npmjs.com/package/mkdirp-infer-owner
https://www.npmjs.com/package/mkdirp-then
https://www.npmjs.com/package/mkdirp-promise
https://www.npmjs.com/package/mkdir-parents
https://www.npmjs.com/package/mkdir-p
https://www.npmjs.com/package/node-mkdir-p
https://www.npmjs.com/package/mkdir-p-bluebird
https://www.npmjs.com/package/mkdirt
https://www.npmjs.com/package/mkdir-native
Description:
Linux command mkdir -p.