Pull to refresh
83
58.2
Дмитрий Лейкин @freehabr

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

Send message

Как вписать блоки в страницу или в контейнер? Используйте css grid

Level of difficultyMedium
Reading time5 min
Views3.4K

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

При этом существует задача, которая нормальным образом решается только через grid. Речь идет о вписывании верстки в родительский контейнер, будь то виджет или страница в целом. В итоге создание подобной верстки происходит либо с помощью костылей (если использовать обычную блочную верстку (когда ее уже пометят как obsolete?)), либо с помощью избыточного кода (если использовать flex). Давайте я покажу на пример, как это делать правильно.

Вот типичная задача - нужно сделать страницу с верхним и нижним тулбаром, и центром, который должен скроллится:

Читать далее
Total votes 4: ↑1 and ↓3-2
Comments2

Четыре (предлагаемых мною) принципа госрегулирования интернета

Level of difficultyEasy
Reading time5 min
Views2.3K

Всем привет. Интернет, который 15-20 лет назад был маленьким и сплоченным сообществом, сейчас стал коммуникационной средой где сидит большая часть человечества. И это с неизбежностью привлекает к нему внимание государств с целью регулирования. Замечу, что это касается не только российского государства - недавно принятый в Евросоюзе цифровой кодекс не сильно отличается от российского госрегулирования, а цензура на Фейсбуке стала отдельным мемом. И желают регулировать интернет далеко не только политики - простые граждане тоже желают защиты от спама и от мошенников, да и те или иные радикальные точки зрения многие предпочли бы не видеть или не показывать своим детям. Так что аргументы типа "это только политикам надо, чтобы скрывать ото всех правду (тм) и штрафовать просто так" вряд ли сработают. Поэтому буду пробовать предлагать другие аргументы.

Читать далее
Total votes 22: ↑5 and ↓17-12
Comments25

DreamBerd — идеальный язык программирования

Reading time12 min
Views25K

DreamBerd - идеальный язык программирования. Вот его фичи!

Когда вы закончите знакомиться со всеми фичами, ознакомьтесь с примерами.

Восклицательные знаки!

Будьте смелее! Заканчивайте каждое утверждение восклицательным знаком!

print("Hello world")!

Если вы чувствуете себя особенно смелым, вы можете использовать еще больше!!!

print("Hello world")!!!

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

print("Hello world")?

Возможно, вам интересно, что Dreambird использует для оператора "не", который в большинстве других языков является восклицательным знаком. Это просто - вместо оператора 'не' используется точка с запятой.

if (;false) {

   print("Hello world")!

}

Читать далее
Total votes 78: ↑75 and ↓3+83
Comments45

Как можно будет выполнить требование о регистрации с российского email-а, чтобы пользователь этого особо не заметил

Level of difficultyEasy
Reading time1 min
Views5.3K

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

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

И если государству так уж важно идентифицировать пользователей на своих серверах, то оно будет их идентифицировать.

А пользователю в общем-то не так важно, если уж он регистрируется на российском сайте, то он так или иначе оставляет российской власти возможность контроля - через этот сайт или через яндекс. А всякие уведомления он продолжит получать на сторонний email.

Оно, конечно, дурная работа. Но если все-таки придется ее сделать, лучше сделать ее наименее заметной для пользователей.

Читать далее
Total votes 16: ↑5 and ↓11-4
Comments60

Почему в разных странах продолжают ограничивать интернет и к чему это приведет

Level of difficultyMedium
Reading time4 min
Views3.5K

Сейчас мы наблюдаем развитие очень важного для текущей эпохи противоречия. Оно заключается в том что существование интернета противоречит существованию государств. Любых государств.

Дело в том, что государство - это юрисдикция на определенной территории. Когда ты пересекаешь границу, ты начинаешься подчиняться законам, принятым в этих границах. Государство контролирует свою территорию и не пускает на нее другие государства.

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

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

И в итоге государства начинают активно бороться с интернетом. Не только в России, разумеется. Я помню, когда API фейсбука приводили в пример Вконтакту как более открытое. А потом в США начался политический кризис, связанный с выборами Трампа, и Фейсбук зарегулировали таким образом, что для использования его API нужно пройти неимеверное количество бюрократии. Я когда несколько лет назад пробовать делать приложения, интегрированные с фейсбуком, в итоге просто отказался от этого. Надо совершать кучу бесссмысленных действий, и никаких гарантий, что тебе дадут этот доступ.

Читать далее
Total votes 7: ↑5 and ↓2+4
Comments5

Запретят ли с декабря регистрацию с иностранной почты? Давайте разберемся

Level of difficultyEasy
Reading time2 min
Views17K

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

Но у меня есть полезная привычка - всегда читать первоисточники. Я решил почитать законопроект, о котором идет речь.

Там написано буквально следующее:

Владелец сайта и (или) страницы сайта в сети «Интернет», и (или) информационной системы, и (или) программы для электронных вычислительных машин, являющийся российским юридическим лицом или гражданином Российской Федерации и осуществляющий свою деятельность в сети «Интернет» на территории Российской Федерации, в случае, если доступ к информации, размещенной на его сайте и (или) странице сайта в сети «Интернет», и (или) в его информационной системе, и (или) программе для электронных вычислительных машин, предоставляется пользователям, прошедшим авторизацию, обязан проводить ее в отношении пользователей, находящихся на территории Российской Федерации, одним из следующих способов:

То есть, во-первых, речь идет только о тех пользователях, которые находятся в России. Об остальных речи не идет.

Во-вторых, во всем законопроекте нет запрета пользователям, находящимся в России, регистрироваться с помощью иностранных средств авторизации. Во всем тексте законопроекта вообще нет слов "запретить" или "ограничить".

Читать далее
Total votes 55: ↑31 and ↓24+18
Comments147

А что случилось с GigaChat?

Reading time2 min
Views8.9K

Еще весной Сбер анонсировал свой аналог ChatGPT - GigaChat. Я был одним из тех, кто успел получить доступ к этому ИИ и немного с ним пообщаться. Но буквально через пару недель бот перестал работать.

Напомню как было дело. Сначала был пост на Хабре с приглашением в канал, где пообещали раздавать инвайты. В канале собралось более 200 000 участников:

Читать далее
Total votes 12: ↑9 and ↓3+11
Comments11

МегаполОС или как мы были вынуждены переизобрести DevOps

Level of difficultyMedium
Reading time10 min
Views5.1K

Это история о том как небольшая группа IT-шников хотела автоматизировать свою работу, а в результате решила переизобрести DevOps-заново, и (с точки зрения этой группы) добилась прогресса.

От предыдущего этапа нашей деятельности у нас осталось множество IT-разработок. Какие-то остались недоделанными, какие-то были выпущены в продакшен, какие-то были опубликованы как open source, какие-то остались закрытыми, какие-то нужно было архивировать, а какие-то опубликовать как демо-версии. Всё было свалено в кучу на нескольких VPS-ках. И чтобы продолжать деятельность, стало важно привести все это во вменяемый вид...

Читать далее
Total votes 14: ↑1 and ↓13-12
Comments18

Ненормальный React: давайте совместим классовые и функциональные компоненты в одно

Reading time3 min
Views5.2K

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

Давайте посмотрим в чем преимущества и недостатки каждого из вида компонентов:

Читать далее
Total votes 4: ↑3 and ↓1+3
Comments12

Чего не хватает в ChatGPT по опыту использования Stable Diffusion

Level of difficultyMedium
Reading time2 min
Views2.8K

Всем привет. Последний месяц я в составе сообщества поклонников одной компьютерной игры активно экспериментирую со stable diffusion. И на основе этого у меня сложилось впечатление, как можно было бы улучшить ChatGPT.

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

Читать далее
Total votes 12: ↑1 and ↓11-9
Comments2

Автор библиотеки, от которой зависит половина веб-сайтов, сидит без денег

Reading time1 min
Views88K

Если кратко, автор пакета core-js Денис Пушкарев (zloirock), от которого зависит огромное количество других js-пакетов, за много лет развития core-js не получал почти ничего, при этом ему регулярно прилетал хейт если его библиотека работал плохо, плюс в 20-м году он сел в тюрьму из-за ДТП (по его словам, на дорогу прямо перед его мотоциклом выбежали пьяные люди, впрочем, по правилам виноват был он), через несколько месяцев освободили досрочно, денег нет, получить донаты из-за рубежа затруднительно из-за санкций, американские СМИ "были разочарованы, что он не русский хакер, который вмешивается в американские выборы", в общем, денег нет, поддержки нет, развивать пакет дальше он не может, если кто-то не начнет его спонсировать.

Подробно в статье от автора (на английском)

На мой взгляд, это глобальная проблема в ИТ, как в мире, так и в России - вся ИТ-инфраструктура зависит от open source библиотек, авторам которых зачастую никто не платит, зато все предъявляют к ним претензии.

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

Читать далее
Total votes 178: ↑146 and ↓32+163
Comments1464

Не надо ждать когда bing запустит chatGPT — уже есть ИИ, который отвечает исходя из результатов поиска

Level of difficultyEasy
Reading time1 min
Views7.5K

И кстати, он даже не требует регистрации.

Как можно заметить, сейчас системы а-ля chatGPT начали расти как грибы после дождя. И мне попался такой сайт как perplexity.ai

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

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

Читать далее
Total votes 13: ↑9 and ↓4+8
Comments18

Давайте избавимся от LAMPового рабства

Reading time2 min
Views15K

Не знаю как вы, а я регулярно сталкиваюсь с ситуацией - предлагаешь кому-то сделать проект на современном стеке технологий, а он говорит - "Да я лучше установлю Wordpress". Думаю, многие мало-мальски опытные программисты, ненавидят вордпресс. Но почему заказчики предпочитают его?

Да, можно сказать, что для него есть куча готовых плагинов, что многие программисты его знают (пусть и ненавидят). Но в то же время даже заказчики понимают, что вордпресс очень быстро превращает в тормозящую свалку из плагинов разной степени глючности. Но почему они все-таки его предпочитают?

Мне кажется я нашел ответ. Этот ответ - хостинги.

Точнее, виртуальные LAMP-хостинги. Те самые, по 100 рублей сайт. Они не меняются последние лет 20. И они действительно очень удобны для простых людей.

Почему? Потому что там все есть. Панель управления, где есть кнопка "Создать сайт на Wordpress/Drupal/MediaWiki с таким-то адресом". Ты нажимаешь, и сайт создан. Всё. Для заказчиков это куда важнее любой технологичности.

И тут я задумался - а почему нет замены этому для современных веб-сервисов на современном стеке технологии? И нашел ответ, который меня поразил. Замена есть. Но ею никто не пользуется как заменой.

Это docker-образы.

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

Читать далее
Total votes 19: ↑5 and ↓14-7
Comments29

Разработчики Chrome снизили приоритет критической уязвимости в Chrome. Вы можете с этим помочь

Reading time1 min
Views4.1K

На днях была новость о том, что в релизной версии Chrome уже какое-то время можно переписать содержимое буфера обмена пользователя. Идиотизма ситуации прибавляет то, что проблема появилось из-за того, что у одного разработчиков не проходили тесты.

Сначала на багтрекере проблеме выставили нулевой (самый важный) приоритет решения и я думал, что ее в ближайшее время исправят.

Но буквально вчера автор бага написал, что ничего страшного в этом нет, можно не торопиться. И поставил проблеме приоритет номер 3.

На мой взгляд, это создает очень опасную ситуацию. С помощью этого бага вам достаточно зайти на любой сайт, и в ваш буфер обмена попадет реклама, пропаганда, rm -rf / или вам просто сотрут важную информацию.

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

Читать далее
Total votes 12: ↑10 and ↓2+8
Comments7

ВанГеры как история Open Source сообщества

Reading time6 min
Views19K

Здравствуйте, меня зовут Дмитрий Лейкин и я вангер.

ВанГеры - российская игра 1998 года студии KD-Lab. Она имеет статус "культовой". Это необычная игра, которую до сих пор не могут классифицировать под определенный жанр. В последние годы она регулярно генерирует инфоповоды, в том числе на полях Хабра. Я хочу рассказать, как так вышло.

Читать далее
Total votes 93: ↑93 and ↓0+93
Comments50

Пожалуйста, начните использовать pnpm

Reading time1 min
Views50K

Я думаю, все, кто использует node.js, понимает про что эта картинка.

npm - это ужасный менеджер пакетов. В этом признавался даже сам создатель node.js. Npm для каждого вашего проекта создает папку node_modules, в которую он качает из интернета и сохраняет на диске каждый пакет из всей иерархии зависимостей.

Если у вас 100 проектов с одними и теми же зависимостями, то npm 100 раз скачает из интернета и сохранит на диске 100 копий одних и тех же пакетов. Ему плевать. Популярный yarn, к сожалению, делает то же самое.

Читать далее
Total votes 84: ↑76 and ↓8+88
Comments120

О применении научного метода в реальной жизни и деятельности

Reading time5 min
Views57K
image

В человеческой культуре есть один удивительный парадокс. Еще 300 лет назад был изобретен потрясающий по эффективности способ познания реальности под названием «Научный метод». Его достижения сегодня мы видим повсюду – в виде огромного развития науки и техники. И в чем тут парадокс, спросите вы? А парадокс заключается в том, что этот метод, дающий столь масштабные результаты, большей частью людей практически не используется!

Это действительно странно, но это факт. Уже черт знает сколько лет изобретенный способ максимально эффективного взаимодействия с реальностью (и проверенный миллионами экспериментов) – даже учеными, как правило, используется не всегда. Выходя из научной лаборатории, ученые забывают о научном методе. Про всех остальных и говорить нечего.

По сути говоря, большая часть населения планеты до сих пор живет в средневековье. Чтобы пояснить, что это означает, я для начала расскажу, в чем же собственно заключается научный метод и как он возник.
Читать дальше →
Total votes 65: ↑51 and ↓14+37
Comments110

ФБР, ЦРУ и Обама против скрипта на PHP

Reading time1 min
Views18K
Был опубликован отчет о вирусе, с помощью которого «русские хакеры», по мнению спецслужб США, взломали американские выборы. Вирус (точнее, его уникальная сигнатура) выглядит так:

rule PAS_TOOL_PHP_WEB_KIT
{
meta:
description = "PAS TOOL PHP WEB KIT FOUND"
strings:
$php = "<?php"
$base64decode = /\='base'\.\(\d+\*\d+\)\.'_de'\.'code'/
$strreplace = "(str_replace("
$md5 = ".substr(md5(strrev("
$gzinflate = "gzinflate"
$cookie = "_COOKIE"
$isset = "isset"
condition:
(filesize > 20KB and filesize < 22KB) and
#cookie == 2 and
#isset == 3 and
all of them
}

Я даже не знаю, как прокомментировать этот, безусловно, уникальный и однозначно идентифицируемый как российский код.
Total votes 74: ↑39 and ↓35+4
Comments40

Идея для Хабра: уровни сложности статей

Reading time1 min
Views7.6K
Здравствуйте! Насколько я следил за Хабром за все время его развития, он двигался в сторону все более и более высокопрофессиональных статей. Это, с одной стороны, хорошо. А с другой и не очень — потому что статьи для новичков в IT-сфере, на мой взгляд, тоже нужны, но если их публиковать, то трудно избежать обвинений в «разжевывании очевидного».

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

На мой взгляд, Хабр несет во многом образовательную функцию, а значит, для него можно использовать метафору учебного заведения, в котором простые знания преподают на первом курсе, а сложные — на пятом. Но это не значит, что первые или вторые преподавать не нужно. Что вы думаете?
Total votes 67: ↑54 and ↓13+41
Comments83
1

Information

Rating
95-th
Registered
Activity