• 1С программист. Начало карьеры. Как эффективно обучаться?

    tema_sun
    @tema_sun
    Нравится вам 1С так и хорошо, занимайтесь им. Я думаю в России этот продукт будет популярен еще долго.Только учтите, что это не избавит вас от вопроса "что даст мне моя текущая профессия через 3-5 лет".
    А вообще, лучшее, что вы можете сделать - перестать задавать этот вопрос в принципе. Он только тревожность поднимает и ничего не дает взамен.

    Половина аудитории, что-то активно решали с осознанием дела. Что никак нельзя отнести ко мне.

    Перестаньте сравнивать себя с другими. Всегда есть кто-то лучше. Не смогли освоить материал сразу? Пробуйте еще. Может эта половина аудитории там пятый раз сидит, и поэтому что-то решает.
    Ответ написан
    Комментировать
  • Что выбрать сервер или обычный системный блок?

    @ralaton121
    По производительности серверное оборудование (за те же деньги) - существенно хуже, ниже.
    Но надежнее.

    Хотя для ваших целей хватит и i5, ни на какой i7 денег тратить не нужно.

    Скажите, вашу организацию не смущает, что для AD и пр да еще на 100 штук нужно ПОКУПАТЬ лицензии?
    На сервер и на рабочие места.

    Ставьте NAS4Free - это такой специальный дистрибутив с веб-управлением.
    Там и AD через Samba и файловый сервер и много много еще чего. И сервер можно взвести штатно через веб-панель.
    Если вам нужны все фенечки - типа дедупликации файлов и т.п., то нужно оперативки хотя бы 4, лучше 8 Г. Но и 2 Г вполне потянет.
    Процессор же можно старый древний i3 первых поколений.

    Смешивать файрвол и сервер хранения данных - не стоит.

    Вместо Kerio (который, кстати, тоже платный) - я бы поставил pfSense - также специализированный дистрибутив с веб-управлением.
    Железа достаточно слабого, давшнишнего, на котором даже пользователям работать некомфортно - этому серверу хватит
    Ответ написан
    Комментировать
  • Программирование на C# в Linux?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Будут ли работать и работать корректно IDE (полноценные версии) Visual Studio
    Visual Studio - очень вряд ли, а вот C#-программы созданные в Visual Studio под линуксом запустить можно, с помощью Mono. Года примерно 2-3 назад я так и пытался делать, откровенно говоря, работа с программой собранной в VisualStudio (под виндой) и запущенной под Mono'й в линуксе, чем-то напоминало тестирование альфа-версии windows. Но сам факт, того, что оно запускалось и работало - на лицо. Не знаю, может быть сейчас что-то изменилось к лучшему.

    Вместо VisualStudio, разработчики Mono предлагают Вам использовать MonoDevelop. На мой взгляд, сравнивать их не очень разумно, но последний тоже имеет полное право на жизнь.

    Но вот вопрос, как обстоят дела с программированием на выше перечисленных языках в этой ОС?
    Со всеми остальными языками, кроме C# - дела обстоят на мой взгляд, отлично. Хотя, говоря про C# - я имею в виду полноценную .NET-платформу, с винФормами, WPF и всей прочей дребеденью, к которой Вы возможно уже привыкли работая в VisualStudio/Windows.

    PyCharm, SmartGit и другие проги
    PyCharm - думаю да, это же от JetBrains штуковина? Все известные мне IDE их производства одинаково хорошо работаю и в Linux и в не Linux :))

    Других "прог" там тоже хватает, думаю, касательно программ для работы с Git'ом - у Вас проблем не возникнет.

    Какие особенности, чего ждать, к чему готовиться, стоит ли вообще.
    Особенности - это кардинально другая ОС, со всеми вытекающими. Другие оболочки рабочего стола, другой внешний вид, другие... "другие" примерно всё, что Вы можете придумать. От принципов разработки ОС до всего остального. Хотя нет, некоторые сходства есть в целом. В линуксе так же есть рабочий стол, нечто напоминающее по смысл кнопку "Пуск", курсор мыши и некоторые другие случайные совпадения с другими ОС.

    Стоит ли? - ответ на этот вопрос каждый выбирает для себя сам, лично. Я для себя давно решил, что стоит, чему и рад вполне. Долго сопротивлялся и упрямился линуксу "на рабочем столе", хотя и был довольно большой опыт работы с оным и с FreeBSD ещё с лохматых времен, кода актуальными были FreeBSD-4 и Debian-3. Сейчас Windows стоит на "запасном" диске, т.к. меня там всё ещё держат несколько программ, в т.ч. для обработки звука и фотошопы последних версий. Если бы не это - давно бы сидел в никсах и жил бы спокойно и счастливо.
    Ответ написан
    2 комментария
  • Почему страница помнит ранее созданный Singleton при генерации отчетов (npoi)?

    В моем понимании, если я перегружаю страницу, да еще и с другими GET параметрами, все экземпляры классов должны создаваться заново, откуда старый экземпляр?

    Singleton существует на уровне приложения, а не на уровне запроса одного пользователя.
    Ответ написан
    Комментировать
  • Почему не перезапускается Puma (Rails)?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    У Вас не убивается пума, поэтому и не стартует новый инстанс сервера

    Решения Вашей проблемы 3
    1 Очень простой, но может и не получиться. Поиграть с версиями капистрано и пумы., может какае-то связка и заработает
    2 Ковырнуть исходники, посмотреть какие команды выполняются на restart и почему текущий сервер не убивается
    3 Использовать какую-либо тулзу для мониторинга сервера. Она же будет его перезапускать и будет делать это правильно. Простой вариант - гем https://github.com/ddollar/foreman, получше (но сложнее) -тулза https://mmonit.com/monit/
    Ответ написан
    Комментировать
  • А какой есть аналог Spring webflow в Django?

    sim3x
    @sim3x
    https://github.com/viewflow/viewflow

    Для нескольких форм проще сделать сохранение в сессию пользователя
    Ответ написан
    1 комментарий
  • Как сделать отзывы с верификацией на email?

    petermzg
    @petermzg
    Самый лучший программист
    1. Добавьте в модель Review поле Verificated, которое изначально будет проставляться в False.
    2. Отправьте письмо с ID созданной записи, и чтобы не подделали, для примера, добавьте md5 от полей Review
    3. Когда пользователь перешел по ссылке, сверяете ID и MD5 для него.
    4. Если все хорошо, то меняете значение поля Verificated на True
    5. Показываете страницу "Отзыв опубликован"
    Ответ написан
    2 комментария
  • Разработка web-сервисов – LAMP (Python/Django) vs. MEAN (Node.js)? Или что-то другое?

    un1t
    @un1t
    Выбор ЯП и стека вещь сугубо субьективная. Параметров слишком много, чтобы можно было объективно сравнить.
    Все перечисленные технологии популярны и в ближайшиее 5 лет будут востребованы. Выбирай то что нравится.

    В пользу Node: всё идет к тому, что js станет стандартом как на фронте, так и на сервере. Через 5 лет серверную часть не на js будут писать только ленивые ретрограды.

    Ну-ну. Или стухнет как руби.

    Приложения получаются быстрее python и др. в 10-15 раз, выдерживают большие нагрузки,

    У JS нет превосходства в производительности над Python. Скорее наоборот. Но в целом я бы не рассматривал производительность как фактор выбора, т.к. в первом приближеннии она одинакова.

    нет задач, которые нельзя было бы реализовать в рамках MEAN-стека.

    Можно так и про ассемблер сказать, но это не делает его удобным для веб разработки.

    Технология в стадии активного развития, через 5 лет сегодняшние её косяки будут исправлены, и она станет стандартом де-факто для web-приложений, как php для web-сайтов когда-то. Нет смысла тратить время и распыляться на морально устаревающие средства.

    Некоторые косяки действительно будут исправлены. С монгой все поигрались и забыли, вернулись к реляционным БД. Express.js это наколенная поделка, которую можно написать за один вечер. Там по сути кроме роутинга ничего нет. Может быть черзе 5 лет на ноде появятся какие-то полноценные фреймворки типа Джанги, Рельсов или Симфони, но на сегодняшний день их нет. Angular это вообще фронтенд, его можно с любым бакендом использовать.

    На мой вкус Python имеет преимущество, как более приятный язык программирования с более широкой областью применения. Также Python является стандартом в популярной сейчас области анализа данных и машинного обучения. В Python можно писать синхронный код, так и асинхронный и это поддерживается на уровне языка.
    Ответ написан
    Комментировать
  • Разработка web-сервисов – LAMP (Python/Django) vs. MEAN (Node.js)? Или что-то другое?

    1) Мой основной язык Python, на JS больших программ почти не писал. Когда писал на нём больше, то ощущал дискомфорт из-за:
    - отсутствия нормального наследования (хотя сейчас, вероятно, это уже исправлено)
    - трудностей с типами данных и неявными преобразованиями (вот вчера буквально был холивар на Тостере о == и ===)
    - списков, реализованных как переодетые объекты
    - отсутствия из коробки структур данных вроде deque.

    Но это были студенческие поделки.

    2) Python предоставляет больше средств борьбы со сложностью. Наследование, система метаклассов, синтаксический сахар. Хотя бы даже такая штука как property. Он даёт больше возможности инкапсулировать сложность внутри. Ну и на нём действительно очень много разнообразных библиотек. Возьмите хотя бы Django: она умеет автоматически генерировать миграции базы данных. Насколько я знаю, это мало кто умеет делать.

    3) Не думаю, что JS - это язык будущего для бэк-енда. Я бы согласился, если бы вы сказали про Scala или Kotlin, которые куда больше подходят для больших и сложных приложений хотя бы потому, что имеют ещё больше средств борьбы со сложностью, чем Python. Поэтому я смотрю скорее в их сторону для своего будущего профессионального развития, не на JS. Он как-то не очень тянет в сравнении.

    4) Ничто не помешает вам изучить платформу А, затем Б, потом В и так далее; от этого только польза. Может быть, вы через десять лет будете на Quipper - диалекте Haskell для квантовых компьютеров - писать. Но начинать посоветую всё же с Python - чтоб меньше заниматься мазохизмом и больше писать кода.)
    Ответ написан
    2 комментария
  • Чем открыть exe файл для редактирования?

    15432
    @15432
    Системный программист ^_^
    Если вы ожидали найти там исходники, такого не будет. .exe содержит скомпилированный код и ресурсы типа иконок, библиотек, диалогов. Если ресурсы относительно несложно поменять через всякие Resource Editor, то чтоб модифицировать .exe файл, нужно его дизассемблировать, понять устройство ассемблерного кода и внести изменения вручную, это далеко не так просто. Например, этим занимаются при взломе программ - кейгены, патчи, кряки.

    Ответ на ваш вопрос будет таков:
    Просто "открыть" можно через 7-zip
    Незащищенные .exe дизассемблируются через IDA Pro
    Запакованные или защищенные .exe нужно предварительно распаковать (в самом тупом случае - через UPX, в сложных - дизасмить распаковщик и динамически отлаживать)
    Ответ написан
    1 комментарий
  • Насколько легко трудоустроиться программисту в 40+, 50+ итд лет?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    До 35 получал массу предложений от российских компаний, как исполнилось 35 -- поток моментально практически иссяк (с нескольких штук в неделю до одного в месяц). К счастью, к этому моменту я уже был готов работать за рубежом, где никаких проблем с трудоустройством не испытал.
    Ответ написан
    3 комментария
  • Насколько легко трудоустроиться программисту в 40+, 50+ итд лет?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    1. Да, берут более молодых. Но почему?
    По большей части у них есть больше энергии и сил.
    Если возникает необходимость что-то сделать грандиозное: перейти на новый фрейморк, сидеть до поздна несолько дней лишь выдать продукт с правкой багов и др. То у молодых больше энергии

    2. Но также берут и по-старше.
    Но все люди разные. Кто-то уже "устал" и вообще ничего не хочет делать. А-ля "перегорел". А кто-то придет и запустив WinDbg напишет на коленке скрипт для pykd и найдет кучу уязвимостью. Потом их опишет и скажет "У Вас ребята руки из жопы. Так писать нельзя" и покажет как надо! Вот в таких случаях работодателю страшно уже по-другому поводу "А не слишком ли опытный? Ведь ЗП по-больше будет просить!" ;)
    Ответ написан
    9 комментариев
  • Насколько легко трудоустроиться программисту в 40+, 50+ итд лет?

    fedorez
    @fedorez
    Хатуль мадан
    Елки зеленые. Раз в пару месяцев появляется тема, собирает массу ответов, висит в топе несколько дней и так до следующего раза))
    Ну гляньте поиском...
    Кратко - да, проблема есть. Но если ты не тупой, не размяк мозгом и профпригоден, живёшь в городе где фирм больше трёх, то кадровый голод в индустрии позволяет класть на неё большой болт. Ну не возьмут вас в пару мест из-за этого. Будет у вас пара отказов из пяти таковых по этой причине. Ну придёте туда где нет таких загибов, и всё.
    А лучше быть хорошим специалистом в востребованной области, знать английский - пофиг вам будет на эти местечковые комплексы.
    Как-то так.
    Ответ написан
    1 комментарий
  • Насколько легко трудоустроиться программисту в 40+, 50+ итд лет?

    @dinegnet
    Просто есть плохие программисты и есть хорошие.
    У меня полно коллег в возрасте 40+ на которых очередь из клиентов стоит.

    Коллега Пума из Тайланда правильно сказал:
    устроиться в этом возрасте намного легче чем в двадцать )

    потому что в этом возрасте, в возрасте за 40 -
    • ты или уже профи
    • или уже не программист.

    Мой друг, также программист 1С, рассказывал о ситуации у них в конторе, где он был свидетелем, как резюмэ 2 кандидатов с солидным опытом разработки были отброшены почти сразу, так как обоим было 43-45 лет. И директор IT-отдела сказал тогда другу: "ну куда мы будем таких брать? Нам нужен молодой, энергичный".


    Работы по 1С делятся на 2 совершенно разных вида деятельности:

    1. Бегать по фирмам, обновлять 1С - называется должность почему-то программист.
    2. Реально программировать. Можно не бегать, а выяснять задачу по телефону. Изредка выезжая на встречу с заказчиком


    Ну и есть некая усредненная между этими двумя пунктами деятельность.

    Так вот в вашем случае им был нужен человек на первый вид деятельности.

    P.S.:
    И да - есть еще такая штука как "слишком квалифицированный работник".
    таких работников сразу отметают.

    Я например сам это делают из двух соображений:

    1. Слишком квалифицированному будет скучно, не интересно, что скажется на качестве его работы.
    2. Слишком квалифицированный скорее всего хочет у меня работать временно, в качестве перевалочной базы, найдет работу по своей квалификации - и свалит. В частности эта ситуация характерна для недавно переехавших в другой город.
    Ответ написан
    Комментировать
  • Насколько легко трудоустроиться программисту в 40+, 50+ итд лет?

    @Matar
    что то какой то бред написали )
    я пошел в программисты в 37 (!) лет. Причем, сознательно шел на слом своего мозга, ибо до этого 15 лет работал гуманитарием в сфере рекламы и маркетинга.
    И когда я пошел устраиваться на работу, на меня все смотрели не как на прыщавого джуна, а с уважением.
    Возрастных ограничений не увидел вообще, когда менял вторую работу программиста, то оценивался именно опыт как программирования, так и опыт тупо возрастного опыта.
    сейчас я заведую it отделом. справа от меня сидит программист 25 лет, слева 27 лет.
    Причем оба сильнее меня, как спецы. А начальник я. А почему? Потому что опыт )
    вот таки дела, малята )
    Ответ написан
    2 комментария
  • Насколько легко трудоустроиться программисту в 40+, 50+ итд лет?

    @kgbplus
    Мне 39, я часто работаю с молодыми командами. Самая главная проблема, которая возникает - это ситуация "мы просрали все сроки, поэтому будем работать ночами и по выходным, а ты хоть и сделал все вовремя, но должен нам помочь". После отказа (семья, дети) на меня обижаются и работать со мной какое то время не хотят, типа ненадежный товарищ.
    Ответ написан
    Комментировать
  • Насколько легко трудоустроиться программисту в 40+, 50+ итд лет?

    Чушь, на самом деле.

    1) Довод первый, личный. Ну вот у нас в команде есть разработчик, которому за 40, занимается JavaScript. Ощущения исключительно положительные. Товарищ имеет большой опыт и очень хорошо знает что делает. Да ещё и изучает что-то новое, куда-то движется в своей области.

    Ну, правда, знал я одного или двух товарищей, которым тоже за 40 и которые обладают опытом, но при этом обладают ещё и первосортной наглостью, более всего заботясь о том, чтоб засчитать побольше часов (неплохо оплачиваемых), а не о том, чтоб их код без ошибок работал. :) Просто у человека нет совести и желания профессионально делать свою работу, это бывает в любом возрасте.

    2) Довод второй, социологический. Как известно, у человека в течение последних веков продолжительность и всей жизни в целом, и составной её части - детства стала гораздо больше. В пушкинские времена крестьянские девочки в 13-14 лет были на выданье, на них ложилась вся тяжесть семейной жизни. Сейчас это совершеннейшие дети, им только в куклы играть.

    Двадцать лет назад парень 20 лет был взрослым и уже зачастую женился. Сейчас 20 - это молодо-зелено; крепко стать на ноги к этому возрасту, стать профессионалом в интеллектуально ёмкой отрасли деятельности - да невозможно практически; посему и о семье говорить рано, что бы там ни вопили охранители. Ну и естественным образом, коль скоро детство и молодость растягиваются, то и период активной интеллектуальной деятельности - тоже должен сдвигаться. Захватывая и 40 лет, и 50, а может и 60-70. Тут уж зависит от индивидуальных усилий.

    3) Довод третий, профессиональный. Слышал ли кто-нибудь, чтобы грамотного, квалифицированного профессора математики выгоняли в 50 лет? Конечно, он наверняка уже не может генерировать идеи, как он это делал в 20; математика - дело молодых. Но опыт его огромен, он пользуется уважением, учит студентов и аспирантов; совет его ценится и может серьёзно помочь молодым коллегам; он далеко не вне профессии. Почему так происходит? Потому что математика - это устоявшаяся область, математика - это профессия в полном смысле.

    Программирование пока не вполне созрело как профессия, потому что оно несколько моложе математики (ну, не менее чем на пять тысяч лет, если считать от Московского математического папируса с задачами по стереометрии). О том, что программирование должно стать профессией - см. пост Роберта Мартина, который мне очень нравится: blog.cleancoder.com/uncle-bob/2016/07/27/TheChurn.html

    UPD. Другие ораторы упомянули о психологических причинах: тим-лиду, которому 25, боязно показать команде своё невежество в сравнении дядькой, которому 40. Ну это больше говорит о тим-лиде, а не о дядьке. Тим-лиду следует посидеть вечерком в тиши и подумать, правильно ли он живёт в этом мире, коли руководствуется мерками каменного века и правилом "я начальник, ты дурак".
    Ответ написан
    2 комментария
  • Насколько легко трудоустроиться программисту в 40+, 50+ итд лет?

    Arris
    @Arris
    Сапиенсы учатся, играя.
    Трудно - и с каждым годом будет все сложнее и хуже. С каждым годом растет объем пула "минимально-необходимых для программиста компетенций" . Каждый год появляются какие-то новые фреймворки, инструменты, фишки - которые по идее должны облегчать и упрощать разработку - но на деле вырастают непреодолимой стеной между тобой и "реальным миром веб-разработки". Потому что ты стареешь, а технологии молодеют.

    Я бы картинку нарисовал, но там очень уж нецензурный вид получается ;-)

    И "впихнуть" в себя все новые технологии ну не получается никак - ты или распыляешься и все знаешь по верхам... или идешь вглубь темы. Но тогда приходится откладывать новые технологии в сторону, потому что на них тупо не хватает времени и/или сил. В молодости - времени. Позже - сил.

    Уже сейчас чтобы тебя считали верстальщиком/программистом/фронтэндером/бэкэндером - надо знать в 2 раза больше технологий, чем 2 года назад. Этакий Закон Мура наоборот. Да вы сами просто посмотрите эти списки "компетенций"!

    Читаешь список требований к "Web-программистам" и видишь, что месяц за месяцем, год за годом HR-ы и те, кто там им задачи ставит, вписывают в требования все больше умных словечек, которые они сами услышали и не понимают, зачем оно им нужно и нужно ли? Все ближе и ближе ситуация подходит к "Если бы водителей принимали на работу как програм.... В 2010 году это была "шутка юмора". Сейчас это уже почти реальность.

    Пример хотите?

    Одна государственная организация выставила список требований к "веб-программисту". При зарплате в 35000 рублей он должен уметь чуть ли не МКС программировать и чуть ли не кластера из сотен серверов настраивать. А на деле основной задачей человека будет - таскать проекторы из аудитории в аудиторию, чистить мышки студентам, переставлять winxp и изредка, раз в полгода - добавлять статью на сайт гос.организации. Откуда информация? Связался с человеком, которому 45, который в этой организации работает уже 18 лет. Ему стаж капает, а деньги он зарабатывает совсем в другом месте.


    Что уж говорить об организациях коммерческих? Особенно тех, для которых веб-программист - и чтец, и жнец, и на дуде игрец?

    Но это все лирика и крик души. Извините.

    И да, к 35-40-45 годам по мнению "молодых и амбициозных IT-специалистов" ты должен обладать строго определенным списком компетенций как в профессии, так и по жизни (к примеру, я столнулся с отказом в приеме на позицию программиста потому что у меня нет... автомобиля. Зачем программисту автомобиль? Ну там сложная и длинная логическая цепочка, сводящася к "раз у тебя нет автомобиля - ты лох, а лохи нам не нужны").
    Мне кажется, проблема в том числе и в том, что подавляющее большинство этих самых "молодых и амбициозных" специалистов совершенно не думают о своем будущем. Нет, я не про то будущее, которое "куда я пойду, когда закончу вот этот крутой проект". Я о реальности. В их понимании 35 лет - это недостижимо далёкое будущее, а до 50 они не доживут (а если и доживут - то в мечтах тимлидами в гугле).

    Соответственно "молодые и амбициозные специалисты" с презрением смотрят на людей, которые отдали 15 лет разработке определенной платформы, платформы, которую сейчас тщится заменить какой-то пул новых технологий. По их мнению - все что старше 5 лет - ненужное устаревшее говно мамонта. А те, кто не знают появившуюся полгода назад технологию - отставшие от жизни ламеры.
    Also, Эффект Даннинга—Крюгера тут работает в полную силу.

    Резюмирую: трудно, если у тебя нет в резюме стапятисот сделанных проектов. И чем дальше - тем сложнее и труднее будет. Но тебе может повезти - если ты компетентный специалист в узкой области (даже если она 'legacy'). Или ты можешь найти синекуру - гос.организацию, в которой ты присоединишься к когорте таких же скинутых с паровоза прогресса "молодыми и амбициозными". Не переживай, через 20 лет скинут их. А ты останешься.

    Вот только кушать хочется сейчас. Хотя бы просто хлебушка.
    Ответ написан
    23 комментария
  • Как лучше создать версии сайта для разных городов в Django?

    Делать app для каждого города и копировать весь код, учитывая, что он одинаковый? нет смысла.

    Лучше рассмотреть проблему иначе. Начнём с зарегистрированных пользователей. Создайте модель City, обозначающую город. Также создайте custom user profile model под названием, скажем, Profile, которая привязана к User отношением one to one. В модели Profile добавьте внешний ключ на City.

    Наконец, реализуйте:
    • Выбор города (можно через AJAX)
    • Вывод на каждой странице сайта только той информации, что соответствует выбранному в request.user.profile.city городу.


    Если же поддержка города нужна и для анонимных пользователей (скорее всего это так), то стоит использовать переменную сессии в качестве дополнительного слоя. В одном из проектов у меня это делается так:

    1. Если есть переменная сессии, то используется она для фильтрации всего и вся
    2. Если её нет, но пользователь зарегистрирован - то берётся значение из БД и сохраняется в сессию, далее как в первом пункте
    3. Если и того нет - у меня запрещён доступ, так надо; ну а у вас пользователю (в вашем случае) надо предложить выбрать значение из списка.


    Таким образом и анонимусы поддерживаются, и при сбросе сессии у зарегистрированного юзера не теряется выбранный вариант.
    Ответ написан
    Комментировать