Pull to refresh
0
0
Send message

10 интересных репозиториев на GitHub, полезных любому разработчику

Reading time4 min
Views82K
Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО.


Фото с ресурса Unsplash. Автор: Vishnu R Nair

GitHub — это лучшая платформа для обмена фреймворками, библиотеками и техническими решениями. Однако найти среди этого многообразия действительно полезные репозитории сложно. Поэтому я решил составить список из десяти интересных репозиториев, которые, на мой взгляд, пригодятся любому разработчику.

Каждый из них имеет множество звезд на GitHub, что только подтверждает их популярность, актуальность и полезность. Одни репозитории научат вас чему-то новому, благодаря другим вы сможете создать какие-то классные штуки. В целом, используя их, можно основательно прокачать навык разработки программного обеспечения.
Читать дальше →
Total votes 88: ↑83 and ↓5+78
Comments14

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time39 min
Views1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

Читать дальше →
Total votes 125: ↑124 and ↓1+123
Comments44

Бекендер — психотерапевт: дебаггер для психики

Reading time5 min
Views8.8K
Привет! Меня зовут Максим, последние 17 лет я работаю в ИТ (аналитик, РП, 11 лет бекенда), а еще я получил второе образование психолога в жанре «гештальт-терапия». Хочу рассказать о том, что для меня психотерапия очень похожа на разработку ПО с помощью дебаггера и как эту схожесть можно применять на практике.



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

В этой статье хочу рассказать о двух моих любимых багах (в смысле, что мне они свойственны в большей степени) — это «интроекция» и «проекция». Все подробности под катом.
Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments22

[Туториал] Как создать вашу первую инкрементальную IDLE игру на JavaScript

Reading time17 min
Views19K
Сегодня я расскажу вам, как создать простейший ToDo лист простейшую инкрементальную IDLE игру на JavaScript, потратив меньше одного дня ежегодных каникул. Для этого предлагаю выбрать сову игру попроще и не пропускать шагов между овалом и готовой совой пустым проектом и готовой игрой.


Людям, знающим как делать такие игры, будет скучно; людям, знающим JS, рекомендую смотреть на код сквозь пальцы (во избежание травм) и читать только про механики. Под катом последовательная инструкция, ориентированная на новичков.
Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments15

Заменяем Google Assistant на нейросеть Порфирьевич и троллим Алису

Reading time4 min
Views51K

Вы уже видели, что вытворяет нейросеть Порфирьевич? Она дописывает текст к любой вашей фразе. И действительно забавные штуки получаются, потому что обучена она на книгах Достоевского, Толстого, Пушкина, Булгакова, Гоголя и Пелевина.

«Озвучить все это дело голосом Левитана — получился бы отличный заменитель гугловского ассистента к новогоднему застолью...» — подумал я. И решил не откладывать это мероприятие на посленовогогода (а то ведь сами понимаете).

Под катом — весь процесс создания опенсорсного голосового ассистента Порфирьевич на исключительно опенсорсном фреймворке Aimybox, и его запуск вместо штатного Google ассистента. Ну и заодно Алису потроллить можно.
Total votes 43: ↑42 and ↓1+41
Comments22

Что происходит при соединениях внутри и вне VPN-туннеля

Reading time12 min
Views10K
Из писем в службу техподдержки Tucha рождаются настоящие статьи. Так, недавно к нам обратился клиент с запросом разъяснить, что происходит при соединениях внутри VPN-туннеля между офисом пользователя и средой в облаке, а также при соединениях вне VPN-туннеля. Поэтому весь текст, приведенный ниже, — это реальное письмо, которое мы отправили одному из клиентов в ответ на его вопрос. Конечно, изменили IP-адреса, чтобы не деанонимизировать клиента. Но, да, служба технической поддержки Tucha действительно славится своими развёрнутыми ответами и содержательными письмами. :-)

Конечно, мы понимаем, что для многих эта статья не станет открытием. Но, поскольку на Habr время от времени появляются статьи для начинающих администраторов, а также ввиду того, что эта статья появилась из реального письма реальному клиенту, мы всё же поделимся этой информацией и здесь. Есть большая вероятность, что кому-то она будет полезна.
Поэтому подробно объясняем, что происходит между сервером в облаке и офисом, если они объединены site-to-site сетью. Отметим, что при этом часть сервисов доступна только из офиса, а часть — откуда угодно из сети Интернет.

Сразу объясним, что наш клиент пожелал, чтобы на сервер 192.168.A.1 можно было откуда угодно приходить по RDP, подключаясь к A.A.A.2:13389, а к остальным службам — только из офиса (192.168.B.0/24), подключённого через VPN. Также у клиента было настроено изначально, что к машине 192.168.B.2 в офисе тоже можно было ходить по RDP откуда угодно, подключаясь к B.B.B.1:11111. Мы помогли организовать IPSec-соединения между облаком и офисом, и ИТ-специалист заказчика начал задавать вопросы о том, что будет в том или ином случае. Чтобы ответить на все эти вопросы, мы, собственно, и написали ему всё то, что вы можете прочесть ниже.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments7

Неэффективная эффективность

Reading time4 min
Views8.4K


Вы делаете утренний кофе. Хотите приготовить 2 чашки. Вы:


  • Начнёте кипятить воду на 1 чашку, чтобы вода вскипела пораньше, и одна чашка была готова как можно раньше
  • Начнёте кипятить воду на 2 чашки, чтобы приготовить их одновременно и наиболее эффективно?
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments16

«Спокойной ночи» – как умные гаджеты лишают людей сна

Reading time3 min
Views13K
image

С чего начинается каждое мое утро? Звонок будильника, беру в руки айфон и… проверяю через приложение, как же я там сегодня поспала.

Бред, конечно: я ведь могу просто прислушаться к своему телу и четко ответить, выспалась ли я. Но нет, мне данные подавай – больше графиков и цифр.

Уверена, я не одна такая. Согласно этому исследованию, 10% американцев уже носят умные часы, а 50% — рассматривают возможность такой покупки в ближайшем будущем. На Reddit есть канал r/Biohackers, и там куча сообщений в таком духе:
«Ребята, помогите! Мое кольцо Oura стабильно показывает 55 баллов или даже ниже. И это несмотря на все мои усилия по улучшению сна – активность в течение дня, медитации, холодный душ, никакой еды за 4 часа до сна, блокировка голубого экрана на смартфоне. Что делать?»
То есть человек чувствует себя нормально, но трекер говорит, что, мол, ничего подобного! Ему-то виднее!

О пользе сна и ужасах от его лишения долго расписывать, думаю, смысла нет: все и так знают, что спать нужно 7-8 часов и делать это качественно, то есть засыпать в течение 30 минут и просыпаться не более одного раза за ночь.

Но помогает ли изучение данных о сне лучше спать?

Читать дальше →
Total votes 29: ↑22 and ↓7+15
Comments56

Горизонтальный vs. вертикальный рост разработчика. Мнения из ivi и Яндекса

Reading time7 min
Views12K
Одну из сессий конференции YaTalks мы посвятим росту разработчиков. Это будет разговор между представителями разных фирм — мы пригласили CTO онлайн-кинотеатра ivi Евгения eross Россинского, технического директора mos.ru Романа romas1982 Ивлиева и Германа Наркайтиса — директора по инжинирингу компании Apstra. От нас будут участвовать руководители разных команд в поисковом портале: Ольга Мегорская и (в роли модератора) Андрей yafinder Плахов.

Мы подумали, что перед дискуссией стоит «синхронизироваться» в терминах. Все хотя бы примерно представляют, что такое вертикальный рост. С горизонтальным всё сложнее: хорошие примеры выросших горизонтально людей не так видны из-за пределов компании. В чём состоит их работа? Они пишут код или только занимаются код-ревью, составлением методологий и т. д.? А возвращаясь к вертикальному росту — какие главные проблемы встают перед (будущим) тимлидом? Мы задали эти вопросы участникам дискуссии и сегодня публикуем их ответы на Хабре. Тех разработчиков, кто выбрал горизонтальную ветку развития, будем называть экспертами — имея в виду, что они управляют не людьми, а технологиями.

Евгений Россинский, CTO ivi




Небезразличные разработчики


Помимо вертикального роста, по административной линии, разработчики могут расти горизонтально — в технологических экспертов. Тогда важнее хард-скиллы. Это очень сильные, небезразличные разработчики, которые развивают концепцию архитектуры продукта. Им не требуется менеджмент — они самостоятельно находят «дырки» в продуктах и закрывают их. Если надо, они сами пишут код, собирают и разбирают команды. На таких людях у нас держится большая часть архитектурных решений. В нашей компании 26 команд, в каждой из них примерно по 10 человек, из них 2-3 эксперта. Более того, иногда мы создаём команды только из таких суперзвёзд. Рост эксперта зависит от уровня и количества проектов, которые он курирует.
Читать дальше →
Total votes 27: ↑22 and ↓5+17
Comments2

Субъектность

Reading time19 min
Views5.5K
Я чувствую, я хочу, я думаю, я делаю, я получил…

Во многих языках мира слово “я” содержит мало букв, и это свидетельствует о его важности — чем чаще слово используется, тем короче оно становится.

Часто повторяющееся “я” становится привычным, перестает замечаться и даже озвучиваться. При проблемах с получением результатов обращают внимание на вторую половину фразы “я делаю” и пытаются улучшить действие.

Но формула “я делаю” состоит из двух слагаемых, поэтому предлагаю всё же присмотреться к тому, с чего всякое действие начинается:

  • Что такое “я”.
  • Нехватка “я”.
  • Появление “я”.
  • Усиление “я”.

Затрону абстракции, эгоизм, привязанности и поддержку.

Читать дальше →
Total votes 21: ↑15 and ↓6+9
Comments3

Знакомство с Python для камрадов, переросших «язык A vs. язык B» и другие предрассудки

Reading time17 min
Views42K

Для всех хабравчан, у которых возникло ощущение дежавю: Написать этот пост меня побудили статья "Введение в Python" и комментарии к ней. К сожалению, качество этого "введения" кхм… не будем о грустном. Но ещё грустнее было наблюдать склоки в комментариях, из разряда "C++ быстрее Python", "Rust ещё быстрее C++", "Python не нужен" и т.д. Удивительно, что не вспомнили Ruby!


Как сказал Бьярн Страуструп,


«Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует».

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

Читать дальше →
Total votes 88: ↑83 and ↓5+78
Comments146

Управление командой программистов: как и чем их правильно мотивировать? Часть первая

Reading time11 min
Views24K
Эпиграф:
Муж, глядя на чумазых детей, говорит жене: ну, что, этих отмоем или новых нарожаем?


Под катом рассуждения нашего тимлида, а также директора по развитию продукта RAS — Игоря Марната об особенностях мотивации программистов.

image
Секрет успеха в создании классных программных продуктов известен — возьмите команду крутых программистов, дайте команде классную идею и не мешайте команде работать. Крутые разработчики — ребята редкие и востребованные. Некоторые рекрутеры даже говорят, что у них создаётся такое впечатление, что родить крутого программиста проще, чем нанять его с рынка. Помимо трудностей с наймом, как таковым, опыт каждого конкретного разработчика, его знания о существующем продукте и истории его разработки зачастую незаменимы или восполняются тяжело и долго. Поэтому если вам повезло, и у вас уже есть крутая команда программистов, важно работать над их мотивацией. Нанять, обучить новых разработчиков, сделать из них команду — почти так же трудно и долго, как родить и вырастить детей.
Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments32

GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией

Reading time29 min
Views8.4K
Будучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том, как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() вызова у блочного шифра будет достаточно для безопасной отсылки по каналу связи. Другие же считают, что прикладная криптография — удел немногих, и приемлемо, что богатые компании типа Telegram с олимпиадниками-математиками не могут реализовать безопасный протокол.

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

Hearing

В статье будет написан peer-to-peer, friend-to-friend, end-to-end зашифрованный instant messenger с SIGMA-I протоколом аутентификации и согласования ключей (на базе которого реализован IPsec IKE), используя исключительно ГОСТовые криптографические алгоритмы PyGOST библиотеки и ASN.1 кодирование сообщений библиотекой PyDERASN (про которую я уже писал раньше). Необходимое условие: он должен быть настолько прост, чтобы его можно было написать с нуля за один вечер (или рабочий день), иначе это уже не простая программа. В ней наверняка есть ошибки, излишние сложности, недочёты, плюс это моя первая программа с использованием asyncio библиотеки.
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments7

Docker: невредные советы

Reading time6 min
Views34K

В комментариях к моей статье Docker: вредные советы было много просьб объяснить, чем так ужасен описанный в ней Dockerfile.


Краткое содержание предыдущей серии: два разработчика в жестком дедлайне составляют Dockerfile. В процессе к ним заходит Ops Игорь Иванович. Итоговый Dockerfile плох настолько, что ИИ оказывается на грани инфаркта.



Сейчас разберемся, что не так с этим Dockerfile.


Итак, прошла неделя.

Читать дальше →
Total votes 61: ↑57 and ↓4+53
Comments75

Теперь хороших разрабов меряют по просмотрам и подписчикам — и это плохо

Reading time6 min
Views83K


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

Дело в том, что я написал сюда несколько статей, и они стали популярными. Вроде звучит нормально и заслуженно. Раз я говорю о своем опыте и знаниях в публикациях, а люди их одобряют, то зачем эти формальности на собесах — мой скилл «комьюнити-апрувд».

Вот только почти все статьи не про разработку — в них нытье про мою депрессию. Я-то рад, что мне больше не надо никому ничего доказывать. Но вы что, с ума сошли котировать разрабов за такую чушь? Я думаю, сошли, и вижу тревожные симптомы этого везде.
Читать дальше →
Total votes 350: ↑324 and ↓26+298
Comments487

Выбор телевизора себе, любимому, с позиции науки, а не рекламы

Reading time4 min
Views121K

Всем привет.

На написание этой небольшой статьи меня натолкнул спор касательно выбора телевизора.

Сейчас в этой области — равно как в «мегапикселях для камер» — царит маркетинговая вакханалия в погоне за разрешениями: HD Ready давно сменились на Full HD, а уже становятся всё более популярными 4К и даже 8К.

Давайте разберёмся — а что нам реально-то нужно?
Читать дальше →
Total votes 142: ↑124 and ↓18+106
Comments346

От 5 до 7 и ведерко кофе

Reading time3 min
Views19K
Сколько раз в неделю вы слышите от домашних и коллег слова «хочу выспаться» и «не могу проснуться»? Как часто по утрам вы стонете «Ну еще бы часок!» или «Когда уже пенсия?»

Проблемы, так или иначе связанные со сном, обсуждают на ТВ и в YouTube, на форумах и в пабликах. Говорят об этом и у нас в Plarium Krasnodar. Хотя утренняя очередь к кофемашинам заменяет тысячи слов.

Мы решили провести мини-исследование и рассказать вам, как обстоят дела со сном у игроделов. Также под катом вы найдете выжимку из лекции, которую подготовил один из наших сотрудников: что нужно, чтобы выспаться, «скорая помощь» при недосыпе и другие советы.

Total votes 34: ↑28 and ↓6+22
Comments43

Художественные детские книги про социнжиниринг

Reading time3 min
Views32K


Привет! Я три года назад читал в детском лагере лекцию про социнжиниринг, троллил детей и немного бесил вожатых. В итоге испытуемые спросили, что почитать. Мой дежурный ответ про две книги Митника и две книги Чалдини, вроде, убедителен, но только для примерно восьмиклассника и старше. Если младше — то надо сильно чесать голову.

В общем, ниже — очень короткий список самых обычных художественных произведений. Лёгких, простых, детских. Но про социальную инженерию. Потому что в каждой культуре есть персонаж-джокер, который немного психопат, немного шут и немного эффективный специалист. Список неполный, и я хочу попросить вас его продолжить.
Читать дальше →
Total votes 83: ↑82 and ↓1+81
Comments140

WhatsApp на ладони: где и как можно обнаружить криминалистические артефакты?

Reading time19 min
Views72K


Хотите узнать, какие типы криминалистических артефактов WhatsApp существуют в различных операционных системах и где именно они могут быть обнаружены — тогда вам сюда. Этой статьей специалист Лаборатории компьютерной криминалистики Group-IB Игорь Михайлов открывает серию публикаций о криминалистическом исследовании WhatsApp и о том, какие сведения можно получить при анализе устройства.
Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments7

Network tools, или с чего начать пентестеру?

Reading time9 min
Views42K
Toolkit начинающего пентестера: представляем краткий дайджест главных инструментов, которые пригодятся при пентесте внутренней сети. Эти инструменты уже активно используются широким кругом специалистов, поэтому знать об их возможностях и владеть в совершенстве будет полезно каждому.


Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments6
1
23 ...

Information

Rating
Does not participate
Registered
Activity