Programming

A collection of 40 posts

Простой интерактивный текстовый редактор на Bash
Bash

Простой интерактивный текстовый редактор на Bash

На случай если даже нет Vim'аБывало ли у вас такое, что заходите на сервер, а там вообще нет ничего для редактирования текстов? От слова совсем, кроме дефолтных команд. На такой

Serverless статистика для Ghost блога на примере Cloudflare workers + KV за 5 минут
JavaScript

Serverless статистика для Ghost блога на примере Cloudflare workers + KV за 5 минут

Делаем простую статистику и лайки за 5 минут, используя воркеры Cloudflare с применеием Key Value хранилища от них же. Задача: После перезда с medium.com на свой собственный блог (в

Bash

IDN — Punycode

Работаем с кириллическими доменами Собственно речь пойдет о том, как работать с кирилическими (и не только) доменами в PHP, Node.js, Bash/Zsh и Python. Почему такой выбор языков? Это стек проекта GeekJob.ru, над которым я работаю. IDN (Internationalized Domain Names — интернационализованные доменные

Bash

Как скачать видеострим на Bash

Download and combine m3u *.ts to .mp4 Бывает такое: была запись в приватном канале (допустим семинар). Затем тебе же открывают доступ к прошедшему стриму (допустим это твое выступление). Хочется сохранить для истории для себя видео, но скачать никак не получится какими-то готовыми расширениями или

PHP

FunPHP 7.4: access to private and protected

Паблик Морозов на собеседованииЕсть у меня статья про то, как Паблик Морозов на собеседовании получал доступы к private и protected полям. С выходом PHP 7.4, который зарелизится 28 ноября 2019 года, можно переписать пару примеров. Один из таких примеров с использованием лямбд. Простая

Bugs

Unexpected server respose while doing caching_sha2 auth

PHP 7.2.8 Очередные заметки на полях, вдруг кому-то пригодится. Если вы столкнулись с ошибкой: Fatal error: Uncaught PDOException: PDO::__construct(): Unexpected server respose while doing caching_sha2 auth: 109 in … Кстати да, в самом тексте тоже ошибка, слово response написано без

DevOps

Recovery password MySQL 8.0

On Windows Server Reset MySQL 8.0 password on Windows Server Заметки на полях. Потерял пароль. Стал восстанавливать и столкнулся с тем, что много разных источников показывают разные варианты. Но у меня сработал только один. Возможно кому-то это пригодится (ну или я сам снова

Algorithms

Fun ES #6: перевернуть число

Задачки с собеседований. Сборник решений Задача про переворот строки вызвала интерес у многих читателей, как оказалось. И даже стали писать в личку. Например, Леонид Лебедев, верно подметил, что задачу на переворот числа можно решить без приведения к строке. Да, можно. Но я не стал

Algorithms

Fun ES #5: перевернуть строку

Задачки с собеседований. Сборник решений Давно я не писал ничего из серии разбора задачек. Краткий пост про задачку, которую уже просто замусолили. Я не считаю, что эта задача может показать крутость разработчика. Задачка может показать на сколько разработчик давно знаком с языком и на

Algorithms

ASP.NET membership password hashing reimplemented in PHP

Будни разработчика Сейчас у меня стадия активной переработки проекта анонимного поиска работы — GeekJob.ru Этот проект написан на ASP.NET еще в далеком 2012 году, крутится на Windows Server, хранит данные в MS SQL. И сейчас стоит задача его кардинально переработать и сделать супер

Cloudflare

NoOps или DevOps по хипстерски

Cloudflare архитектура Мысль: каждый синьор специалист уже отчасти является DevOps инженером. Прелюдия PAAS и SAAS системы, такие как Amazon, Heroku им им подобные уже давно прочно вошли в повседневную жизнь веб-разработчиков. В некоторых случаях они вполне могут составить конкуренцию целым отделам DevOps (или каких-то

Algorithms

Алтернатива switch case в JS/PHP

Switch-hash структуры и вопрос с php-собеседования У вас бывало такое, что нужно где-то получить данные из switch-case блока, при этом это нужно единожды и это где-то нужно здесь и сейчас. Например при инициализации массива? И не хочется куда-то выносить код, заводить отдельные переменные, которые

Ghost

Ghost Blog, Nginx, HTTPS и бесконечный редирект

Зарисовки DevOps Нашел противный баг в блоге Ghost, который я запускаю прямо из официального докер контейнера. На этом движке крутится наш корпоративный блог. Суть баги: в конфиге докер контейнера прописываете ссылку на блог с HTTPS (у нас же 2k18 и сейчас без https и

Algorithms

Пишем GCD функцию

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

Algorithms

Fun ES #4: задачки в ФП стиле

Реализуем map, reduce, filter С приходом моды на функциональное программирование в JS пришли и вопросы для собеседований по этой же теме. Логично, если назвался функциональщиком, не желая отвечать на вопросы по ООП, будь добр показать, что ты умеешь в FP. В свое время была

Debugging

Применение void в JS для дебага

Будничные заметки setTimeout(void function(){ ... }, 1000); Вот так вот легко и непринужденно можно отменить вызов функции. Это можно применять при отладке, когда блок кода большой и комментировать его неудобно. Чаще я использовал такой кейс: if (0) setTimeout(function(){ ... }, 1000); Этот кейс более универсальный и

Hacklang

Fun PHP #4

Задачка с собеседования В каждом языке есть свои примечательные особенности. Некоторые из них могут подпортить жизнь при отладке, другие могут позволить делать невозможное возможным. В PHP есть так же свои особенности и часто про эти особенности любят спрашивать на собеседованиях. Одна из таких задачек:

👍 ?
👓 ?