И к тому же очень сложно (невозможно?) преодолеть психологическое отвращения к мухам / червякам :)
Это приобретенное отвращение. Врожденных рефлексов, не позволяющих питаться насекомыми, у человека нет. Более того, в районах, где со съедобными животными напряг, насекомые считаются прекрасной пищей (некоторые страны Африки и Азии). Жареные муравьи, жареные паучки, жареная саранча, запеченные в бамбуковых трубках личинки жуков поедаются в массовых масштабах.
Нет, черненькая оболочка — это лузга. А отруби — это измельченные ядра непропаренной и непрокаленной гречихи, очищенной от лузги (т.н. «зеленец»).
Просто обычная греча-ядрица — это обжаренные (прокаленные) зерна, имеющие коричневый оттенок.
Мне придётся сильно подумать, что такое реальное, а что нереальное буквосочетание. Сходу идеи не появляются.
Цепи Маркова же.
Берем массив текстов (в известной кодировке, иссессна). Читаем тексты побуквенно и считаем все буквосочетания, скажем, длиной 2-3 буквы. На выходе имеем «профиль» самых частых буквосочетаний. Все, что не входит в сей профиль — нереальные буквосочетания.
Вот и получается, если подать на вход программе enca строку “СТП” в кодировке CP1251, то она решит, что это строка “яро” в кодировке KOI8-r, о чём и сообщит. В обратную сторону также работает.
Ну так это любая библиотека с эвристикой так сделает. Потому что СТП — это непойми что, а «яро» таки похоже на слово.
Какая-то помесь соболезнований и советов ни о чем. Сплошные эмоции — слезы, обнимания с компьютером, потепления в глазах… Барьеры, расставленные самому себе: в аврал не увольняйтесь, дождитесь просветления, завершите проект, вырастите сначала преемника, дождитесь выхода начальства из отпуска… К чему такие страдания?
Увольнение — естественный процесс, не надо делать из него трагедию. Надо понимать простые вещи:
— слишком часто менять работу не стоит, job hopper'ов не очень любят.
— лучше уходить без конфликта, чем с ним.
— лучше уходить на другую работу, чем в пустоту.
Вот что правильно в статье — так это пункты про «проверьте все!». Действительно, лучше проверить все: даты, должность, название организации, вплоть до наличия печатей.
Рекомендации работодателя надо брать у конкретного своего начальника, который вас знает и с вами работал. В отделе кадров вас не знают и спихнут на того, кто может вас и не знать вовсе. Потом может выйти конфуз (перепутали с другим, например).
Что касается «ни в коем случае не грозитесь судом» — ну детский сад, право слово. Бывают прекрасные случаи, когда человека увольняют без выплаты положенных денег. Или вообще без предупреждения выпинывают на мороз — сегодня ты с нами, завтра тебя охрана в офис не пускает (такое я сам видел своими глазами). Если работодатель нарушает закон, его надо привлекать. Обычно угроз достаточно, чтобы работодатель пошел на попятный или на компромисс.
«Вы понимаете, что будете сидеть в одном кабинете с мужчинами, а мужчины- матерятся.»
Подсказываю:
«Для этого люди изобрели наушники».
Они рассказывали мне, что вот если они меня возьмут, а я уйду в декрет, то что делать? Как они будут замещать убывшего сотрудника? Я правда не знала, что отвечать.
Подсказываю:
«Мужа у меня пока нет и не предвидится. Кто-то из вас тут собирается быть осеменителем?»
Я никому не пожелаю такого пути что прошла. И я им не горжусь.
Простите, о каком пути речь? От диплома до первой работы? Это не путь, это первый шаг.
Вы будете сильно смеяться, но этот путь у очень многих был нелегким. Студентота без опыта работы никому не нужна.
Да, я пробила этот пресловутый стеклянный потолок, чтобы забраться на унылый холмик, на который другие заходят в развалку, вздыхают и идут покорять настоящие горы.
Это только кажется, что другим все дается играючи. Просто они не складывают лапки после первых разочарований, а корректируют цели, ставят новые задачи и двигаются дальше. А вы на холмике плачете.
Грустно понимать, что моя не стоила.
Так вы пока к ней и не пришли. Так, первый шажок сделали, наступили в какашку, расплакались, что достигнутый подъем измеряется сантиметрами, и теперь думаете сложить лапки. А надо — вытереть подошву о ближайшее бревно, осмотреться на новом месте, приглядеться к новым перспективам и начать двигаться в их направлении.
Так и руководитель отдела, скорее всего, не владелец компании. Но свое пространство для принятия решений у него таки есть. А если компания большая и транснациональная, то расстояние от него до владельцев — космическое.
Плюс могу вопрос перезадать: хорошо, лирический герой не возглавляет идиотов. Но тогда зачем идиотам подчиняться?
Вы уж определитесь, имеет право лирический герой называть их идиотами или у него не те компетенции. Я, если вы заметили, писал про «идиотов» в кавычках. Потому как не все, что кажется глупостью рядовому работнику, таковой глупостью является.
Что касается «зачем подчиняться» — ну, например, чтобы проект не загнулся и разработчики с проекта не разбежались. Я лично видел тимлидов и менеджеров, защищавших работников от начальственного бреда, так что ситуация вполне себе жизненная.
Опять же, денежки и перспективы роста.
Но в итоге, если не голосовать против идиотов ногами или ещё чем, они останутся.
Я, как бы, в основном не про то, чтобы страдать под гнетом, а про то, чтобы самому занять место руководителя вместо посаженного кем-то идиота. Тут, правда, нужна длительная подготовка и желание, а не просто «о, начальник увольняется — интересно, кого назначат?». :)
Ну и — опять же — если автор хотя бы интересовался в этом направлении, то для него бы не было секретом, кого назначат и куда все двинется в итоге. И он бы смог вовремя и без лишней пыли «проголосовать против идиотов ногами».
А, ну да, теперь вижу. Только вот в комментарии «идиотами» назывались некомпетентные руководители, верно? Потому что в статье команда разработчиков описывается как вполне компетентная и адекватная.
Я имел в виду, что возглавить надо не уже имеющихся руководящих «идиотов», вклинившись в штатное расписание (кто ж вам такие фокусы разрешит-то?). Возглавлять надо команду — чтобы для «идиотов» вообще не было места.
Для этого автору статьи надо было готовиться заранее — не только нарабатывать авторитет среди коллег, но и ввинчиваться в управление. Налаживать контакт с начальником до того, как он уволился — чтобы понимать, куда идет контора в целом и какая роль отведена отделу в частности. Опять же, налаживать контакты выше, чтобы при возникновении вопроса «кем заменим увольняющегося Васю?» сразу возникала правильная кандидатура. Наконец, если бы при выяснении обстоятельств выяснилось, что отдел решили принести в жертву из-за подковерных интриг — это помогло бы автору вовремя принять решение и уволиться, не наделав глупостей.
А вариантов всего два — по-хорошему расстаться, получив рекомендательное письмо, или сидеть и не рыпаться, делая минимум того, что нужно, чтобы не перегорать и быть на хорошем счету у начальства.
Есть еще и третий вариант, не для всех: пролезть в начальство самому и спасти проект. Вот только делать это надо не наобум и не конфликтуя напрямую с руководителем. Как минимум надо понимать, кто с кем дружит и против кого. Ну и вообще — надо будет перестать думать о программировании и начинать думать как белая обезьяна.
Есть мнение, что С++ живет не только с QT. Предложите тогда решение...
Ответ понятен.
Но современный c++ ничем не хуже. И годится для самых разных задач. И для веба тоже.
Сейчас-то да, хотя время уже давно упущено.
Речь шла о С++ 15-летней давности. Ну и плюс к тому — гражданин писал на нем как на слегка улучшенном си — ASCIIZ строки, strcat/strlen, вот это все.
Вопрос с формированием страниц решается созданием простейшего шаблонизатора…
Правда, таким макаром и до собственного интерпритатора недалеко…
Именно об этом я и говорю.
Из плюсов использования C++ в вебе — Это возможность обойтись и вовсе без веб-сервера (написать свой, как часть сайта, либо воспользоваться uHttp или другим мини-сервером).
Ну так-то да. Только автор статьи рассказывает именно про CGI (причем на хостингах). На хостинге за открытие порта в неположенном месте могут и по тыковке настучать. :)
Все это прекрасно, но — увы — бессмысленно. Нет никакой гарантии, что при затирании файла вы затираете именно старые данные на диске. К примеру, если файловая система поддерживает версионность или CoW, то вы будете старательно каждый из 35 раз писать в новое место.
Удивительное дело. Когда-то давно я такой проект видел — только с очень большим трудом удалось уговорить его создателя перейти на какой-нибудь скриптовой язык, чтобы проект можно было реально развивать. В процессе уговоров я слышал практически все «аргументы» за С++ в вебе, которые автор приводит в статье. 15 лет прошло, а заблуждения все те же. :)
Разве что докера тогда не было.
Вот даже не поленюсь разобраться с главным:
С++ невероятно быстр в работе с хорошим кодом. Интерфейс CGI немного замедляет работу, но даже так вы получите выполнение лучше, чем на интерпретируемых языках вроде PHP.
Быстр — это прекрасно. Вот только скорость вычислений в вебе не очень-то важна. CGI-программы не занимается тяжелыми вычислениями. А сэкономленные сто тактов процессорного времени просто потеряются на фоне ожиданий и задержек, вносимых запросами к базе данных и операциями ввода-вывода.
А вот про что автор скромно умолчал:
Страницы приходится формировать вручную чуть ли не построчно. Т.е. ни о каком редизайне сайта речи быть не может: поди разберись в тысячах строчек, где выводятся куски страниц. Если же грузить страницы из внешних файлов, то получится свой самописный шаблонизатор — т.е. тот же PHP, но обрезанный и свой.
То, что текст всех страниц хранится в памяти, приводит к разрастанию бинаря. Чем больше разнообразных страниц отдает сайт в своих ответах, тем больше текста в бинаре. При этом на любой запрос в память грузится весь бинарь, хотя в ответе реально используется лишь малая часть текста. Тут можно возразить, что текста будет меньше при правильном разбиении страницы на хедер, футер и прочие стандартные части. Это так, но для больших проектов текста будет все равно очень много. Можно, конечно, собрать несколько разных бинарей… :)
Если бинарь упадет по ошибке, то найти причину падения будет очень сложно. Особенно если нет core dump'а. Или нет отладочной информации.
Если на сайт большая нагрузка, обновить бинарь не удастся. Пока программа работает, исполняемый файл блокируется от записи (не всегда, не везде, но бывает). Придется приостанавливать веб-сервер или химичить с символическими ссылками.
Это то, что сходу вспомнилось.
А, и еще один веселый момент: если сайт расположен на хостинге, то тамошний админ может сильно удивиться, обнаружив у клиента непонятный бинарь с правами запуска. Ну и удалит его нафиг для ясности. :)
Это приобретенное отвращение. Врожденных рефлексов, не позволяющих питаться насекомыми, у человека нет. Более того, в районах, где со съедобными животными напряг, насекомые считаются прекрасной пищей (некоторые страны Африки и Азии). Жареные муравьи, жареные паучки, жареная саранча, запеченные в бамбуковых трубках личинки жуков поедаются в массовых масштабах.
Просто обычная греча-ядрица — это обжаренные (прокаленные) зерна, имеющие коричневый оттенок.
Цепи Маркова же.
Берем массив текстов (в известной кодировке, иссессна). Читаем тексты побуквенно и считаем все буквосочетания, скажем, длиной 2-3 буквы. На выходе имеем «профиль» самых частых буквосочетаний. Все, что не входит в сей профиль — нереальные буквосочетания.
Ну так это любая библиотека с эвристикой так сделает. Потому что СТП — это непойми что, а «яро» таки похоже на слово.
Увольнение — естественный процесс, не надо делать из него трагедию. Надо понимать простые вещи:
— слишком часто менять работу не стоит, job hopper'ов не очень любят.
— лучше уходить без конфликта, чем с ним.
— лучше уходить на другую работу, чем в пустоту.
Вот что правильно в статье — так это пункты про «проверьте все!». Действительно, лучше проверить все: даты, должность, название организации, вплоть до наличия печатей.
Рекомендации работодателя надо брать у конкретного своего начальника, который вас знает и с вами работал. В отделе кадров вас не знают и спихнут на того, кто может вас и не знать вовсе. Потом может выйти конфуз (перепутали с другим, например).
Что касается «ни в коем случае не грозитесь судом» — ну детский сад, право слово. Бывают прекрасные случаи, когда человека увольняют без выплаты положенных денег. Или вообще без предупреждения выпинывают на мороз — сегодня ты с нами, завтра тебя охрана в офис не пускает (такое я сам видел своими глазами). Если работодатель нарушает закон, его надо привлекать. Обычно угроз достаточно, чтобы работодатель пошел на попятный или на компромисс.
Подсказываю:
«Для этого люди изобрели наушники».
Подсказываю:
«Мужа у меня пока нет и не предвидится. Кто-то из вас тут собирается быть осеменителем?»
Простите, о каком пути речь? От диплома до первой работы? Это не путь, это первый шаг.
Вы будете сильно смеяться, но этот путь у очень многих был нелегким. Студентота без опыта работы никому не нужна.
Это только кажется, что другим все дается играючи. Просто они не складывают лапки после первых разочарований, а корректируют цели, ставят новые задачи и двигаются дальше. А вы на холмике плачете.
Так вы пока к ней и не пришли. Так, первый шажок сделали, наступили в какашку, расплакались, что достигнутый подъем измеряется сантиметрами, и теперь думаете сложить лапки. А надо — вытереть подошву о ближайшее бревно, осмотреться на новом месте, приглядеться к новым перспективам и начать двигаться в их направлении.
Вы уж определитесь, имеет право лирический герой называть их идиотами или у него не те компетенции. Я, если вы заметили, писал про «идиотов» в кавычках. Потому как не все, что кажется глупостью рядовому работнику, таковой глупостью является.
Что касается «зачем подчиняться» — ну, например, чтобы проект не загнулся и разработчики с проекта не разбежались. Я лично видел тимлидов и менеджеров, защищавших работников от начальственного бреда, так что ситуация вполне себе жизненная.
Опять же, денежки и перспективы роста.
Я, как бы, в основном не про то, чтобы страдать под гнетом, а про то, чтобы самому занять место руководителя вместо посаженного кем-то идиота. Тут, правда, нужна длительная подготовка и желание, а не просто «о, начальник увольняется — интересно, кого назначат?». :)
Ну и — опять же — если автор хотя бы интересовался в этом направлении, то для него бы не было секретом, кого назначат и куда все двинется в итоге. И он бы смог вовремя и без лишней пыли «проголосовать против идиотов ногами».
Я имел в виду, что возглавить надо не уже имеющихся руководящих «идиотов», вклинившись в штатное расписание (кто ж вам такие фокусы разрешит-то?). Возглавлять надо команду — чтобы для «идиотов» вообще не было места.
Для этого автору статьи надо было готовиться заранее — не только нарабатывать авторитет среди коллег, но и ввинчиваться в управление. Налаживать контакт с начальником до того, как он уволился — чтобы понимать, куда идет контора в целом и какая роль отведена отделу в частности. Опять же, налаживать контакты выше, чтобы при возникновении вопроса «кем заменим увольняющегося Васю?» сразу возникала правильная кандидатура. Наконец, если бы при выяснении обстоятельств выяснилось, что отдел решили принести в жертву из-за подковерных интриг — это помогло бы автору вовремя принять решение и уволиться, не наделав глупостей.
Есть еще и третий вариант, не для всех: пролезть в начальство самому и спасти проект. Вот только делать это надо не наобум и не конфликтуя напрямую с руководителем. Как минимум надо понимать, кто с кем дружит и против кого. Ну и вообще — надо будет перестать думать о программировании и начинать думать как белая обезьяна.
Ответ понятен.
Сейчас-то да, хотя время уже давно упущено.
Речь шла о С++ 15-летней давности. Ну и плюс к тому — гражданин писал на нем как на слегка улучшенном си — ASCIIZ строки, strcat/strlen, вот это все.
А вы примеры посмотрите в статье — там все фрагменты страницы хранятся как строки. Где хранятся? Естественно, в памяти.
Если пользоваться шаблонизатором, то какой смысл писать свой, если есть уже готовый и очень неплохой — PHP называется? :)
Какими? Qt — чтоб сразу +7 мегабайт в память загрузилось? :)
Именно об этом я и говорю.
Ну так-то да. Только автор статьи рассказывает именно про CGI (причем на хостингах). На хостинге за открытие порта в неположенном месте могут и по тыковке настучать. :)
Разве что докера тогда не было.
Вот даже не поленюсь разобраться с главным:
Быстр — это прекрасно. Вот только скорость вычислений в вебе не очень-то важна. CGI-программы не занимается тяжелыми вычислениями. А сэкономленные сто тактов процессорного времени просто потеряются на фоне ожиданий и задержек, вносимых запросами к базе данных и операциями ввода-вывода.
А вот про что автор скромно умолчал:
Это то, что сходу вспомнилось.
А, и еще один веселый момент: если сайт расположен на хостинге, то тамошний админ может сильно удивиться, обнаружив у клиента непонятный бинарь с правами запуска. Ну и удалит его нафиг для ясности. :)