@devops_ru

Страница 1551 из 4568
Uncel
18.11.2016
01:18:45
И даже хуже, байтоебим

Vladimir
18.11.2016
01:19:25
даже с 1С программистами - ценятся и получают деньги те кто умеют хоть что-то

это не просто "выучил синтаксис и рубишь бабло"

Alex
18.11.2016
01:19:49
И даже хуже, байтоебим
Байтоебить дома надо под одеялом

Google
Alex
18.11.2016
01:20:05
Чо не использовать null-safe языки-то?

Я, правда, всего три таких знаю

Или четыре

Из них без GC - один

Vladimir
18.11.2016
01:20:31
Идти куда-то за деньгами вообще смысла мало. Не в деньгах счастье ж

Alex
18.11.2016
01:20:33
Ну, сами виноваты

Uncel
18.11.2016
01:20:38
Байтоебить дома надо под одеялом
Стойка не помещается под одеялом

Я пытался, честно

Vladimir
18.11.2016
01:22:08
а чтобы быть манагером или путевки продавать нужно соушл скиллз иметь хорошие, талант короче

хотя с 1с тоже нужно головой думать, да

Vladimir
18.11.2016
01:22:47
с электроникой сложно, прям ваще. в хардваре зарплаты в разы ниже
ну у меня из одногруппников из тех с кем общаюсь, как-то люди устроились и получают за электронику (цифровая схемотехника в чистом виде у одного, Verilog/VHDL у двух других) нормальные деньги (один порядка 250 в месяц, двое других больше 150)

Google
Vladimir
18.11.2016
01:23:59
то есть в общем реализуемо, но требует планирования

Alex
18.11.2016
01:24:16
Братва

А есть люди со свободным временем?

Сишнички?

Не глянете, может есть какие идеи по улучшению кода?

И все такие: "Да, братан, давай свой код, мы посмотрим!"

Ну лан, чо Вот он https://github.com/alexclear/metrics-c-library/blob/master/prometheus.c

Одна идея у меня есть, и я записал ее в issues

Впрочем, там глаз выхватывает какие-то повторяющиеся шаблоны кода Надо попробовать заэкстрактить и поглядеть, насколько ухудшится читаемость

Vladimir
18.11.2016
01:34:35
@demeliorator цели кода какие в производительности ж?

https://github.com/alexclear/metrics-c-library/blob/master/prometheus.c#L265-L274 кажется что лучше так fprintf'ы не разбивать, когда это не нужно (а тут не очень нужно). И это в целом про все твои fprintfы.

Alex
18.11.2016
01:36:53
@demeliorator цели кода какие в производительности ж?
Ну - цель кода метрички собирать в программах на C Кроме того, это часть учебного курса "Программирование в среде UNIX"

Завтра в классе дадим нагрузку поглядим, че там на топе будет в флеймграфах

Vladimir
18.11.2016
01:37:18
напоминает попытки сделать ООП на сях в очередной раз

Alex
18.11.2016
01:38:21
напоминает попытки сделать ООП на сях в очередной раз
Так а чего его там делать - первый параметр это указатель на структуру с данными, и будем вместо "функция" говорить "метод"

Правда, не будет сокрытия данных - да и хер с ним

Vladimir
18.11.2016
01:38:37
с формальной точки зрения ты не проверяешь что память выделилась ни на одном маллоке

Google
Vladimir
18.11.2016
01:39:24
с тем чтоб сделать thread-safe будут проблемы.

return'ов в функциях нет

то есть в ифе есть, а так просто нету

Alex
18.11.2016
01:39:52
с тем чтоб сделать thread-safe будут проблемы.
Здесь нам повезло - nginx в один тред работает Но - надо бы что-то придумать с этим, да

return'ов в функциях нет
Да - и тут меня крайне удивляет компилятор C, который такое разрешает - WTF?

Vladimir
18.11.2016
01:40:24
и ваще возьми ради интереса clang 3.9 с scan-build сделай

Alex
18.11.2016
01:40:52
О, это дело, спасибо

Vladimir
18.11.2016
01:41:16
такое разрешают не все компиляторы, большинство ругнется а вот как отрабоатет функция без ретурна - как бы в гцц по одному, а вот что в шланге как ты хочешь - никакой гарантии

strncpy((*counter).label_names[i], label_names[i], strlen(label_names[i]) + 1); - во всяких таких местах - очень странно нафига

67 строка

Alex
18.11.2016
01:43:17
И то верно

Alex
18.11.2016
01:43:27
Потому что туда фигачатся статические константы

Vladimir
18.11.2016
01:43:44
вопрос - strncpy vs memcpy в данном случаи это раз

Alex
18.11.2016
01:43:55
Но это надо тогда завести doxygen-овский коммент

Vladimir
18.11.2016
01:43:57
во вторых strcpy vs strncpy

почему ты таки выбрал strncpy в таком виде?

Alex
18.11.2016
01:44:24
В котором прописать, что память должна быть статически выделена, иначе пздц

почему ты таки выбрал strncpy в таком виде?
Ну, видимо, решил, раз строка - пусть будет strncpy

Vladimir
18.11.2016
01:45:10
так почему ncpy а не просто cpy тогда?

Google
Vladimir
18.11.2016
01:45:42
все равно у тебя функция эта будет проверять налчие \0, хотя ты копируешь полностью строку

Alex
18.11.2016
01:46:01
А это горе от ума в чистом виде

Я на примере этого объяснял коллегам, что важно чекать границы

Хотя - в данном конкретном случае это херня, я строкой выше все нормально выделяю

Ровно столько, сколько нужно

Kirill
18.11.2016
01:47:25
Ну лан, чо Вот он https://github.com/alexclear/metrics-c-library/blob/master/prometheus.c
мне, помимо "make this thread-safe", в глаз давит https://github.com/alexclear/metrics-c-library/blob/master/prometheus.c#L44 и после этого https://github.com/alexclear/metrics-c-library/blob/master/prometheus.c#L65. я не гуру, конечно, но зачем дважды присваивать переменной одно и то же значение? это же повторяется в new_histogram_vec, но не в initialize_buckets или observe_histogram.

Kirill
18.11.2016
01:49:05
тогда можно и в https://github.com/alexclear/metrics-c-library/blob/master/prometheus.c#L148 убрать

Vladimir
18.11.2016
01:49:35
Хотя - в данном конкретном случае это херня, я строкой выше все нормально выделяю
это можно в функцию вытащить и сделать ее inline'ом (правда это потащит за собой -std=c99)

Admin
ERROR: S client not available

Vladimir
18.11.2016
01:49:46
как минимум чтоб это читалось лучше

ну и не очень понятно нафига вот так вот, memcpy тут уместнее, ну либо strcpy без длины

coding style плавает слегка. "int *val", "int *", "int*" в буквально одной строчке - смотрится странно учитывая что только с указателями такая фигня периодически

где то ты маллоки кастуешь, где-то нет

Alex
18.11.2016
01:55:51
Надо какой-нибудь линтер приделать

Пусть по рукам бьет

Nikolay
18.11.2016
01:57:26
ИМАКС

Alex
18.11.2016
01:57:38
ИМАКС
Не поверишь - с этого и начал

Но - в аудитории стоит прокся

А я чот не смог имакс настроить так, чтобы он аутентифицировался на ней

Google
Alex
18.11.2016
01:58:05
Туповат-с

Vladimir
18.11.2016
01:59:52
@demeliorator таки ООП у тебя слегка напрашивается - хотя бы в ConcreteValue тот же, в котором у тебя value то один тип, то другой, смотря что происходит.

в export'е у тебя внутри цикла очень много чего напрашивается на разбиение на функции, кажется что ты все эти принты делаешь однотипно

Alex
18.11.2016
02:02:30
Да - там надо посидеть подумать

Vladimir
18.11.2016
02:02:38
в print_labeled_metric тоже кажется почти калькой с export'а

Alex
18.11.2016
02:02:42
Как это перефигачить так, чтобы было попроще читать

Vladimir
18.11.2016
02:02:46
только с fprintf вместо кастомной функции

Alex
18.11.2016
02:02:59
Сделать эту самую кастомную функцию параметром

Vladimir
18.11.2016
02:03:13
это один и тот же issue

с тем что и цикл обобщить и упростить

Alex
18.11.2016
02:03:41
Угу

В этой части, видимо, можно серьезно упростить

Vladimir
18.11.2016
02:04:57
так в общем судить сложно - подчистить, а дальше под нагрузкой профилировать и смотреть в чем проблемы вылезут уже

Alex
18.11.2016
02:05:48
Угу Так и сделаем Спасибо!

Nikolay
18.11.2016
02:06:56
ПИТНИЦА !!

Vladimir
18.11.2016
02:15:09
Угу Так и сделаем Спасибо!
Нормальный сишник что нибудь еще найдет вероятно

Roman
18.11.2016
06:11:25
https://spb.hh.ru/vacancy/18806310
Да они там могут писать хоть 25круб. Но либо никто не придет, либо будут приходить олени.

Старый
18.11.2016
06:20:38
Да они там могут писать хоть 25круб. Но либо никто не придет, либо будут приходить олени.
сбертех так не думает и набрал людей с сертами ccnp на 37-50к за пол года, заполнив отдел

Roman
18.11.2016
06:24:12
сбертех так не думает и набрал людей с сертами ccnp на 37-50к за пол года, заполнив отдел
И? Ты реально думаешь что они там что-то знают, а не вызубрили?

Старый
18.11.2016
06:24:47
И? Ты реально думаешь что они там что-то знают, а не вызубрили?
учитывая, что там был конкурс, и сдавали работы, да

Roman
18.11.2016
06:24:55
Как это перефигачить так, чтобы было попроще читать
Я бы ещё многое в макросы вынес. Ту же аллокацию.

Страница 1551 из 4568