Search
Write a publication
Pull to refresh
0
0
Шупта Игорь @prounixadmin

User

Send message

От классики и модернизма до фэнтези и стимпанка ― что читают системные администраторы

Reading time7 min
Views9.1K


Разговорившись с коллегами-администраторами о художественной литературе, мы обнаружили, что нам нравятся книги самых разных жанров и стилей. Тогда нам стало интересно провести среди системных администраторов Selectel опрос по трем темам: что нравится из классики, какая книга любимая и что читают сейчас. Получилась большая литературная подборка, где сисадмины делятся своими личными впечатлениями от прочитанных книг.
Читать дальше →

Туннели и VPN, устойчивые к DPI

Reading time10 min
Views168K
Мы живем в интересное время. Я бы даже сказал, в удивительное. По одну сторону мы видим неких лиц, которые очень хотят знать, о чем между собой разговаривают другие люди, и очень хотят указывать им, что можно читать, а что нельзя. С другой стороны граждане, которые хотят отстоять свои права тайны личной переписки и свободного получения информации, и не хотят, чтобы факты этой самой переписки и получения этой самой информации были использованы против них. Бонусом страдает огромное количество сторонних сайтов, сервисов и бизнесов, которых задевает «ковровыми блокировками».

Но нет, эта статья не об обществе, а о технологиях.

image
Читать дальше →

Шпаргалка с командами Docker

Reading time5 min
Views799K
Прим. перев.: Неделю назад Aymen El Amri, руководящий компанией eralabs и создавший обучающий курс «Безболезненный Docker», опубликовал свой Docker Cheat Sheet — шпаргалку по основным командам Docker. Git-репозиторий этого документа на GitHub уже набрал 1000+ stars и несколько сторонних контрибьюторов, что подтвердило его актуальность и пользу.



Представленные здесь команды описаны минимально (с акцентом на читаемость как есть) и включают в себя установку Docker, работу с реестрами и репозиториями, контейнерами, образами, сетью, Docker Swarm. Ниже представлен перевод шпаргалки в её состоянии на 2 сентября с дополнениями из комментариев ниже.
Читать дальше →

Идеальное резюме, которому будут рады рекрутер и работодатель

Reading time12 min
Views258K
Данная статья основана на материалах моего выступления перед студентами Южного Федерального Университета. Большинство примеров – из мира веб-разработки. Однако принципы, о которых я рассказываю, применимы к любой области деятельности.
Читать дальше →

12 вопросов, которые стоит задать потенциальным работодателям

Reading time8 min
Views18K

Я только что завершил шестинедельный процесс трудоустройства на должность middle-senior разработчика на рынке, где сейчас ведется активная охота за талантами (Амстердам). Иными словами, я побывал на куче собеседований. Чтобы аккуратно разведать, какие компании мне больше всего подходят, я старался задавать побольше вопросов. Тут нужно найти правильный баланс, исходя из своих потребностей и того, кто с вами общается.

Если вы джуниор в поисках работы, то вы, возможно, придете к выводу, что вас на самом-то деле мало интересует, что вам ответят на все приведенные ниже вопросы — вам бы хоть куда-нибудь устроиться. Но даже в этом случае, решите для себя, какие моменты для вас будут стоп-сигналами и спрашивайте с расчетом на то, чтобы всплыла нужная информация. Если есть что-то, что может вас заставить отказаться от вакансии, лучше узнать об этом до того, как примете предложение о работе.
Читать дальше →

Big O

Level of difficultyEasy
Reading time5 min
Views252K
бинарный поиск
Примечание. Сокращенный перевод, скорее пересказ своими словами.
UPD: как отметили в комментариях, примеры не идеальны. Автор не ищет лучшее решение задачи, его цель объяснить сложность алгоритмов «на пальцах».


Big O нотация нужна для описания сложности алгоритмов. Для этого используется понятие времени. Тема для многих пугающая, программисты избегающие разговоров о «времени порядка N» обычное дело.

Если вы способны оценить код в терминах Big O, скорее всего вас считают «умным парнем». И скорее всего вы пройдете ваше следующее собеседование. Вас не остановит вопрос можно ли уменьшить сложность какого-нибудь куска кода до n log n против n^2.

Структуры данных


Выбор структуры данных зависит от конкретной задачи: от вида данных и алгоритма их обработки. Разнообразные структуры данных (в .NET или Java или Elixir) создавались под определенные типы алгоритмов.

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

Здесь мы будем использовать только массивы чисел (прямо как на собеседовании). Примеры на JavaScript.
Читать дальше →

20 привычек для гигиены внимания: как пользоваться технологиями, но не позволять им отбирать свое время и внимание

Reading time4 min
Views19K


Технологии захватывают наши время и внимание, и это уже не просто не смешно, это грустно, вплоть до депрессии, тревоги и биполярных расстройств. Я регулярно публикую исследования о влиянии технологий на душевное здоровье на Хабре и в своем телеграм-канале, и за это время накопилось какое-то количество наблюдений.


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

Читать дальше →

Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет

Reading time26 min
Views151K


Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания. Заодно я решил составить шпаргалку с описанием большинства современных технологий, чтобы в случае чего кидать жаждущим новых знаний линк на эту статью, да и самому не забывать.
Читать дальше →

Как стать Java разработчиком за 1,5 года

Reading time10 min
Views313K

Меня зовут Сергей, мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании. Мы занимаемся разработкой программного обеспечения для пивоварен оценки финансовых и кредитных рисков. Это моя первая работа в качестве разработчика. До этого я работал в сфере IT-поддержки и системной интеграции. Первого февраля 2019 г. закончился мой шестимесячный испытательный срок, и у меня на руках бессрочный контракт. Я хочу поделиться своим опытом, как можно самостоятельно выучить Java так, чтобы получить работу.



Это мой рабочий стол. Пить пиво в рабочее время у нас разрешено, мы же в Германии.


Моя первая статья: «IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там»

Читать дальше →

Для тех, кто познаёт ушами: подкасты для разработчиков

Reading time6 min
Views53K


Кто сказал, что разработчики могут учиться новому только через книги, видео и анализ чужого кода? Ведь у нас и другие каналы получения информации из окружающего мира. Конечно, речь не о том, чтобы попробовать знания на вкус, пощупать их или понюхать. А вот послушать — самое оно. Мы собрали для вас коллекцию действующих русскоязычных подкастов для разработчиков. Хороший способ дать глазам отдых или занять себя в пробках.
Читать дальше →

42 оператора расширенного поиска Google (полный список)

Reading time15 min
Views330K
Те, кто давно занимается поисковой оптимизацией, хорошо знают об операторах расширенного поиска Google. Например, почти все знают об операторе site:, который ограничивает поисковую выдачу одним сайтом.

Большинство операторов легко запомнить, это короткие команды. Но уметь эффективно их использовать — совсем другая история. Многие специалисты знают основы, но немногие по-настоящему овладели этими командами.

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

Есть ли жизнь под Windows 98, часть первая — про железо

Reading time9 min
Views48K
Я люблю копаться со старым железом. Взять какую-нибудь старую железку и привести её в пригодное для использования состояние доставляет мне удовольствие. За хобби я это не считаю, потому что не последователен — развлекаюсь только с тем, что в руки попадётся. Обычно не бегаю за конкретными вещами и коллекцию не собираю, стараюсь к выбору «пациентов» подходить с прагматичной точки зрения — старые сервера, ноутбуки и т.п., что ещё можно приспособить для каких-то практических целей. К примеру, если взять двухпроцессорную материнскую плату второй половины нулевых на Socket 771, то в неё можно недорого воткнуть пару Xeon и 32 гигабайта FBDIMM и получить довольно бюджетную платформу для виртуальных машин, которым важнее память, чем процессор.


Читать дальше →

Интересности и полезности python

Reading time6 min
Views41K
Я уже несколько лет программирую на python, однако, недавно осознал, что множество полезных приёмов и интересных моментов прошли мимо меня, возможно, я не один такой, поэтому решил перечислить их здесь, надеюсь, данные приёмы пригодятся кому-то в работе или побудят познакомиться с этим языком поближе.
Читать дальше →

Справочная: 4-дневная рабочая неделя — реальная возможность или фантазия?

Reading time4 min
Views33K
image

Не так давно в сети стали массово появляться статьи об эксперименте с продолжительностью рабочей недели, проведенном компанией Perpetual Guardian в Новой Зеландии. Он закончился досрочно, всего через два месяца после начала, показав отличные, по словам руководства компании, результаты. Они были настолько хороши, что Эндрю Барнс, генеральный директор Perpetual Guardian, решил ввести четырехдневную рабочую неделю на постоянной основе.

По его словам, все началось с желания проверить теорию о том, что снижение количества рабочих дней в неделе положительно повлияет на работоспособность сотрудников и общую производительность труда в компании. Насколько инновационным можно считать этот эксперимент и что представляет собой сокращенная рабочая неделя на самом деле? Разбираемся в сегодняшней «Справочной».
Читать дальше →

«Кроме работы я еще работаю» — 10 вопросов программисту, третий выпуск

Reading time5 min
Views15K


В прошлых выпусках мы говорили с бывалыми ребятами. Был откровенный рассказ выгоревшего разраба и оптимистичные ответы успешного лида большой компании. Сегодня опрашиваем парня, который только начинает свой путь в ИТ. И по-прежнему ждем заявок от всех, кому тоже охота поболтать.
Читать дальше →

Продвинутое использование Гита или как выйти на пенсию на полгода раньше?

Reading time11 min
Views28K


Не знаю, на каком языке программирования вы пишете, но уверен, что используете Гит при разработке. Инструментов для сопровождения разработки становится всё больше, но даже самый маленький тестовый проект, я неизменно начинаю с команды git init. А в течение рабочего дня набираю в среднем ещё 80 команд, обращаясь к этой системе контроля версий.


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


На Хабр написано много статей о Гите, но они не уходят дальше официальной документации, а упрощать работу авторы предлагают самописными костылями. Я уверен, что изучать Гит нужно на конкретных примерах задач, а повышать эффективность работы с ним – стандартизированными средствами.


Кому будет полезна эта статья?


Вы уже освоили джентльменский набор Гита и готовы двигаться дальше? Существует 2 пути:


  1. Освоить сокращённые команды – алиасы. Они почти всегда составлены мнемонически и легко запоминаются. Забыть оригиналы команд проблематично, я легко их набираю, когда это требуется. Плюс не сбиваюсь с мысли, проверяя что-то в Гите в процессе написания кода.
  2. Узнать о дополнительных флагах к командам, а также их объединении между собой. Я понимаю, что кто-то ненавидит сокращения. Для вас тоже есть интересный материал в статье – как повысить полезность и удобство вывода команд, а также как решать не самые тривиальные, но часто встречающиеся на практике задачи.

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


Добро пожаловать под кат!

Читать дальше →

Django на production. uWSGI + nginx. Подробное руководство

Reading time7 min
Views225K
Перед вами руководство по настройке production окружения для Django. Здесь будут описаны необходимые шаги по настройке Django, uWSGI и nginx. Руководство охватывает все три компонента — полный стек серверного ПО для веб-приложений.

Подразумевается, что вы используете Unix-подобную операционную систему и менеджер пакетов, эквивалентный aptitude. Найти эквивалент aptitude почти для любой операционной системы, в том числе и для Mac OS X, для вас не составит никакого труда.

Руководство написно для версий Django 1.4 или выше. Если вы используете более раннюю версию, то вам придется самостоятельно найти wsgi модуль для нее. Также вы заметите, что файловая структура проекта будет немного отличаться от представленной здесь.

Общая идея


Веб-сервер может по запросу отдавать пользователям файлы из своей файловой системы, однако он не может напрямую работать с Djangо приложениями. Веб-серверу нужен интерфейс, который будет запускать Django приложение, передавать ему запрос от пользователя и возвращать ответ.

Для выполнения этих задач был разработан Web Server Gateway Interface — WSGI — стандарт взаимодействия Python программ и веб-сервра.

uWSGI — одна из реализаций WSGI. В этом руководстве мы установим и настроим uWSGI для создания Unix сокета и взаимодействия с веб-сервером по протоколу WSGI.
Читать дальше →

Погружаемся в Docker: Dockerfile и коммуникация между контейнерами

Reading time8 min
Views394K
В прошлой статье мы рассказали, что такое Docker и как с его помощью можно обойти Vendor–lock. В этой статье мы поговорим о Dockerfile как о правильном способе подготовки образов для Docker. Также мы рассмотрим ситуацию, когда контейнерам нужно взаимодействовать друг с другом.


В InfoboxCloud мы сделали готовый образ Ubuntu 14.04 с Docker. Не забудьте поставить галочку «Разрешить управление ядром ОС» при создании сервера, это требуется для работы Docker.
Читать дальше →

Как отбрасывать 10 миллионов пакетов в секунду

Reading time9 min
Views34K
В компании нашу команду по противостоянию DDoS-атакам называют «отбрасыватели пакетов» (the packet droppers — прим. пер). Пока все остальные команды делают клёвые штуки с проходящим через нашу сеть трафиком, мы развлекаемся поиском новых способом избавиться от него.


Фотография: Brian Evans, CC BY-SA 2.0

Умение быстро отбрасывать пакеты очень важно в противостоянии DDoS-атакам.

Отбрасывание пакетов, достигающих наших серверов, может быть выполнено на нескольких уровнях. Каждый способ имеет свои плюсы и минусы. Под катом мы рассмотрим всё, что мы опробовали.
Читать дальше →

Книга «Minecraft. Программируй свой мир»

Reading time5 min
Views64K
У нас вышла новая книга, адресованная мальчикам и девочкам, которые любят играть в Minecraft и хотят научиться программированию, чтобы с помощью новых знаний добиться большего.

image

Книга специально написана для тех, кто не только любит играть, но и хочет создавать что-то новое. Вы с легкостью освоите программирование, просто играя в Minecraft. В этом вам помогут простые пошаговые инструкции, позволяющие не только написать программу на Python, но и построить дом, фантастическое сооружение или даже 3D-копировальную машину. Вы сможете создавать собственные интерактивные игры, заниматься поиском сокровищ и даже возводить невероятные гигантские 2D- и 3D-объекты (сферы и пирамиды).

Все в ваших силах — постройте работающие огромные Minecraft-часы, спланируйте нападение инопланетян и даже сражение. Навыки программирования, полученные в этой книге, позволят вам раскрыть невероятные возможности Minecraft, недоступные вашим друзьям и знакомым.
Читать дальше →

Information

Rating
Does not participate
Location
Перечин, Закарпатская обл., Украина
Date of birth
Registered
Activity