Обзор зарплат тут
Собственно средняя по Москвабаду получается 100очка ?
Не мало ли ? Хотя разбег конечно дикий от минимальной 50 т.р.("без опыта") до 200 т.р.
Обзор зарплат тут
Собственно средняя по Москвабаду получается 100очка ?
Не мало ли ? Хотя разбег конечно дикий от минимальной 50 т.р.("без опыта") до 200 т.р.
>>Не мало-ли?
Знать бы дисперсию.
по самаре кажется завышена слегонца
(5) *зеваю
имхо, по новичкам там везде завышено
3 года назад среднячок (3 года опыта работы, знает запросы, спец по платформе, знает одну из типовых)в МСК мог легко рассчитывать на 100 на руки.
По новичкам, 30-42 на руки (без опыта работы) интересно, это где? )
(2) Я думаю, наоборот завышено.
Потому что большинство вакух от фра, а они обычно завышают ЗП в вакансиях.
Короче, я тут данные в (0) посмотрел. Там мусора много.
Диапазон I 50 000—70 000
Диапазон II 70 000—85 000
Диапазон III 85 000—120 000
Диапазон IV 120 000—200 000
Первые два вообще можно убрать. Это до 2-х лет работы.
Стало быть, средняя выше. А если брать от трёх лет, то вообще получится 85 000 - 200 000. Простое среднее будет 140. Про мат. ожидание говорить не берусь, но тоже намного выше.
(12) Вполне.
Я после трёхмесячной стажировки устроился во франч (первое место работы по 1с) на вполне так нормальную зп по региону.
Они так и делают, эти франчи. Если чувак даёт надежды, ставят мин. оклад и давай, мальчик, бегай.
Хотя у меня даже приличный оклад был.
Просто по факту, если чувак шарит, его можно оставить и платить ему хорошую зп - загрузка обеспечит оклад.
А "не осиливших 1с" - полно. Они сразу палятся.
Особенно всякие труъ-кодеры, приехавшие с PHP и C++, палятся так тоже эпично.
имхо, тут эйчарка подсуетилась...
(0) Это просто реклама сайта superjob. Специально сделали таблицу с завышенными зарплатами чтобы все бежали туда искать работу, или обсуждали на форумах что там не правда.
(21) может, предлагает одинэсникам сменить профиль?
Но для 1с надо иметь лень, тупость и жадность, а много ли таких сишников
jsmith82 Стало быть, средняя выше. А если брать от трёх лет, то вообще получится 85 000 - 200 000. Простое среднее будет 140. Про мат. ожидание говорить не берусь, но тоже намного выше.
Средняя ЗП одинэсника в Москве существенно ниже 140.
Такая средняя получается за счет вакух от франей, которые в вакансии указывают зп при отработке виртуальных 160 часов, которых в реальной жизни закрыть не получится.
1С требует обширных знаний. Просто те, кто на хабре пишут про него гадости, на деле его не знают, а многие из них бы тупо облажались :)
Они, наверно, думают, что 1сник это тупо печатные формы писать и проводки корректировать.
jsmith82 С++ это вообще так проще, чем 1С
Что вычисляет данная функция?
float fff (float x){ float xhalf = 0.5f*x; int i = *(int*)&x; i = 0x5f3759df - (i>>1); x = *(float*)&i; x = x*(1.5f - xhalf*x*x); return x; }
А что сотворит вот этот макрос?
#define GET_VAL( val, type ) \ { \ ASSERT( ( pIP + sizeof(type) ) <= pMethodEnd ); \ val = ( *((type *&)(pIP))++ ); \ }
(32) согласен. поэтому во франче норм только если франч большой + большой проект + у тебя норм скилы (не на печатных формах сидишь).
во всем остальном - спокойствия, стабильности - фикси рулит. среднячку в москве имхо 120 найти можно сейчас
(33)
float fff (float x){
float xhalf = 0.5f*x;
// Используем f, чтобы не получился double. Видимо, по умолчанию double. Щас не помню точно.
int i = *(int*)&x;
// &x - Адрес переменной x
// (int*) - Преобразование типа. Получаем указатель на int
// * - Разыменование указателя
// i - Значение переменной x, преобразованной в int
// Почему через указатель - чтобы байты считать
i = 0x5f3759df - (i>>1);
// i>>1 Побитовый сдвиг вправо на один разряд, то есть деление на 2
// 0x5f3759df Цифра в 16-м исчислении типа float
x = *(float*)&i;
// Логика как описано выше.
x = x*(1.5f - xhalf*x*x);
// Ну, тут просто выражение
return x;
}
Сходу не понял, что именно возвращает, вернее, что за формула.
Во-первых, бухучет может изучить любая ТП.
ну если Купи продай то да ..
а так вообще этим серьезные люди занимаются.
(33)
#define GET_VAL( val, type ) \
{ \
ASSERT( ( pIP + sizeof(type) ) <= pMethodEnd ); \
val = ( *((type *&)(pIP))++ ); \
}
Ну, тут макрос..
ASSERT это функция сообщения об ошибке
( pIP + sizeof(type) ) <= pMethodEnd )
тут сравнение двух величин
приставка p, видимо, ссылается на тип указателя
sizeof(type) - количество байт переданного типа
в общем, вычисляется, не переходит ли левое выражение за указатель справа (в потоке байтов)
если не переходит, то ошибки нет и идём дальше
Потом идёт разыменование адреса
Тут по ходу вовзращается указатель, сдвинутый на один шаг по типу
Хотя бы что-то помню - уже хорошо. Разминка для мозгов.
c тех пор джейсмит не кодил 8 лет...
С тех пор 1с!
с тех пор джейсмит дальше открытия конфигуратора не шёл...
и бухал по черному
Или так
(type *&)(pIP)
преобразуем указатель в указатель заданного типа
val = ( *((type *&)(pIP))++ );
и увеличиваем значение, хранящееся в нём, на 1
Спустя 8 лет многое забывается ёпт.
1 по типу
Тогда оператор ++ перегружен должен быть
(45) почему же - комменты даже тёр, и прокастинировал
sda553 тут ошибочка. Это не преобразование типов
Почему?
int i = *(int*)&x;
Адрес х, преобразованный в указатель int и разыменованный.
В смысле не (int)x, конечно
То бишь не такое компиляторское преобразование, а просто чтение байтов в заданный тип по адресу
В любом случае, я не задачки хотел давать. А выражаю не согласие. Имхо, c++ сложнее и прекрасней чем 1с
(54) Как язык - бесспорно. Но тут мне С# больше нравится
Я имею в виду сочетание предметной области и средств разработки
В принципе, мне кажется писать, допустим, драйверы на С++ и Asm легче, чем внедрять УПП на заводе :)
Даже просто писать и поддерживать какую-то программулину на С++. Сам себе хозяин считай.
Драйверы - тоже. Берёшь спецификации от вендора на карту и процессор, сидишь пишешь, пиво пьёшь
Красота
(55) ок, подумай. Подскажу, что таким оригинальным образом можно из x вычислить приближенно очень известную математическую функцию
Многие труъ-кодеры ломаются при переходе на 1С. Издалека - кажется "бейсик, переведённый промптом". А в реале - жесть.
В принципе обратное тоже верно :)
(55) правильный ответ
Тип float хрениться следующим образом:
https://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Float_example.svg/590px-Float_example.svg.png
Чтобы получить, какое число он представляет, надо провести следующую операцию с битами на картинке
https://upload.wikimedia.org/math/5/b/6/5b6995dd974771cb8fe63f3a4908d351.png
извлечем из модуля этой формулы логарифм по основанию 2.
LOG(|value|) = log(1+summa(...))+(e-127)
первое слагаемое небольшое, от 0 до log(1.1111111....)=1
таким образом с точностью до единицы этот логарифм равен (e-127)
Но с другой стороны, по картинке видно что e это просто биты с 30 по 23. А значит если мы "преобразуем" число в int отсечем правые 22 бита и отнимем 127, то получим как раз вот тот логарифм.
Таким образом преобразование int i = *(int*)&x;
это по сути быстрое приблизительное вычисление логарифма от числа
(63) Ахренеть :)
Я, когда с++ занимался, тоже разные фишки знал. И с битовыми операциями в том числе.
Но, я всё равно, предпочитаю писать явные функции - щас-то процессоры быстрые. Даже, если в цикле, особенной разницы нет.
(62) дык кто мешает?