Pull to refresh
2
0.2
Николай Feycot @feycot

User

Send message

Обзор топ-5 полезных утилит для Docker

Reading time5 min
Views44K

Проект Docker, запущенный в 2013 году, стал одним из самых популярных инструментов в области контейнеризации. Спустя почти 10 лет Docker активно развивается, однако, не только сама компания Docker Inc привносит улучшения в свой продукт – обычные пользователи тоже вносят свой вклад, создавая различные инструменты, которые совершенствуют взаимодействие с системой Docker.

В статье мы рассмотрим топ-5 полезных утилит, которые упростят работу с Docker.

Читать далее

Генерация и валидация чисел по алгоритму Луна

Level of difficultyEasy
Reading time6 min
Views20K

Алгоритм Луна (Luhn algorithm) - это процесс вычисления контрольной цифры для числа в соответствии со стандартом ISO/IEC 7812. Процесс предназначен, в первую очередь, для выявления ошибок, вызванных с непреднамеренным искажением данных. Например, при ручном вводе номера карты или любого другого числа.

Разберём как он работает и рассмотрим инструмент для формирования номеров по алгоритму.

Читать далее

Lua: маленький язык, который смог

Level of difficultyEasy
Reading time6 min
Views69K

Lua — это, пожалуй, мой любимый "маленький язык", с низкой когнитивной нагрузкой и простотой в изучении и использовании. Он встроен во многое ПО, такое как Redis, NGINX через OpenResty и Wireshark (прим. перевод.: и многое другое). Он также используется в качестве скриптового языка в таких играх, как World of Warcraft и Roblox через Luau (прим. перевод.: и многих других). Этот пост — краткое признание в любви языку с некоторыми примерами того, почему он мне так нравится.

Читать далее

К вопросу о современном восприятии методологии 12 Factor App

Reading time9 min
Views6.5K

Методология Twelve-Factor App (Приложение двенадцати факторов), которую создал сооснователь платформы Heroku Адам Уиггинс, направлена на разработку SaaS-приложений. Документ, описывающий эту методологию, включает в себя множество идей, применение которых сделало использование и, я уверен, создание платформы Heroku, увлекательным и благодарным трудом.

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

Как, со времени представления методологии Twelve-Factor App в 2011 году, эволюционировали принципы, положенные в её основу? Чему они могут нас научить сегодня? Как эти принципы изменили положение дел в недавнем прошлом?

Читать далее

28 расширений VS Code для разработки документации

Reading time3 min
Views31K

Плагины VS Code, без которых техническим писателям и разработчикам документации жить можно, но сложно. В подборке — линтеры, форматирование, работа с git, проектирование API, подготовка схем и милота для удобной разработки.

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

TypeScript: паттерны проектирования. Часть 1

Reading time10 min
Views25K


Привет, друзья!


Представляю вашему вниманию перевод первой части серии статей, посвященных паттернам проектирования в TypeScript.


Спасибо Денису Улесову за помощь в переводе материала.


Паттерны (или шаблоны) проектирования (design patterns) описывают типичные способы решения часто встречающихся проблем при проектировании программ.


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

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

TypeScript: паттерны проектирования. Часть 2

Reading time10 min
Views13K


Привет, друзья!


Представляю вашему вниманию перевод второй части серии статей, посвященных паттернам проектирования в TypeScript.


Спасибо Денису Улесову за помощь в переводе материала.


Паттерны (или шаблоны) проектирования (design patterns) описывают типичные способы решения часто встречающихся проблем при проектировании программ.


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

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

Пользователь в Docker

Reading time3 min
Views74K

Андрей Копылов, наш технический директор, любит, активно использует и пропагандирует Docker. В новой статье он рассказывает, как создать пользователей в Docker. Правильная работа с ними, почему пользователей нельзя оставлять с root правами и, как решить задачу несовпадения идентификаторов в Dockerfile.

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

Laravel: разработка пакетов

Reading time15 min
Views13K

Каждый разработчик рано или поздно сталкивается с необходимостью повторного использования собственного кода. В проектах PHP для этих целей создаются пакеты, устанавливаемые с помощью Composer. При этом пакеты могут быть абстрагированы от каких-либо фреймворков, либо могут быть предназначены для использования в конкретном PHP-фреймворке. В данной статье рассказывается о том, как создать PHP-пакеты для фреймворка Laravel, но материал будет полезен и тем, кто собирается разрабатывать любые другие PHP-пакеты (как публичные, так и приватные).

Для лучшего понимания данного материала рекомендуется ознакомиться с разделом о разработке пакетов в официальной документации Laravel. А для более детального изучения темы будет полезен данный ресурс.

Данная статья в большей мере ориентирована на начинающих разработчиков.

Читать далее

Генерация подземелий в Binding of Isaac

Reading time7 min
Views18K

Binding of Isaac и её ремейк Binding Of Isaac: Rebirth — одни из самых любимых для меня игр. Они относятся к жанру roguelite twin stick shooter и очень похожи на Enter the Gungeon.

Особенно знамениты подземелья, генерируемые этими играми. В Интернете я видел бесчисленное количество туториалов о том, как создавать генерацию в стиле Isaac, но меня заинтересовало, как она реализована в оригинале. К моему удивлению, в большинстве туториалов процесс описывается неверно. В этой статье я расскажу о том, как работает генерация, и покажу её пример в демо на Javascript.

Хоть мне и пришлось провести декомпиляцию, а также освежить свои покрывшиеся пылью знания о Flash (когда-то я написал собственный декомпилятор Actionscript), мне ещё и очень повезло: разработчик Isaac Флориан Химсл и один из основных разработчиков Rebirth Саймон Парзер с радостью ответили на мои вопросы. На самом деле, Флориан даже недавно записал видео с описанием алгоритма. На его канале можно также узнать подробности разработки его новой игры Squid Invaders.

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

Как основать школу программирования в 2012 году и чуть не потерять всё из-за бума в Edtech

Level of difficultyEasy
Reading time11 min
Views11K

CEO «Хекслета» Кирилл Мокевнин — о том, как не надо создавать свою школу программирования, если вы хотите зарабатывать, и почему инженерная экспертиза в IT-сфере мешает реальному пониманию рынка.

Читать далее

Пять простых шагов для понимания JSON Web Tokens (JWT)

Reading time5 min
Views707K

jwt


Представляю вам мой довольно вольный перевод статьи 5 Easy Steps to Understanding JSON Web Tokens (JWT). В этой статье будет рассказано о том, что из себя представляют JSON Web Tokens (JWT) и с чем их едят. То есть какую роль они играют в проверке подлинности пользователя и обеспечении безопасности данных приложения.

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

Как дать максимально хреновую оценку задаче

Reading time4 min
Views8K
image

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

Дрейфусовская модель приобретения навыков

Reading time7 min
Views24K
Итак, этот пост будет немного «поспешным», что неудивительно для субботнего утра (оригинальная статья была опубликована 18-ого августа 2007-ого года. прим.пер.), но я хочу сослаться на этот топик в одной работе, которой собираюсь заняться этой осенью. Я планирую плодотворно поработать: создать несколько ресурсов со ссылками в интернете, которые помогут детям в создании своих первых проектов, а также в обучении таким предметам как физика, физика космоса и робототехника/электроника. Если вы знаете меня, то вы знаете, что я довольно долго изучал эти вещи. Проблема в процессе обучения этим предметам в наше время в том, что они чересчур абстрактны и часто ограничиваются теорией «на бумаге». Чтобы изучить эти предметы на уровне более высоком, чем просто знание тривиальных вещей и фактов, вы должны по-настоящему «заниматься» наукой, а не просто «читать» о них.

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

7 soft skills, которые нужно начинать прокачивать уже сейчас

Reading time10 min
Views26K
image

Быть программистом в 2020 году — не то же самое, что десять лет назад. Мир постоянно меняется, и многие из умений, которые были важны тогда, со временем отошли на второй план. А какими навыками должен обладать разработчик, чтобы оставаться востребованным специалистом, например, через пять лет? Если у вас их нет, возможно, стоит подумать над их развитием уже сейчас?

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

Я провёл более 600 технических интервью — и вот пять проблемных мест, которые я заметил у кандидатов

Reading time9 min
Views49K
Недавно я провёл 600-е собеседование на interviewing.io (IIO). Хотелось бы поделиться опытом, рассказать, как я подхожу к интервью, и пролить свет на типичные проблемы у кандидатов. Каждый интервьюер на IIO индивидуален, поэтому ваши результаты могут отличаться. У нас на платформе сформировалось замечательное сообщество, где каждый работает над улучшением своих знаний, навыков и результатов интервью.

Пробное интервью на interviewing.io


Мы оцениваем людей по трём четырёхбалльным шкалам. Оценка «один» означает плохой результат, а «четыре» — очень хороший. Я обычно вначале даю кандидату три балла, а затем прибавляю/отнимаю очки по мере интервью.

Каждый интервьюер отдаёт предпочтение какому-то одному аспекту. Лично я проявляю некоторую предвзятость в сторону скиллов «общение» («коммуникация») и «решение проблем», которые мы обсудим ниже.
Читать дальше →

Солнце в коробке

Reading time17 min
Views25K
«Это мой лучший друг: всегда в хорошем настроении и не задаёт лишних вопросов» — Леон о растении.


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

Человеческий фактор или «соглашения не работают»

Reading time4 min
Views3.7K
Представьте ситуацию. Вы со своей командой, после очередной итерации, обсуждаете слабое покрытие кода тестами и решаете что с понедельника текущего момента все пишут тесты как для нового кода, так и для всплывающих багов. Это кажется разумным (кто-то вспоминает последний неудачный деплой), все поддакивают и довольные расходятся с мыслью, что ну вот теперь то у нас точно все будет отлично. Приходит время следующего собрания на котором во время вопроса «а как у нас с тестированием» большинство отводит глаза. Результат ясен, все осталось по старому.

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

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

Как работают реляционные базы данных (Часть 1)

Reading time14 min
Views67K

Привет, Хабр! Представляю вашему вниманию перевод статьи
"How does a relational database work".


Когда дело доходит до реляционных баз данных я не могу не думать, что чего-то не хватает. Они используются везде. Существует множество различных баз данных: от небольшого и полезного SQLite до мощной Teradata. Но есть только несколько статей, которые объясняют, как работает база данных. Вы можете искать сами по запросу "howdoesarelationaldatabasework" («как работают реляционные базы данных») чтобы увидеть, как мало результатов. Более того, эти статьи — короткие. Если же вы ищете последние модные технологии (BigData, NoSQL или JavaScript), вы найдете больше углубленных статей, объясняющих, как они работают.


Являются ли реляционные базы данных слишком старыми и слишком скучными, чтобы их можно было объяснить вне университетских курсов, исследовательских работ и книг?


image

Читать дальше →
1
23 ...

Information

Rating
2,677-th
Date of birth
Registered
Activity