• Как развиваться в программировании не привязываясь к языку?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    Самую главную книгу тут не назвали: SICP (Структура и интерпретация компьютерных программ).

    > СИКП — не книга про языки программирования или разработку программного обеспечения, не книга по ООП, функциональному программированию или паттернам проектирования.

    > СИКП — книга об информатике (computer science). Восприятии компьютеров как абстрактных машин, используемых для манипулирования данными. Несмотря на то, что книга впервые опубликована в 1979, она до сих пор не потеряла свою актуальность и не потеряет в будущем. СИКП неизменно находится в топе лучших книг по обучению программированию на протяжении десятков лет.

    guides.hexlet.io/how-to-learn-sicp
    Ответ написан
    Комментировать
  • Как изучать на практике SQL, MySQL?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    Можете попробовать наши курсы по sql на https://ru.hexlet.io/categories/db/courses В каждом уроке есть практика в реальном окружении.
    Ответ написан
    Комментировать
  • Почему столько front-end вакансий?

    somenumboola
    @somenumboola
    Team Lead in B-online Solutions
    Я полагаю виной всему социальные явления.
    Достаточно часто программисты компилируемых языков проявляют фантастическое высокомерие и дискриминацию по отношению к Javascript, CSS (ну и к PHP). Сам не раз видел подобные шуточки. Почему? Потому что им приходится думать о гораздо большем количестве вещей, часто за те же деньги, потому что порог вхождения в их языки тяжелее, соответственно большие затраты по времени/деньгам на обучение. Вот и насадили мнение что выше описанное "не программирование вовсе".

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

    Потому что появилась культура адекватного браузера. А значит можно начать "перекладывать" нагрузку с сервера на плечи юзера.

    А вот тут давайте умножим на дефицит специалистов которых вовремя "отговорили" избыток "Специалистов которые что-то, где-то видели". Что получим?

    Скажу больше. Видел Back-end программистов которые поджав хвост по требованию работодателя(который не хочет понимать/видеть/размениваться на разницу), скрипя зубами, учат fron-end, и не мало. Потому что Back-end на самом деле переполнен и чтобы занять достойное место надо быть действительно шикарным спецом.
    UPD: Увидел что @dedik даже лучше расписал то о чем я говорил ;)
    Ответ написан
    Комментировать
  • Разрядность процессора и его тактовоя чатота?

    15432
    @15432
    Системный программист ^_^
    Считайте, что за один такт процессор выполняет одну инструкцию, например, сложение регистров. Регистры имеют "размер" - разрядность. Наиболее важное отличие 64-битного процессора - возможность оперировать 64-разрядными адресами памяти. Сложение длинных регистров (64 и 128 бит) было и на 32-разрядных процессорах с расширением MMX. Но они не могли обращаться к физической памяти по адресам больше 32 бит (4ГБ)
    Ответ написан
    Комментировать
  • Как эффективно разрабатывать приложения на Python в Pycharm используя Docker?

    sim3x
    @sim3x
    0. nginx (проксирующий сервак) вставляют в контейнер если основному прокси нельзя указать где у тебя статика лежит
    схема

    #### server
    балансер(прокси) | {твой контейнер: nginx -> [static_files, dynamic_django]
                     | {другой контейнер: nginx -> [static_files, dynamic]
    ....
    #### server


    1. https://github.com/docker-library/python/blob/12db...
    питон компайлится в свой дефолтний путь /usr/local/bin/python

    1. 2. blog.jetbrains.com/pycharm/2015/10/announcing-pych...
    проверь пайчарм на наличие фичи или поставь EAP

    3. Желательно делать структуру максимально плоской - без кучу вложенных директорий
    https://docs.docker.com/compose/django/
    Ответ написан
    5 комментариев
  • Счего начать изучение DevOps?

    Так же понадобится знание bash (скрипты), большим плюсом будет знание какого либо ЯП, например python. Зачастую будет необходимо понимать суть чужого кода на незнакомых ЯП.
    Знание Jenkins, и, например, GitlabCI.
    Какой-либо системы оркестрирования: ansible, puppet, chief, solt...
    Лично у нас деплой через capistrano, но деплой-систкм так же превиликое множество.
    У каждой команды будет свой стек инструментов и методик. Нужно приходить в команду и прыгать в этот омут.
    Ответ написан
  • Счего начать изучение DevOps?

    neatsoft
    @neatsoft
    Life is too short for bad software
    Базис:
    The Twelve-Factor App (перевод)

    Список необходимых инструментов и технологий:
    DevOps Roadmap
    Ответ написан
  • Счего начать изучение DevOps?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Saboteur неплохо ответил(что не отменяет того что все остальные ответившие тоже правы)
    Девопс - это практики. Это не набор инструментов( инструменты используются на определенных этапах, реализация которых необходима для приближения к идеалу), однако определенные необходимые инструменты опять же есть.
    Про девопс можно прочитать очень много информации, но я, как админ (win-админ :D) вижу ситуацию для вас, как и любого, с опсовой основой, примерно так:
    1. Жирным вы выделили вопросы который для вас вот конкретно сейчас не играют ни малейшей роли. Дмитрий Шицков и Saboteur написали почему: зависит от проекта.
    2. Завет любого ops-а: автоматизируй всё что можно
      Если выбор между configuration management (chef, ansible, puppet и тд) и скриптами - то лучше первое. Хотя и тут можно поспорить, у меня в проекте chef-ом автоматизированное не очень-то используется на последнем этапе доставки в прод, поскольку мы все равно запечатываем машину и запускаем в AWS с asg без пост-конфигурации. Тут можно до посинения спорить хорошо это или нет, но скрипты в идеальном мире проигрывают DSL
    3. Вы пишете код для автоматизации
      Вам понадобится git (который тянет за собой git-хостинг: bitbucket, github, gitlab и тп.) и навыки правильной работы с гитом. Для отслеживания и планирования изменений - понадобится какой-нибудь таск трекер (jira, таск трекер встроенный в gitlab, что-то другое).
    4. Инфраструктура как код
      Автоматизируй всё означает автоматизацию развертывания инфраструктуры
      Здесь уже вступают в силу особенности вашего окружения - в облаках вы скорее всего захочете использовать terraform или, например, CloudFormation в AWS - встроенное средство оркестрации, или же будете сразу все запускать в контейнерах - docker , kubernetes используя соответствующие инструменты.
    5. Мониторинг
      Без правильного и подходящего вашему продукту мониторинга(+логирования) жить нельзя. И это было еще до DevOps тренда - это классика администрирования. Здесь ничего не посоветую, с Zabbix-ом сам не ужился, переехал на influx и прилегающие (TICK stack). Для логирования - graylog, ELK. В некоторых частях используется prometheus который в том числе и для кубера удобен. В общем - с чем подружитесь.


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

    Для примерного осознания всего цикла можно посмотреть на (картинка относительно рандомная,таких много, два года назад я ориентировался по другой, с более подходящим мне списком инструментов, но найти не могу =( )
    Slide1.jpeg

    P.S. Еще раз хочу отметить что описанное выше основано на личном опыте и это - движение в devops со стороны ops. Есть те, кто сразу пытаются строить все по девопсу параллельно обучаясь опсовой части и девелоперской( видел таких, не у всех получалось ). Есть те, кто двигается в девопс со стороны Dev. Все будут иметь разные мнения что важно для того, чтобы начать
    Ответ написан
    1 комментарий
  • В какой IT профессии больше всего требуется креативность?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Есть должность / роль: product owner / product manager. В задачи специалиста входит: мониторинг рынка, поиск решений / идей и выставление продуктовых требований (в виде брифов например) для отдела разработки.
    Если очень грубо говоря: это специалист, который отвечает на вопрос "что делать?".
    Ответ написан
    Комментировать
  • В какой IT профессии больше всего требуется креативность?

    gobananas
    @gobananas
    finishhim.ru
    Не знаю, относите ли вы маркетинг к IT. Но если да, то сценарист рекламных роликов, дизайнер сайтов, баннеров.
    Ответ написан
    Комментировать
  • В какой IT профессии больше всего требуется креативность?

    @ivodopyanov
    NLP, python, numpy, tensorflow
    Дизайнер интерфейсов; тестировщик, наверное; r&d отдел какой-нибудь более-менее крупной компании.
    Ответ написан
    1 комментарий
  • Нужно ли добавлять yarn.lock в Git репозиторий?

    @Lebed71
    Node.js Developer
    yarn.lock также как и package.lock фиксирует конкретные версии пакетов. Это обезопасит вас от мажорных изменений внутри пакетов. Но как по мне, гораздо логичнее выкинуть это .lock но в самом списке пакетов указывать возможность устанавливать пакеты с точностью до минорной версии. Тогда все полезные фиксы будут попадать внутрь node_modules, а критичные изменения, которые делаются в мажорных версиях - нет.
    Ответ написан
    Комментировать
  • Почему все хотят django?

    @dustyattic
    Всем хорош Django, все у него есть, но...
    Django - это коробочный продукт, со всеми достоинствами и недостатками, присущими коробочным продуктам. То есть внутри большой коробки, называемой Django, есть много других коробочек, содержимое которых прекрасно состыковано с самим продуктом и с другими коробочками. Поэтому разработчик на Django чувствует себя вольготно. А если у него возникает проблема, то большое комьюнити всегда поможет.
    Я разработал на Django только один проект. Возможно, будь проект простым, я до сих пор бы использовал Django. Но проект оказался неожиданно сложным. Написание кода для обработки данных из некоторого количества таблиц с довольно запутанными связями показало мне, что у Django, несмотря на его популярность, совершенно никудышный ORM. Используя Django, я половину обращений к таблицам реализовывал в чистом SQL, а затем стыковал результаты с данными полученными с помощью ORM. У меня все получилось. Но осадок остался. Поэтому следующую версию того же проекта, и все последующие тоже, я написал на Flask, используя в качестве ORM небезызвестный SQLAlchemy.
    Я не жалею времени, потраченного на изучение Django. Это хороший опыт. Те, кто используют Django, чувствуют себя защищенными. Они часть большого дружного сообщества, где можно найти любую поддержку.
    Но я также не жалею, что я ушел от Django. У Django вся магия ( регистрация, авторизация, работа с сессиями и многое-многое другое) спрятана под капотом, я просто подключал компоненты и использовал их. Используя Django, я делал многие вещи автоматически, совершенно не задаваясь вопросом как эти вещи работают. Уйдя от Django, я лучше стал понимать то, чем занимаюсь каждый день.
    Можете мне поверить на слово, на Flask-е возможно писать очень большие проекты, с большим количеством кода. При этом реализация всей магии ложится на Вас. Это просто вопрос доверия. Используя Django, Вы доверяете всю магию Django, не используя его, Вы доверяете всю магию себе.
    Ответ написан
    Комментировать
  • В чём ключевые отличия между Machine Learning и Data Science?

    Therapyx
    @Therapyx
    Data Science
    Машинное обучение - это и есть область науки о данных. Ибо 80% работы в машинном обучении - это как правило работа с данными. Машина учится не на воздухе, а конкретно на знаниях. Знания же для машины = данные.
    Ответ написан
    Комментировать
  • Куда идти: радиоэлектронщик или веб-программист?

    mukizu
    @mukizu
    Почему бы не попытаться совместить?
    Ответ написан
    Комментировать
  • Куда идти: радиоэлектронщик или веб-программист?

    @Mirn
    возьми да совмести: сервера на старшых МК типа STM32F7xx
    с руками отрывать будут и те и те.

    а если осилишь серверы на плисинах - вообще агонь будет, хоть с работой совсем туго (ты прав, электроника в развале у нас), НО ты сможешь делать самые производительные решения какие только можно делать вообще и никакой nginx рядом не стоял: это будет хардкор в области hi-load (зарплата от 200тр и выше, а задачи самые наикрутейшие)
    Ответ написан
    5 комментариев
  • Куда идти: радиоэлектронщик или веб-программист?

    Будь я на вашем месте с сегодняшим мышлением и идеалами, с радостью пошел бы на радиоэлектронщика. Веб-программирование - не программирование как таковое даже, настоящие программисты, что пишут на c++, просто смеются. Тупиковый путь развития, при том, что программисты становятся инженерами ПО в гуглах и майкрософтах, а уровень абстракции растет.

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

    Чтобы быть веб-программистом будущего, нужно быть кем-то гораздо большим, чем профессионал сегодня. Полагаю, основа - производительность высоконагруженных систем, big data, ux (и психология пользователя), ну и немного привычной верстки, привычного js.
    Ответ написан
    Комментировать
  • Как на js создать эффект двигающихся точек?

    Stalker_RED
    @Stalker_RED
    Типа такого? arborjs.org/halfviz/#/MTE1MzQ
    Там вверху настраиваются параметры "трения", "гравитации" и т.д..

    Как правильно гуглить - сложно сказать. Я пару лет назад искал библиотеки визуализации для графов "graph visualization js" и наткнулся на это.
    Ответ написан
    3 комментария
  • Что получает инвестор от доли в стартапе?

    Inv_Hunter
    @Inv_Hunter
    Управляющий партнёр в BACG
    Здравствуйте, Андрей,
    Ответы на Ваши вопросы - отдельная книжная полка или, как минимум, цикл статей. Тем не менее, я постараюсь вкратце ответить и если у Вас возникнут дополнительные вопросы, с радостью помогу Вам разобраться в обстоятельной беседе. Итак по порядку.

    Доля чаще всего указывается в 30% - и что с ней делать?

    Тут уже ранее отвечали, что эта цифра в нынешнее время ошибочна. Это так. На практике процент инвестора тема обстоятельных переговоров. Факторы, которые влияют на долю венчурного инвестора - достаточно внушительный список. Здесь: приблизительная оценка стоимости и доходности проекта, перспектива роста и расширения, заинтересованность других инвесторов, состав, компетенции и качество команды, ограничения в разработке и пр. Исходя из этого, на ранней стадии, доля может варьировать от 10 до 80%.

    Приведу пример из собственного опыта. Командой из 3 человек мы разрабатывали проект для поддержки стартапов - MY DRAFT. На нас вышел бизнес-ангел и предложил свою финансовую помощь. На первой встрече он огласил своё предложение по доле в 50%. Мы с ребятами обсудили это и решили, что в принципе способны и без его денег вести разработку (энтузиазма, в то время, было много в запасе). В итоге, крайнее предложение инвестора - равное распределение. Мы согласились, но затем всё пошло кувырком и команда распалась.

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

    Как распоряжаться? Как выводить средства?

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

    Как влиять на развитие проекта?

    Это уже зависит от того, что Вы хотите и роли, которую играете в проекте. Мне сложно дать однозначный ответ на этот вопрос без дополнительной информации. Неясно, Вы интересуетесь со стороны инвестора или лидера команды или какой-то другой третей стороны. Если хотите, можем более обстоятельно обсудить по почте. Вот моя da@karimov.org

    Успехов!
    Ответ написан
    Комментировать