All streams
Search
Write a publication
Pull to refresh
67
0.5
Михаил @michael_v89

Программист

Send message
Небольшой охранный бронежилет) 3 класс защиты подойдет (не под пули же лезть). Или как вариант, пара кирпичей в рюкзаке, зимой под курткой почти не заметно.
«Мы тут решили дать слово чуваку, которого вы не знаете. Но он дело говорит, правда-правда. Потому что про физкультуру же»

Потому что лёгкая физкультура — это не спорт.
Большинству людей не нужно заниматься спортом
Хороший совет. Особенно в сочетании с советом заниматься тяжелой атлетикой.

Попробуйте пройтись до маркерной доски
И вы увидите, что это не то же самое, что открыть приложение с заметками. Какое интересное открытие.

Вам известно о специальных столах для работы стоя? Мое мнение: это изумительно!
Вот и работайте стоя, другим-то зачем советовать. 2 часа на тумбочке дневального то еще удовольствие. Ах да, вы же уже полгода так работаете. Правда, сами же говорите, что потом ноги начинают болеть.

Такую технику применяют бодибилдеры — берут очень большой вес и удерживают его в пиковой точке некоторое время
Ага, только там счет идет на секунды, а не на полчаса

Из-за отсутствия полного комфорта вы буквально вынуждены искать быстрые пути решения проблемы
То есть быдлокодить.

Спорт и программирование несовместимы
Вот здесь после фото накачанного спортсмена неплохо бы смотрелось фото директора компании Эдисон из статьи про йогу.

(извиняюсь за возможную резкость в высказываниях, просто такие мысли возникают после статьи)

По теме добавил бы следующее. Самый оптимальный выбор — это бег. 10-20 минут бега через день неплохо компенсируют нагрузку на глаза и голову. А лично мне нравится бег с утяжелением. Лишние 6-7 кг позволяют вместо 2 кругов пробежать 1, время меньше, а мышцы нагружаются почти так же.
Я в общем-то так и подумал. Просто, на мой взгляд со стороны, мне не очень понятно, чем такое «программирование под Windows» отличается от программирования под любую другую ОС, для которой есть браузер.
Ок, мне стало интересно, и я решил вернуться к тому, с чего все началось — к определению длины числа. Способ с делением во всех случаях медленнее умножения. Число 12345678, 20 млн. раз.

Debug, оптимизация отключена
a * b: 00:00:00.6641369
a / b: 00:00:02.0418462
empty: 00:00:00.0883897


Debug, оптимизация включена
a * b: 00:00:00.2367661
a / b: 00:00:01.5960753
empty: 00:00:00.0660346


Release, оптимизация отключена
a * b: 00:00:00.2784811
a / b: 00:00:01.8224548
empty: 00:00:00.0714300


Release, оптимизация включена
a * b: 00:00:00.2012901
a / b: 00:00:01.5951311
empty: 00:00:00.0554228

Скрытый текст
namespace test
{
    class Program
    {
        static uint getCount_Mul(uint x)
        {
            uint p = 10;
            uint count = 1;
            while (x >= p)
            {
                count++;
                p *= 10;
            }
            return count;
        }

        static uint getCount_Div(uint number)
        {
            uint count = (number == 0) ? (uint)1 : (uint)0;
            while (number > 0)
            {
                count++;
                number /= 10;
            }
            return count;
        }

        static void Main(string[] args)
        {
            uint a = 12345678;
            uint loopCount = 20000000;
            uint res = 0;

            Stopwatch sw;
            TimeSpan elapsed;



            Thread.Sleep(100);
            sw = new Stopwatch();
            sw.Start();

            for (int i = 0; i < loopCount; i++)
            {
                res += getCount_Mul(a);
            }

            sw.Stop();
            elapsed = sw.Elapsed;

            Console.WriteLine("a * b: " + elapsed.ToString());



            Thread.Sleep(100);
            sw = new Stopwatch();
            sw.Start();

            for (int i = 0; i < loopCount; i++)
            {
                res += getCount_Div(a);
            }

            sw.Stop();
            elapsed = sw.Elapsed;

            Console.WriteLine("a / b: " + elapsed.ToString());



            Thread.Sleep(100);
            sw = new Stopwatch();
            sw.Start();

            for (int i = 0; i < loopCount; i++)
            { }

            sw.Stop();
            elapsed = sw.Elapsed;

            Console.WriteLine("empty: " + elapsed.ToString());


            Console.WriteLine("res:   " + res);
        }
    }
}

На 100 млн. раз разница более 1 секунды (C#, 3.00 ГГц). Для разовых действий роли не играет, но в движке базы данных или в обсчете статистики будет заметно.

// int a = 12345678, b = 10;
// int count = 100000000;

a / b: 00:00:01.7970217
a * b: 00:00:00.3328430
empty: 00:00:00.2414149

Скрытый текст
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 12345678, b = 10;
            int count = 100000000;

            Stopwatch sw;
            TimeSpan elapsed;



            sw = new Stopwatch();
            sw.Start();

            for (int i = 0; i < count; i++)
            {
                int x = a / b;
            }

            sw.Stop();
            elapsed = sw.Elapsed;

            Console.WriteLine(elapsed.ToString());



            sw = new Stopwatch();
            sw.Start();

            for (int i = 0; i < count; i++)
            {
                int x = a * b;
            }

            sw.Stop();
            elapsed = sw.Elapsed;

            Console.WriteLine(elapsed.ToString());



            sw = new Stopwatch();
            sw.Start();

            for (int i = 0; i < count; i++)
            {}

            sw.Stop();
            elapsed = sw.Elapsed;

            Console.WriteLine(elapsed.ToString());
        }
    }
}

Извиняюсь за нубский вопрос, а то, что в default.js — оно потом компилируется в машинный код или выполняется в каком-то интерпретаторе?
Ну я же не о том, что спрашивают что-то наизусть, и не говорю, что основы знать не надо. Я о том, что в стажеры сисадминов идут практически с любым околокомпьютерным образованием — программирование, защита информации, асутп, телеком. У всех основы разные, не везде сети даются в хорошем объеме, не везде есть хорошие преподаватели. А разобраться с основами на реальных задачах можно за пару дней. Или как ниже пишут, можно БД проектировать и не знать, что это называется 3 нормальная форма. А это ведь тоже основы.

Можно долго рассуждать на тему «вот и выросло поколение» и «почему в университетах ничему не учат», а можно дать возможность проявить себя тем, кто чего-то не знает.
Почему, если химик при приеме на работу не знает таблицу менделеева это фуууу
Не думаю, что химиков просят без запинки назвать все 100 с лишним элементов. А вообще мне это напоминает байку про Эйнштейна и Эдисона.

То есть вы знаете как работает сеть, но какие устройства в ней обеспечивают работу вы не знаете даже на уровне определений?
Да. Потому что меня учили программированию, а не прокладке сетей. А вакансии по городу сплошь эникейщики и помощники сисадминов.

Разберется. Но почему за это должен платить работодатель?
Почему персоналу, которому нужно полное обучение за счет работодателя
Почему вы постоянно говорите о каких-то курсах и какой-то оплате? Вы ищете начинающих специалистов. Долго никого найти не можете. Потом появляется еще один выпускник. Он честно говорит — я многое не знаю, но если надо разберусь. Вы даете ему тестовое задание. Если разобрался и справился, берете на испытательный срок, даете реальную задачу. Все определения понятий, ответы на вопросы, и способы решения проблем он ищет сам по ходу дела. Не справился с задачей — значит не прошел испытательный срок, справился — молодец. Никаких курсов, никакой оплаты. Все как обычно, только у выпускника меньше знаний и больше желания.

Я согласен с автором, что есть много людей, которые хотят много получать и нифига не делать. Я согласен с вами, когда речь идет про специалистов с опытом. Но сейчас речь идет о поиске начинающих специалистов. В вузе не могут дать всего что нужно, так что специалист в любом случае будет чему-то обучаться на рабочем месте. Почему за обучение тем же технологиям Cisco вы готовы платить, а за что-то другое нет? После обучения сертифицированный специалист тоже может от вас уйти. Или вы считаете, что за это работодатель тоже не должен платить?
Вы искренне считаете, что работодатель должен БЕСПЛАТНО, и платя ему ЗАРПЛАТУ обучать себе работника с ВЫСШИМ образованием базовым вещам?
В статье написано, что планировалось внутрикорпоративное обучение. Добавить пару занятий в данном случае не так сложно.

Зачем вы ходили в вуз и платили по 150 тысяч за год?
В вузе мне рассказывали про протокол TCP/IP и про сокеты, но не рассказывали, чем отличается маршрутизатор от коммутатора.

заплатить 150 тысяч рублей за 3х месячный курс основ
За то, чтобы я сам погуглил, чем они отличаются? Все подобные вопросы вполне можно изучить по ходу дела, даже отдельных курсов не надо.

Для сисадмина это не база.
Я описал конкретный пример. Вуз может быть не специализирован на обучение системных администраторов, при этом он может быть один на всю область. Если выпускник, к примеру, сам делал программы для лабораторных по высшей математике, неужели вы думаете, что он не разберется в подробностях организации сетей?

Если человек не знает что такое MAC, а что IP что он может решить?
Он может это узнать, и потом решить. Было бы желание. А с вашей логикой он и в вузе бы ничего не решил. Он ведь многого не знал, когда поступал.
Согласен, но я немного не о том. Вопрос про отличие маршрутизаторов и коммутаторов я впервые услышал на собеседовании на должность помощника системного администратора. То есть до собеседования я об этом не знал. Хотя, например, примерно представлял, как работает протокол TCP/IP. Потом я посмотрел ответ в интернете, и на другом собеседовании ответил, но мне задали другой аналогичный вопрос. На него я тоже потом поискал ответ. Но во всех таких вопросах можно разобраться за пару дней испытательного срока, было бы желание, А желание проверять никто не хочет.
В целом вы все правильно написали. Таких людей довольно много. Но попробую описать это немного с другой стороны.

чем отличается MAC-адрес от IP-адреса. Не понимает зачем нужен маршрут по умолчанию. Не знает разницы между коммутатором и маршрутизатором.
Я учился на программиста, и сейчас занимаюсь программированием, но тоже после универа был готов браться за любую работу практически за любые деньги. Хотя бы и сеть администрировать. И меня так же спрашивали, чем отличается маршрутизатор от коммутатора. Да откуда я знаю? Я ни разу не работал с этим, и вообще не работал по специальности. По сетям у нас 1 семестр был. Дайте мне пару недель испытательного срока, я разберусь во всем что требуется для этой работы. Нет, не знаешь, до свиданья.

и планировали организовывать внутрикорпоративное обучение, уже по конкретным областям (cisco, checkpoint, s-terra)
Чему можно было учить человека 6 лет (магистр) на факультете телекоммуникаций, что он не знает даже базовых вещей???
То есть вы считали, что человек запросто разберется во всех этих технологиях, не будучи с ними знаком, но не разберется в базовых вещах, если посвятить им пару занятий? Может он просто подзабыл то, что было на 3 курсе, университет этому неплохо способствует. Организуйте обучение для «совсем начинающих», или, как выше посоветовали, сотрудничайте с вузами.

Человек не успев даже узнать, чем занимается компания, интересуется сколько он будет получать и возможен ли карьерный рост.
Здесь свою роль играют всякие статьи типа «как вести себя на собеседовании». Не спросил — работодатель подумает, что ты не заинтересован в вакансии. Спросил — твои запросы не соответствуют квалификации. Пойди угадай.

Неужели кто-то надеется, что его возьмут на работу за красивое резюме?
На работу не возьмут, зато из-за наличия ключевых слов резюме попадется в поиске и может даже на собеседование позовут. Может даже какая-нибудь компания, у которой есть обучение новичков. (сам я так не делаю, если что)

Отсутствие инициативы
Здесь полностью согласен. Если не хотеть выполнить тестовое задание для проверки навыков, зачем тогда на собеседования ходить.

Я хочу сказать следующее. Работодателям не нужно смотреть на конкретные знания у новичков. Нужно смотреть, насколько человек способен разобраться в задаче и найти решение.
Мне тоже кажется, что размер зарплаты в данном случае это важный вопрос. А еще было бы неплохо конкретный текст вакансии привести.
Извините, я не понял ваш вопрос. SQL запрос всегда выполняется не в пустоте, а в каком-то окружении. DDoS-атака это действия человека, направленные на перегрузку атакуемой системы.
Я написал «Программы пока не умеют мыслить» и «Простое преобразование данных не сможет научить машину правильно на них реагировать». Если вы об этом, это означает не невозможность мыслить в принципе, а невозможность мыслить на текущей стадии развития программ. Особенно статических программ типа браузера, которые никогда не меняют своей реакции на входные данные.

Не знаю, почему вы считаете, что у программы вдруг появилась более сложная структура. Программе нет никакого дела, настоящими она датчиками управляет, или тестовыми на игрушечной железной дороге, и что вообще находится в цепочке взаимодействия после этих датчиков. Даже больше — программный код, отвечающий за обработку данных у автора на тестовом компьютере, с точностью до бита совпадает с кодом в реальной системе. Иначе это была бы другая программа с неизвестным поведением, и ее никто бы не стал вводить в эксплуатацию.
У меня нет такой предпосылки. Машина может мыслить аналогично человеку, собаке или пчеле. Я говорю о том, что даже если вы назовете SQL запрос, вычисляющий новое положение трамвайных стрелок, способностью «мыслить», никаких скрытых «мыслей» в нем от этого не появится. И ничего кроме этого вычисления он делать не будет. У интеллекта слишком сложная структура, чтобы он мог появиться сам по себе в вещах, которые для его поддержки не создавались.
Какой-то набор странных выводов и непонятных аналогий. Извиняюсь за кучу текста.

Кто сказал, что искусственный интеллект должен быть таким, как его проектировали?
Законы информации и вообще физики. Если мы сделаем программу, которая меняет свое поведение с течением времени, со временем она будет работать по-другому, но изменения будут по тем законам, которые в нее заложены.
А они — НЕ В КУРСЕ. Они уже сами ей подчиняются. Встраиваются в её логику.
Угу. А плотник встраивается в логику молотка. Молотки захватят мир.
Как она ведёт себя с реальными данными? Как управляет стрелками настоящих трамваев, а не тех, виртуальных, на которых тестировалась?
Программа, не меняющая логику работы в процессе выполнения, ведет себя с реальными данными так же, как с тестовыми. То, что тестирование может не проверить все возможные ситуации, это вопрос качества тестирования и качества разработки. С развитием искусственного интеллекта это никак не связано.
Как программа, которая анализирует все новостные статьи на планете, поговорит с программой анализирующей фотографии с вебкамер дорожной полиции, и как они потом поговорят с программой управляющей строительством небоскрёба? НЕТ ДАННЫХ.
Почему это нет? Никак они не поговорят. Потому что API у них разные. Если они вообще есть.
Просто из-за того, что программы мыслят иначе, совсем иначе
Программы пока не умеют мыслить. А вы почему-то приводите это как данность и делаете из этого какие-то выводы.
Вот браузер падает, и никто не может сказать, если ли какой-то смысл и порядок в этом действии. Программисты не вносили, вообще-то, такой способности в него — падать. Они даже с ней боролись. Но он же падает!
Потому что падать — это не отдельная способность, а нарушение условий работоспособности. Программа, которая не работает, падать не будет.
Но она оставляет после себя данные, которые потом куда-то попадут. И как они сработают дальше, как эта культура незримого, таинственного мира живёт, мы смутно представляем.
Они повлияют на программу которая их будет потом обрабатывать, так, как это будет в нее заложено. Здесь нет никакого таинственного волшебства.
Например, двадцать лет пытались переводить тексты анализируя структуру языка, а тут люди просто начали эмпирически прикладывать гигантские массивы сохранённых чатов и комментариев к разным экспериментальным, чуть ли не случайным алгоритмам.
Потому что 20 лет назад технические возможности по обработке огромных массивов данных были очень ограничены.
Часто, алгоритм был создан давным давно, для чего-то совсем другого, и человек думает, а попробую-ка я его к нашему огромному массиву данных, и вдруг получает что-то интересное. Что именно — понять невозможно, оценивается только решение какой-то конкретной задачи, но выходные данные могут содержать что-то невообразимое, вменённое и неявное.
Алгоритм выдаст те результаты, для которых он был создан. Если он должен классифицировать данные — он будет их классифицировать. Если в результатах будут искать решение конкретной задачи, неявные свойства никто не заметит. Если заметят — будут использовать алгоритм для решения еще и этой задачи. С развитием искуственного интеллекта это никак не связано. Простое преобразование данных не сможет научить машину правильно на них реагировать.
Алгоритмическая мутация. Алгоритмы оплодотворяют данные. Так копируется ДНК.
ДНК копируется так, но это не делает верным все высказывание. Так можно и SQL запрос, вычисляющий сумму двух столбцов, признать искусственным интеллектом. Не говоря уже о том, что ДНК есть у всех живых существ, а развитый интеллект только у определенного подмножества.
И то, что люди сами не могут нарочно создать сильный ИИ, не значит, что он не возникнет сам по себе
Не возникнет он сам по себе. Потому что для его существования и функционирования нужны определенные внешние условия и определенное внутреннее устройство. Например, почему у камней нет интеллекта?
И люди, невыспанные, понукающие друг друга, побегут её собирать, думая, что это они себе лучше делают и свои задачи решают, так же как трепетная лань кушая травку не понимает, что она кормит не только себя но и его — тигра.
Еще одна странная аналогия. Может никакого тигра и нет вовсе? Ну вот не водятся они в этой местности. Почему вы вообще сравниваете людей с ланью, а не тигром? Они оба заботятся о своем пропитании. А люди решают свои задачи для своих целей с помощью информации и устройств для ее обработки. Нет здесь никакого заговора, тайны или волшебства.

По теме статьи у меня такое мнение. ИИ не будет захватывать мир, если в него это стремление специально не заложить. Можно сделать терминаторов, дать им в руки автомат, но если не сказать «иди и стреляй», он никуда не пойдет. Обезьяна с гранатой с пистолетом может нажать на курок из любопытства, но в ИИ это любопытство надо специально заложить. И даже если в процессе функционирования поведение робота с ИИ будет менятся в опасную для общества сторону, можно всегда взять отладчик, найти причину, и сделать исправленную копию его интеллекта. Что в случае с обезьяной или человеком-диктатором, который захватил мир, довольно проблематично.
Нахлынули воспоминания… Еще придумал такой способ коротать время в автобусе — рандомно тыкаем кнопки на калькуляторе, пока табло не заполнится. Затем начинаем делить на целые числа: 2 — 3 — 5 — 7 — 113 — 12421… Получилась дробь — значит не делится, проверяем дальше. Глупо, конечно, но что делать, когда надоело в окно смотреть, а в сумке только калькулятор…
Да можно перемножать в уме 3-значные числа, просто как уже верно заметили нужна концентрация, а точнее способность держать в уме одновременно 9 слагаемых. Сам развлекался подобным в старших классах по дороге из лицея домой (2 часа на автобусе). Мне только непонятно, что это делает на главной хабра?
На форуме пользователь по имени Вася Пупкин отправил другому пользователю по имени Вася Пупкин сообщение «Привет, тезка», причем умудрился нажать кнопку «Отправить» 2 раза подряд за одну секунду. Какие семантически значимые свойства сущностей «Пользователь» и «Сообщение» вы бы выбрали в качестве их естественных ключей?

Information

Rating
1,975-th
Location
Россия
Registered
Activity