• Зачем нужно знать о сетевой модели OSI?

    Когда начнешь понимать эту модель - сам же поймешь, зачем это надо. Если собираешься работать с сетями - то вряд ли ты будешь трогать уровни выше 4-ого (если тебе в плечи не вкинут обслугу какого-нибудь ng firewall'а). Понимание с практикой приходит. Если какие то примеры - вот обобщенный способ решения проблем на сети у рядового админа:
    Большинство задач с проблемами на сети (даже маленькой, домашней) сводится к пониманию уровня, на котором проблема возникла - в домашней среде, у тебя, к примеру, есть модем, куда пришел сигнал от провайдера, за ним свич или вифи. У тебя пропал инет по вифи на телефоне. Ты начинаешь разбираться, где же проблема - смотришь, работает ли вифи, подключен ли телефон к роутеру - это 2 уровень OSI. Если там все ок, дальше смотришь подключен ли модем к провайдеру, есть ли пинги и т.п. наружу - это 3-ий уровень. Если там все ок - нужно смотреть прикладные уровни - к примеру, ДНС стал недоступен и это уже говорит о том, что проблема поднялась на прикладной уровень, в данном случае на 7-ой. А теперь попробуй масштабировать данную проблему хотя бы до офисного помещения, а потом добавь пару этажей. Прикинь, сколько у тебя будет коммутаторов, что будет маршрутизировать у тебя трафик в сети, будут ли файрволы. Вот так просто взять, и отключить по очереди устройства порой не то, что не логично, просто невозможно. И тебе нужно по максимуму ограничить потенциальное место возникновения проблем, и дать вощможность работать тем участкам, которые еще не пострадали. Вот здесь тебе нужно понимать, что за что цепляется, на каком уровне работает, как нужно группировать устройства, что бы максимально быстро проводить безопасные проверки как можно больших сегментов сети и т.д. А представь когда у тебя несколько офисов, или ты вообще инженер у провайдера?
    Понимание модели OSI даст тебе понимание "вертикальной лесенки" движения трафика от клиентского приложения до кабеля - сверху вниз, и по нему дальше наружу или к другому приложению/сервису уже в обратном направлении - снизу вверх, поможет твою инфраструктуру положить на эту лесенку, и спокойно поуровнево по ней лазать, в случае необходимости. Один фиг, мне самому оно не сильно близко было, пока не поработал у провайдера - только на тех масштабах улеглось в голове, что без нее я делал такой ОГРОМНЫЙ объем лишней работы по траблшутингу и т.п. ранее, что теперь сам же и не понимаю, как можно не знать модель OSI, работая админом (как минимум упрощенную) )))
    Ответ написан
    2 комментария
  • Зачем нужно знать о сетевой модели OSI?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Модель OSI, это не конкретная "запчасть", которая может использоваться или не использоваться. Это основополагающий принцип того, как нужно думать о любом стеке любых протоколов, под каким углом на него смотреть )) Она потому и называется открытой моделью межсистемного обмена, (а не паттерном построения стека протоколов), что дает наиболее общую картину того, какие у протоколов в стеке могут быть характерные роли, и предлагает принцип, как это можно структурировать для понимания их взаимодействия друг с другом. И ее не нужно заучивать, ее нужно просто понять, сам принцип, и потом использовать это понимание для понимания других, уже конкретных вещей.
    Ответ написан
    2 комментария
  • Зачем нужно знать о сетевой модели OSI?

    @MechanID
    Админ хостинг провайдера
    Никто не знает что ему пригодится, тут ничего не поделаеш.
    Модель нигде не используется но позволяет понять как именно работает сеть от аппратной части до програмной, понять то что сеть это не просто "воткнул шнур и работает".
    Я бы сказал что это основа понимания работы сети которая обязательно пригодится сисадминам, также будет полезна програмистам которые пишут приложения использующие сеть.
    Ответ написан
    4 комментария
  • Как выровнять пингвина по середине с помощью Python?

    alsolovyev
    @alsolovyev
    ¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
    import os
    
    strings = [ '_~_ ', '(o o)', '/ V \\', '/( _ )\\', '˄˄ ˄˄', ]
    rows, columns = os.popen('stty size', 'r').read().split()
    
    for string in strings:
      padding = int(columns) - int(len(string) / 2)
      print(string.center(padding))


    5bd5b646b5b34035657059.png
    Ответ написан
    9 комментариев
  • Как мне быть в такой ситуации.Куда двигаться дальше?

    coderisimo
    @coderisimo
    Просто начните и продолжайте карабкаться. Не сдавайтесь. Я , оказавшись в патовой ситуации Где найти работу по удаленке в 40+ лет? от безысходности полез на апворк и не жалею. Тем более, если у вас есть опыт с WP , можно брать это направление, как максимально конъюнктурное там.
    Параллельно начинайте ковырять английский, если с ним не ахти. Это важно, у меня с ним был (и пока увы остается) полый алес капут , но выжить удалось. Легко не будет , это точно , но и скучно тоже.
    33 года - детский возраст!
    Ответ написан
    Комментировать
  • Как мне быть в такой ситуации.Куда двигаться дальше?

    Хреновое у тебя настроение, 33 для програмиста не возраст, мне 42 и я несколько раз проходил путь от джуна до синьора, просто для встряски мозгов, последний раз менял специализацию в 39. Делай упор на английский, с хорошим английским работы море, при чем на удаленке платят больше чем на аутстаффе, правда и риски больше, кстати чтобы устроится на мидла, не запись в трудовой нужна "работал джуном год", а фактическое количество собранных граблей на технологии, на которые ты второй раз не наступишь, на собеседованиях просто спрашивают по матрице, поэтому необходимые навыки ты легко можешь узнать, просто регулярно проходя собеседования и подчитывая и реализуя то, на чем завалился. Завалив собеседование ты не ЧСВ должен понижать, а просто понимать, что ты узнал, что нужно доучить и идти на следующее собеседование.
    Ответ написан
    Комментировать
  • Где брать примеры хорошего ООП?

    Stalker_RED
    @Stalker_RED
    Посмотрите исходники nodejs, vue, или еще чего-нибудь, у чего тыщщи звезд.
    Даже если окажется, что ООП там не идеальный - вы будете не в одиночестве. Найдутся тысячи единомышленников, готовых вести святую войну за единственно правильный ООП. (По крайней мере на этой неделе.)
    Ответ написан
    Комментировать
  • Как преодолеть кризис начинающего специалиста?

    daager
    @daager
    А что вы умеете? Есть у вас пул знаний, который работодатель может с пользой использовать? Если вы прекрасны в bash, но он не нужен, чего вы ожидаете? Идите в высокотехнологичный проект, вот только опыта и знаний у вас нет. Работодателю не нужно всё что вы знаете, ему нужно чтобы сейчас было сделано то, что понадобилось, НО никто не говорит, что через месяц bash не пригодится. Если компания небольшая, то такого не избежать. Потому что нельзя взять в компанию из 5 человек: архитектора, разработчика БД, сис.админа, тим лида, бэкенд-джуниора, бэкенд-миддла, бэкенд-сеньора, дизайнера, верстальщика, js-джуниора и т.д.
    Я ненавижу делать crud-админки и прикручивать шаблоны, это просто, но это так муторно, так скучно. В голове-то уже всё готово, но надо. Да, я могу больше, но проекту в данный момент это не нужно.
    Вот и вам нужно прокачиваться, а учитывая что вы студент без опыта, то в принципе рисково давать что-то сложное на первом этапе. И всегда будет чужой код с которым надо разбираться, его нет только в проекте "для себя", и то даже свой код через несколько лет уже как темный лес. Не нравится работа с github? А что быстрее прикрутить готовое или писать с нуля? Вот вы уйдете, после вас придет новый студент и ему будет попроще, потому что он увидит, что вы используете что-то готовое и сможет поискать информацию об этом. Все рано или поздно приходят к ситуации, когда скучно. Высококлассным специалистом в кратчайшие сроки не стать.
    И еще, а вы уверены, что вы такой крутой настолько, что вам скучно и у вас кризис? Я вот лет 5-7 назад мог движок сайта за неделю сделать и считал, что я неимоверно крут. Сейчас я понимаю, что нихрена это был не движок и недели мне теперь точно не хватит.
    Если нет сил на саморазвитие, то попробуйте так: работа остается на работе; не перерабатывайте; используйте перерывы, чтобы мозг отдыхал, а не пойти на балкончик и продолжить думать там;изучение технологий для себя, а не для проекта (если можно прикрутить это хорошо, но это бонус, а не цель); найдите новые технологии и поиграйтесь с ними(я так игрался с go и нейросетями, это совсем не мои сферы отчего было легче, потому что новое и каждый, даже маленький успех, радует) и не it-хобби(у меня кубик Рубика и каллиграфия, они всегда на столе и я могу отвлечься на пару минут).
    Ответ написан
    Комментировать
  • Как фрилансеру подтвердить опыт работы?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    нужны документальные свидетельства, иначем чем он будет отличаться от выдуманного?
    выписка / скрины с upwork и аналогов, например + банковские поступления
    Ответ написан
    1 комментарий
  • Почему java не умеет считать?

    Потому что размер int конечный. Хотите бесконечный? Используйте BigInteger. И читайте про дополнительный код и переполнение. Это школьный курс информатики.
    Ответ написан
    Комментировать
  • Как работают и для чего нужны обобщенные связи в Django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Есть у вас, предположим, модель новости и её можно комментировать, для чего используется модель комментария. А через месяц эксплуатации сайта заказчик захотел ещё и статьи, и чтобы их тоже можно было комментировать. А потом ещё события всякие - театральные премьеры, киносеансы, концерты. И обзоры ресторанов маячат впереди. Вот только ForeignKey может указывать только на конкретную модель. Придётся либо все модели наследовать от общего корня, либо по новой писать модель комментариев и весь сопроводительный код для каждой комментируемой модели. И то, и другое - решение плохое. Выход - обобщённые отношения, позволяющие одну модель комментариев использовать для неопределённо большого круга заранее неизвестных моделей.
    Ответ написан
    4 комментария
  • Как в Python 3.6.5 вывезти список с нумерацией?

    planc
    @planc
    items = ['молоко', 'сыр', 'творог', 'кефир', 'яблоко']
    for i, item in enumerate(items):
        print(i + 1, item)
    Ответ написан
    Комментировать
  • В чем преимущество Python перед Java для анализа больших данных / машинного обучения?

    @lPolar
    data scientist
    ИМХО, Python.
    Причина - предельная простота языка + набор готовых библиотек.
    Парсите сайты параллельно через grab, который оперирует C-библиотеками (lxml) в удобной питоновой обертке.
    Далее, если у вас данных <10 GB после парсинга - берите машинку с большим объемом оперативки, и используйте pandas +sklearn+hdf5 storage для хранения.
    Если данных >10 GB - берите распределенный кластер и pyspark + hive для хранения и моделей
    Java вам при решении data science задач не поможет - все равно python оперирует библиотеками с C-модулями и функциями (pandas/sklearn) или pyspark, это та же производительность Java, но в удобной обертке.
    Ответ написан
    Комментировать
  • В чем преимущество Python перед Java для анализа больших данных / машинного обучения?

    @zedxxx
    Если душа лежит к Java так и карты в руки, тем более, что она будет по-шустрее питона.
    Преимущество питона в его простоте и лаконичности. Java же просто охренительно многословна.
    Ответ написан
    Комментировать
  • Какие существуют способы защиты стилей CSS?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Самый лучший способ скрыть свои гениальные идеи - держать их при себе.
    Кстати, жду ссылок на творения для оценки их уникальности.

    Торжественно клянусь ничего не красть.

    И еще - если школьник может обойти простейшие способы скрытия кода, то он уже заслуживает уважения. Вы-то конечно учились исключительно открыв стандарт html и читая его, так?
    Ответ написан
    9 комментариев
  • Какие существуют способы защиты стилей CSS?

    opium
    @opium
    Просто люблю качественно работать
    мне кажется мания величия затмила ваш мозг глупейшими проблемами, вместо того чтобы код красиво оформить и выкладывать на гитхаб и делиться им, вы решили его зачем то прятать, просто задумайтесь, что хорошего вы сделали в жизни и почему не выкладываете его на гитхаб?
    Ответ написан
    11 комментариев
  • Какой список литературы для структурированного изучения программирования?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Если бы имел машину времени, чтоб вбить "Я-в-прошлом" то что надо читать, то это было бы так:
    1. Таненбаум про его Операционные системы
    2. Таненбаум про аппаратное обеспечение
    3. Язык программирования Python по книге Лутза и при этом чтение "Structure And Interpretation Of Computer Program".
    4. Только после этого приступил бы к чтению Керниган, Ричи "Язык С"
    5. Попытался бы влиться в какой-нибудь OpenSource проект

    Далеее уже следуют попытки понять к чему душа лежит, толи вебу, толи linux kernel module, толи еще что.
    В течении этих пункто НЕПРЕРЫВНО улучшать английский. Большинство серьезной литературы о новых технологиях появлятся сначала на английском.
    Ответ написан
    10 комментариев