Python

Fun Python #7: про args и kwargs

Вот что я узнал… Функции только с именованными аргументами kwargs Если нужно сделать функцию, которая поддерживает только именованные аргументы и запретить позиционные, мы можем писать так: def foo(*, a, b, c): return a + b + c Вызываем с позиционными аргументами: foo(1, 2, 3) TypeError:

Bash

IDN — Punycode

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

Python

FunPython #6: Простой JSON парсер без библиотек

Eval JSON string in Python Допустим есть некий JSON: json_str = '{"someInt":42,"someTrue":true,"someNull": null,"someFalse":false,"someString":"Hello!","someFloat":3.14}' Для работы с JSON в Python есть пакет json. Чтобы получить словарь из JSON строки мы можем поступить

Python

FunPython #5: Функция-генератор

Lazy function Функция в Python не может быть одновременно генератором и обычной функцией. Если указано слово yield, то функция становится генератором: def foo(count=0, lazy=True): if lazy: for i in range(count): yield i else: return list(range(count)) print(foo(10,

Python

Fun Python #4: про args, kwargs и __all__

Вот что я узнал… И так, продолжаю изучать Python и узнавать что-то новое. Дабы закрепить свои знания, делаю пометки в виде постов. Что сегодня я узнал… Когда начал изучать Python, все курсы и уроки, рассказывающие про модули умалчивали про то, что можно управлять тем,

JavaScript

Fun Mongo #1: ObjectId

Как устроен Primary Key После долгой работы с реляционными БД и, в частности, с SQL, переход на документную базу MongoDB не так прост, как кажется. Надо немного перестроить менталитет. Это как с PHP/Python перейти на Node.js — привыкнуть к асинхронности и колбэкам требует

Python

Fun Python #3: stdClass like in PHP

Сегодня я узнал… Я тут недавно сделал пост, в котором показал как можно делать dotted dict и подумал что это аналог stdClass в PHP. https://medium.com/@frontman/fun-python-2-stdclass-like-in-php-c5d5895d9bdb Я был не совсем прав. Аналогом stdClass из PHP можно считать следующий вариант: a = type(

Python

Fun Python #2: stdClass like in PHP

Ну или как создать dotted dict При работе с Python частенько, по привычке, хочется притянуть что-нибудь из других языков. Не всегда это полезно и правильно, но… В PHP можно создать объект, похожий на dict в Python, но с возможностью обращаться через оператор доступа к

Python

Fun Python #1: короткие лямбды

Идиоматичные фильтры Как я писал в предыдущих постах, недавно, с 1 января 2020 года, я стал писать на Python. Я успел уже узнать что такое SQLAlchemy, и у меня немного порвало шаблон когда я увидел код такого вида: def tag_search(slug): tag = Tag.

Flask

Как написать свой web-framework на Python

Пишем свой FlaskИ так, это продолжение темы про то, как изучить Python за выходные (новогодние выходные, если что). Выучить Python за выходныеМой путь от нуля до адекватного Junior Python Developer Всем привет! С новым 2020 годом и вот это все… Новогодние каникулы хороши тем,

JavaScript

Russian AI Cup 2019

На Node.js Наконец-то настал этот долгожданный день. Теперь в Russian AI Cup можно использовать Node.js (последняя версия). Пример базовой стратегии можно посмотреть в официальном репозитории. Но, в этом базовом примере по ссылке отсутствуют пара проверок, из за которых могут возникнуть ошибки в

Bash

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

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

CSS

Защита Email от Spamer’ов

UpdateВ предыдущем посте я показал как прятать имейлы от спамеров на чистом CSS: Защита Email от Spamer’ов на CSSNojs, only CSS! Да да, No JS Сейчас поведаю про интересный способ защиты имейлов от спамеров используя только CSS. И так, сначала ревертим наш имейл,

Chrome

FunES: noprotect

Опасные комментарииА знаете ли вы, что в Chrome есть специальные служебные комментарии для управления потоком V8 ? К примеру, есть потенциально опасный код вида: for (let i=16e6; i<17e6; i++) console.log(i); Этот код будет работать бесконечно, но Chrome решит не выполнять

PHP

FunPHP 7.4: access to private and protected

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

Docker

Docker: установка таймзоны и локали

На примере Node.jsЕсли вы собираете свой докер для Node.js, то позаботьтесь о настройке правильной локали и таймзоны. Если их не настроить, то методы toLocaleString() будут работать не так, как вы ожидали, да и серверное время, в связи с этим, будет отличаться. Когда

Вопросы по CSS
CSS

Вопросы по CSS

Готовимся к собеседованиюНа прошедшей конференции FrontendConf было много интересных докладов про CSS. Эти выступления, особенно выступление Никиты Дубко с докладом “CSS — язык программирования”, навели меня на мысль о том, что