• Стоит ли изучать GoLang вместе с изучением алгоритмов?

    @Gizmothron
    abcd0x00:

    Такой большой pivot, который сделали с Python 3, было бы хорошей идеей, если бы это сделали раньше. Еще во времена Python 2. А сейчас уже поздняк метаться.

    Ты сам подумай. У тебя есть куча кода. Не 10 или 20 модулей. А действительно огромная куча кода. Туева хуча.
    Он нормально работает. Зачем ты его будешь переписывать? Тебе скучно? Ты скорее на пляж пойдешь или девушек кадрить.

    Предположим код работает плохо. Причина переписать очевидна. Тебе нужны ресурсы на это. Если твое предприятие активно развивается - ресурсы есть.
    Что именно нужно решить в коде? Очевидно, раз предприятие развивается, то это вопросы производительности.

    Итак перед тобой дилемма. Нужно решить вопросы производительности, но идеология перехода Python 2/3 требует не просто пропатчить небольшие участки, как это можно сделать с PHP 5/7. Для Python требуется именно переписать код.
    То есть тебе нужно все переделать с нуля. И зачем ты будешь для этого использовать Python 3 в наше время? Ведь технологии не стоят на месте. Ты предпочтешь более производительные. Например, Go. Он гарантировано даст большую производительность при той же простоте написания кода.

    Другая ситуация. Производительность устраивает. Не устраивает недостаточная гибкость. Тут однозначно придется все написать заново. И опять мы приходим к тому, что у нас нет завязки на Python. Ведь с нуля мы можем сделать на чем угодно.

    Поэтому и нет смысла в Python 3. В Python 2 смысл есть. Его держат для поддержки уже существующего кода. И развивают этого код (вынуждено) в рамах 2 версии.
    А вот если бы переход от 2 к 3 был такой же плавный как от PHP 5 к PHP 7, то другое дело. Это позволило бы остаться с почти той же кодовой базой.

    Оба-на! Да тебе лишь поспорить? Я нахожу противоречие в твоих словах:

    Про Go:

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


    Про Python:

    Они бросились писать на втором питоне, тогда как вторая версия - это слишком сырая версия. Надо понимать, что это ненадёжно в плане развития. Они думали, что третья версия будет совместима со второй (как везде бывает), но питон - это язык постоянных экспериментов (что и делает его гибким), там легко меняют ядро языка. Там вот было две функции - range() и xrange(), это был эксперимент, потому что было непонятно, какую лучше использовать. В результате выбрали второй вариант (посмотрели по использованию в разработке) и оставили только его. А ты предлагаешь "нет, надо было тянуть это за собой ещё 20 лет вперёд".


    Неинтересный собеседник. Фу.
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    Да как бы нет.
    БД - по ситуации. В подобном проекте будут и Mongo и RDBMS уместны.
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    Кто сказал что в Монге нет транзакций?
    Там просто другая идеология. Не нужно пытаться переносить паттерны реляционных БД в Монгу.

    В Монге - 1 операция с одним документом является 1 родной транзакцией.
    В 1 документе может быть очень и очень много вещей сделано в этой транзакции.
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    Дмитрий Энтелис:
    Единственное что может вам помочь - неабмициозный и не знающий английского.
    У неамбициозного правда есть минус, не роет носом землю, повышая квалицифаацию.
    А вот незнание английского - это страховка, что хороший специалист не уйдет на Upwork.
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    Дмитрий Энтелис:

    То что Вы оцениваете себя в 4k$ - не значит что те кто себя оценивает ниже - работают пропорционально хуже. Заплата вообще слабо связана с качеством работы, она лишь связана с умением себя продавать.


    Понятно дело. Но не за 30 000 рублей мой аналог работать будет. За 3000 долларов найдете. За 2000 уже очень большое везение - раз в жизни случается.


    Я Вам открою страшную тайну - в московском Яндексе зарплаты выше 100-120 т.р имеют единицы, и это действительно крайне талантливые люди до которых мне, без всякой иронии, далеко.


    Я вам открою тайну - это ЯНДЕКС. После него тебя в любую серьезную контору России возьмут за 200-300 тыс. рублей. Просто за имя Яндекса.

    И на Западе ты с таким опытом тоже не пропадешь.

    Это ЯНДЕКС.

    А Ваша история "как потратить 400k$ до релиза" - абсолютно канонична. А потом приходят инвесторы и спрашивают "почему не взлетело"


    Технически - взлетать будет уже скоро, релиз не за горами. С точки зрения маркетинга - понятия не имею.
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    Дмитрий Энтелис:
    Не надо мне пожалуйста рассказывать как живет провинция. Я в провинции родился и прожил 20 лет, регулярно бываю и уровень доходов населения понимаю прекрасно.


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

    Меня недавно попросили найти квалифицированного программиста на постоянку в офис. Поспрашать коллег. Обещают 50 000. Что намного выше средней зарплаты в провинции (не ИТ). Мои коллеги разве что не посмеялись.
  • Стоит ли изучать GoLang вместе с изучением алгоритмов?

    @Gizmothron
    Какое отношение Git имеет к питону? Остальное, что ты назвал, - это то, без чего вполне можно обойтись. Либо они перепишутся, либо останутся с кучей легаси кода, который будет их тянуть в прошлое.


    Чем тянуть в прошлое-то? Программа работает и кушать не просит. А вот если ее переписывать начать, то программисты очень много кушать захотят. И даже дело не в зарплате программистов. Если сейчас кинуться такие объемы переписывать, то это только отбросит фирму назад, конкуренты обойдут.

    Голый git - не пригоден для работы с коллективом разработчиков: там права никак не разграничиваются. Голый git не пригоден для "непрерывной интеграции": голый git ничего этого не умеет.

    Не перепишут. Они не переписывают годами, так как есть в индустрии чёткое мнение, что основной применяемой в production является именно версия 2, а не 3.

    Если ты считаешь, что можно обойтись без Ansible, Vagrant/VirtualBox, Slack и SDK одних из крупнейших в мире облачных хостингов, то у меня закрадываются сомнения - а не беседую ли я со школьником. Прости за наезд.


    Серьёзно? А я и не заметил. Я и говорю, что мне нужно, чтобы он пробелами мог отформатировать, потому что я использую пробелы. С пробелами код в любом редакторе с любыми настройкам будет выглядеть одинаково. Понимаешь, go fmt форматирует не только пробелы и мне что-то из форматирования подходит, но опять же я его не могу применить, потому что он мои пробелы заменит. То есть там даже нельзя выбрать, что он должен форматировать из всего множества, а что не должен.


    Брателло, ты не прав. Табы позволяют визуализировать код как хочешь. Настрой все свои текстовые редакторы идентично. Почему это кто-то должен за тебя делать, кроме тебя самого. Если ты работаешь в одиночку - ты можешь делать все что угодно. Можешь даже не запускать go fmt.

    Если ты работаешь в коллективе - будь добр, не затрудняй работу коллегам. Другие программисты настроят так как им удобнее. Есть такое правило: мы пишем код не для себя, мы пишем код для других. Ребята с опытом это хорошо понимают:

    Сервер для многопользовательской игры?
    Я работал с огромным проектом на PHP (один из полусотни разработчиков в компании), и не представляю его даже на экосистемах Python или Ruby. А писать такое на Node.js или Go - это просто самоубийство.
    Кстати, запрещались любые оптимизации кода, которые шли во вред читаемости ;)


    Зачем в языке Go приняты отступы в 8 символов?

    вообще, если в Go-community и правда все повсеместно используют 8 символов, то это круто. Просто в моём мире Android-программирования разброда и шатания чуть побольше, посему и сужу со своей колокольни. :)



    Не надо мне примерные, сформируй готовый исходник. Мы просто оценим, что тебе пришлось делать, чтобы просто прочитать строку из
    потока.


    А это все. Строка уже готова к обработка.
    Например, можно пройтись циклом. Там тоже элементарно:

    scanner := bufio.NewScanner(os.Stdin)
    for scanner.Scan() {
    fmt.Println(scanner.Text())
    }

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


    Фортран не тот пример. Он, кстати, до сих пор применяется в научном мире, если ты не в курсе. В физике для моделирования, например. Одни из лучших математических библиотек под него написаны.

    Да и Python 2 вполне себе жив и развивается. С момента выхода Python 3 вышли Python 2.6, Python 2.7. Все под него пишется, не переживай.

    Язык не должен настолько сильно изменяться. Поддержка легаси-кода - это важно. Скажем, Фейсбук и Контакт не могут просто так взять и уйти с PHP. Поэтому придумывают решение - использовать kPHP. А ведь Фейсбук не беден. Да и Контакт не самая мелкая фирма в РФ. Но даже они не могут себе позволить переписать. Любое изменение кода - это возможность внести в него ошибки.

    Много лет назад в нашей стране сделали систему продажи авиабилетов. Она работала не на x86 процессора и PC. Через какое-то время железо, оставшееся от СССР начало выходить из строя, а купить аналогичное западное было слишком накладно. Как поступили? Написали эмулятор. Это оказалось гораздо практичнее. Так как переписывать весь код - это внести кучу новых ошибок. И на эмуляторе система продажи авиабилетов работала много лет.

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

    ИТ-индустрия развивается таким темпами потому что существует огромное количество переиспользуемого кода.

    А ты предлагаешь "нет, надо было тянуть это за собой ещё 20 лет вперёд".


    Есть определенные вещи, которые не зависят даже от локомотивов индустрии. Никто сейчас в здравом уме не станет переписывать Linux например. Хотя сам Линус и другие умные люди уже неоднократно говорили, что монолитное ядро Линукса слишком быстро растет и становится монстром. И было бы здорово перейти на нечто более микроядерное. Но это уже невозможно без титанических усилий. Никто этого делать не будет. Новые инструменты завязываются на ядро Линукса. Не на более совершенное ядро XNU, используемое в Mac OS X.


    но питон - это язык постоянных экспериментов (что и делает его гибким), там легко меняют ядро языка. Там вот было две функции - range() и xrange(), это был эксперимент, потому что было непонятно, какую лучше использовать. В результате выбрали второй вариант (посмотрели по использованию в разработке) и оставили только его.


    Никто не мешал оставить обратную совместимость. Например, использовали же в заголовке файла "encoding utf". Никто не мешал также для совместимости встроить там указание на версию Python. Авторы же Питона решили тянуть всех за волосы в светлое будущее.

    Это не я так решил. Это так есть. Вся история человечества. Англичанам для того, чтобы хоть немного изменить общественно-экономические реалии пришлось устраивать 2 революции с разницей в более чем век (Английская 17 века и в США в 18) и завоевывать целый новый континет (Северная Америка).

    Немного юмора на эту тему


    4 фута 8.5 дюйма - ракета или лошадиный зад?

    По бокам космического корабля «Кеннеди» размещаются два двигателя по 5 футов шириной. Конструкторы корабля хотели бы сделать эти двигатели еще шире, но не смогли. Почему?
    Дело в том, что двигатели эти доставлялись по железной дороге, которая проходит по узкому туннелю. Расстояние между рельсами стандартное: 4 фута 8.5 дюйма, поэтому конструкторы могли сделать двигатели только шириной 5 футов.
    Возникает вопрос: почему расстояние между рельсами 4 фута 8.5 дюйма?

    Откуда взялась эта цифра?

    Оказывается, что железную дорогу в Штатах делали такую же, как и в Англии, а в Англии делали железнодорожные вагоны по тому же принципу, что и трамвайные, а первые трамваи производились в Англии по образу и подобию конки. А длина оси конки составляла как раз 4 фута 8.5 дюйма!
    Но почему?
    Потому что конки делали с тем расчетом, чтобы их оси попадали в колеи на английских дорогах, чтобы колеса меньше изнашивались, а расстояние между колеями в Англии как раз 4 фута 8.5 дюйма!
    Отчего так?

    Да просто дороги в Великобритании стали делать римляне, подводя их под размер своих боевых колесниц, и длина оси стандартной римской колесницы равнялась... правильно, 4 футам 8.5 дюймам! Ну вот теперь мы докопались, откуда взялся этот размер, но все же почему римлянам вздумалось делать свои колесницы с осями именно такой длины? А вот почему: в такую колесницу запрягали обычно двух лошадей. А 4 фута 8.5 дюйма - это был как раз размер двух лошадиных задниц! Делать ось колесницы длиннее было неудобно, так как это нарушало бы равновесие колесницы.

    Следовательно, вот и ответ на самый первый вопрос: даже теперь, когда человек вышел в космос, его наивысшие технические достижения напрямую зависят от РАЗМЕРА ЛОШАДИНОЙ ЗАДНИЦЫ ДВЕ ТЫСЯЧИ ЛЕТ НАЗАД!
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    Дмитрий Энтелис:

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


    Напоминаю: мы начали с того, что те ребята в провинции, которые имели дело с серьезными технологиями и могут вам настроить AWS - являются скорее всего фриленсерами, так как иначе в провинции с такими технологиями почти что негде познакомится.

    А вы начали говорить, что во фриленсе нет серьезной работы.

    Это не так. Во фриленсе есть и дешевая работа (много, очень много) и сложная работа (ее меньше, но и специалистов, способных ее выполнить тоже меньше).

    Не надо думать, что в провинции все мечтают за 30 000 работать. Если с материальными объектами не так - московские головные предприятия контролируют почти все провинциальные заводы. То про удаленную работу все иначе, полный партитет: у нас здесь прямой канал в интернет, минуя Москву, и английский язык мы тоже знаем.

    Благодаря более дешевому проживанию в провинции ИТ-аутсорсинговые предприятия, имеющие прямые выходы на США и пр. как раз более эффективны и конкурентноспособны именно в провинции, это да. Но за 30 000 - это вчерашние менеджеры да водители, студенты да школьники, бухгалтера да актеры, которые услышали, что в ИТ длинный рубль и пришли за ним.

    Ну не нанимают предприятия, имеющие прямые выходы на "жирных" заказчиков, людей за 30 000. Эдак можно проект завалить.
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    Дмитрий Энтелис:
    PS Кроме Java таки существует много других языков. PHP, Ruby, Node.js - и з.п там к счастью ниже.


    На самом деле - не так.

    Минимум у PHP ниже. Просто потому, что PHP очень сильно распространен. Но на этот минимуме работают только самые неквалифицированные специалисты.

    А Java/Go дороже не просто так. Только потому, что задачи с их помощью принято решать более серьезные.

    Но да, согласен. Есть такая проблема в ИТ. Когда заказчики совершенно не понимают что есть и квалификация и специализация. И могут поручать школьникам серьезнейшие задачи. И могут поручать программисту 1С написать сайт. И могут поручать фронтендеру сконфигурировать сложный серверный кластер. И т.д. и т.п.

    Если человек головастый и амбициозный - он легко сейчас может сделать благодаря этого себе в ИТ карьеру в стратосферу. Но законы природы все же обойти не просто - ну вот нельзя так просто взять после года в ИТ и написать Netflix или Facebook, который выдержит миллионную посещаемость.

    Деньги платятся вовсе не просто так. Те, кто не работают со специалистами за 30 000 рублей - не все дураки.
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    Дмитрий Энтелис:
    Ссылка как видите не моя - так что это не я придумываю оклады в пылу спора...

    Ну что вы... Далеко не каждый юниор в Новосибирске так получает. Я про то, что если фирме нужен хороший специалист - то речь идет об окладах в разы больших названные вами 30 000.

    За 30 000 вы не получаете хорошего и дешевого специалиста, которому просто кушать нечего, и именно поэтому он на вас работает. Вовсе нет. Вы получаете.... Ну не знаю кого. У нас студенты профильных ИТ-ВУЗов совершенно без опыта за такие деньги разве что первые пару месяцев работают. То есть пока они совсем никакие специалисты - только тогда и согласны на эти деньги.

    Если вы вбухивали в хостинг на AWS 20 000 долларов в месяц, но создано это все было такими "специалистами" за 30 000, то понятно почему у вас о AWS плохое впечатление осталось.

    У Netflix и Instagram - все там хорошо работает. Думаю, потому что они не нанимают школьников за 30 000 рублей и не поручают им серьезных задач.
  • Как сделать отчет по репозитарию Git?

    @Gizmothron
    Андрей Свининых: Я просто удивлен. Обычно POS все скрывают. Там же деньги живые.
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    Именно поэтому я и утверждаю - если вы работаете в провинции с разработчиками за 30 000 рублей, то они даже не студенты, а разве что школьники.
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    https://m.hh.ru/vacancy/15851555

    Java/Go Developer
    80 000—110 000 руб.
    Новосибирск, микрорайон Академгородок, Инженерная улица, 4а, 20 мая
    Требуемый опыт работы: 1–3 года


    Это вакансия на уровень junior
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    Дмитрий Энтелис:
    Текущий проект:
    Kubernetes, порядка 120 видов микросервисов в проекте, порядка 20-25 разработчиков. Полгода работы. 4000-6000 долларов в месяц.
  • Как правильно разработать CRM-систему с нуля с архитектурной точки зрения?

    @Gizmothron
    Вы серьезно сейчас? Бизнес проект в AWS? НЛ, у меня возникает ощущение что Вы слегка лукавили говоря "Я участвовал в разработке подобной системы"



    Мы держали в AWS в 2013 году один из проектов Билайна. Задолбались разгребать косяки


    У NetFlix и Instagram получилось.
    У вас - нет.

    Кажется, я догадываюсь почему у вас не получилось:


    Если бы вопрос Автора был "за сколько продавать себя" - я бы бесспорно с Вами согласился. Но реалии рынка таковы что на 80-90 в мск выстаивается очередь желающих из которых вполне можно выбрать приличного. Средняя зп обычного разработчика работающего в неIT компании и не знающего про фриланс ~60-70.
    А в регионах (если не брать богатые вроде казань/краснодар/екб итд) - и 30 т.р фикс хорошие деньги.


    Я, видите ли, непосредственно в регионе. И совсем недавно озадачивался такой проблемой.

    И ответственно заявляю, если прозвучит сумма менее 100 000 рублей, то действительно квалифицированный (а не считающий себя таковым) разработчик в регионе даже не будет тратить время на телефонный разговор с вами.

    Не фрилансеры - дешевле, согласен. Но есть еще и вторая проблема - откуда разработчик, не знающий про фриланс наберется опыта работы с серьезными технологиями? Если он работает с ними очно, не во фрилансе, то и 50 000 рублей вы его не заманите.
  • Как соединить желание заниматься несколькими направлениями в ИТ?

    @Gizmothron
    берите ТОЛКОВОГО бухгалтера за 15-30 тыс в месяц


    Зачем? Я плачу своему бухгалтеру за полдня работы 1 раз в квартал 6000 рублей.
  • Организация рабочих мест: сервер + бездисковые тонкие клиенты = Linux. Как?

    @Gizmothron
    Олег:
    https://ru.wikipedia.org/wiki/NX_NoMachine
    Вот этот считает лучшим если не в локальной сети, а удаленные клиенты с плохой связью.
  • Организация рабочих мест: сервер + бездисковые тонкие клиенты = Linux. Как?

    @Gizmothron
    Олег: А лицензии на Win все равно нужны, даже если не по RDP цепляетесь. Почитайте на сайте ViTerminal (альтернативный терминальный сервер для Win и клиент Win/Lin). Там разжевано.