- 1
- 2
https://habr.com/ru/post/501798/
> C++/Qt: пора валить?.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
https://habr.com/ru/post/501798/
> C++/Qt: пора валить?.
Выбор небогат – это PHP. Да, я сказал PHP. И мне не стыдно.
Ещё раз напомню, о каком типе приложений идёт речь: о тех, где сложная логика, требующая вычислительной производительности, реализована на C/C++, а к ним в пару нам нужен как можно более простой открытый язык/экосистема для общения с внешним миром и связи компонентов между собой. А если будет C-подобный синтаксис – вообще хорошо. И тут мы ставим галочки напротив каждого пункта наших требований.
Главное – PHP прост. При том круге задач, которые он (и экосистема) может решать — он божественно прост. И дело не только в когнитивной нагрузке при кодинге и переключении контекста. Простота ещё и в развёртывании, администрировании и минимальном количестве вариантов, которыми можно решить одну задачу.
PHP медленно, без резких движений, ползёт в правильную сторону, от увеличения производительности в 3 раза, до строгой типизации, решая задачи простым способом. И обрастая по пути крутыми штуками типа Swoole.
PHP реализовал офигенский FFI (foreign function interface) к C. Офигенский в том контексте, о котором идёт речь — сочетании простоты и возможностей. Вы только наберите в гугле «PHP: Basic FFI usage».
В PHP кругом $, а кто по нынешнему курсу их не любит...
PHP быстрый. Да. Могу по слогам: бы-стрый. Для своей простоты и задач он божественно быстрый.
−4
public static unsafe int Strlen(byte* data)
{
int i = 0;
while (data[i] != 0)
{
++i;
}
return i;
}
Работа с C строками
0
А вот операторов сравнения между всеми типами умных указателей, я как понял, нету, и даже по стандарту.
+3
$this->imageurl = str_replace('http' , 'https', (string)$data['imageurl']);
$this->largeimageurl = str_replace('http' , 'https', (string)$data['largeimageurl']);
+2
https://github.com/klacke/yaws/blob/ba31d14a24842e047e7fa856257df6e3f994ac96/src/yaws_api.erl#L2596
Сертификат сменился? А давайте пол-ноды ёбнем
−4
Technical post.
Технический пост для работы говнофорума.
+2
#include <malloc.h>
#include <string.h>
void print( void **p, int n ) {
int i = 0;
for(; i < n; ++i ) {
printf( "%x ", *( p + i ) );
}
printf( "\n" );
}
void get( void** pp, void** p ) {
*p = *pp;
}
void set( void** pp, void **p ) {
*pp = *p;
}
int main() {
printf( "sizeof: void* = %d, void** = %d\n", sizeof( void* ), sizeof( void** ) );
void ** pv = malloc( sizeof( void* ) * 8 ), **pp2;
memset( pv, 1, 8 * sizeof( void* ) );
printf( "pv = %x\n", pv );
print( pv, 8 );
pp2 = pv + 2 * sizeof( void** );
void *p = (void*)0x01020304c, *p2 = p;
*pp2 = p;
printf( "pv = %x, pp2 = %x, p=%x, p2 = %x\n", pv, pp2, p, p2 );
get( pv + 1, &p );
printf( "result get( pv + 1, &p ) -> *( pv + 1 ) = %x, p = %x\n", *( pv + 1 ), p );
set( pv + 2, &p2 );
printf( "result set( pv + 2 *, p2 ) -> *( pv + 2 ) = %x, p2 = %x\n", *( pv + 2 ), p2 );
print( pv, 8 );
free( pv );
return 0;
}
Просто оставлю это здесь, на будущее.
О том, как работать с void**.
+4
def lookup(self, code):
"""
Looks up code in Redis
Returns None on failure
"""
url = self.redis.get(code)
try:
pass
except:
url = None
return url
Вот такое на полном серьезе получили как кусочек домашнего задания для соискателя на Senior Python Engineer
0
Давным-давно( сегодня, неск. часов назад )
В одной уютной-приуютной группке( https://vk.com/topic-30666517_29088463?post=448559 ),
Разумеется, даже нифига не в предназначенной для этого ветке,
Очередной "отче программирования, ментор и просто_великий_гуру"(тм),
Ну_так_уж_и_быть, соизволил искать себе паству, да всерьёз гитхабами мериться.
https://github.com/AndreyMashukov?tab=repositories
Посоны, я, кнчн., всё понимаю( аки пьос, Гы ), но..
Разве "Это норма"(тм) всерьёз вываливать в репозитории дерьмо вида:
Целый_распрекрасный_класс_для_сравнения_мать_их_двух_строчек_текста:
https://github.com/AndreyMashukov/comparison
В этой срани многие десятки папок и файлов разных расширений
Даже какие-то говнотесты затолкнуты..
И всё это для целого_мать_его_говнокласса( 180 строк )_что_сравнивает_ровно_две_ср.ных_строки !
К сожалению, такие объёмы дерьма даже на Говонокод одним "заходом" не уместятся.
Ситуацию сильно упростило хотя бы наличие возможности норм вставить скрины и ссылки, но.. крч., итааксойдёт
п.с: не покидает ощущение, что лучше вообще быть без гитхаба, чем иметь такой - будто бы, есть вероятность даже не до нуля скатиться при поиске серьёзной работы и конторы, а, даже в "минус" уйти ( т.е с ним шансов даже меньше, чем вообще без него ).
+3
^[\s\u200c]+|[\s\u200c]+$
Стековерфло не могут в регулярные выражения или регулярные выражения не могут в простейшую задачу?
http://stackstatus.net/post/147710624694/outage-postmortem-july-20-2016