Как стать автором
Обновить
1
0
Василий Титовченко @unibasil

Программист

Отправить сообщение

Полезные консольные Linux утилиты

Время на прочтение13 мин
Количество просмотров114K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Всего голосов 96: ↑92 и ↓4+110
Комментарии110

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

Время на прочтение7 мин
Количество просмотров15K
image

Квантовые вычисления — это самая большая революция в вычислениях со времен… вычислений. Наш мир состоит из квантовой информации, но мы воспринимаем мир как классическую информацию. То есть очень много происходит в небольших масштабах, недоступных нашим нормальным чувствам. Как люди, мы эволюционировали, чтобы обрабатывать классическую информацию, а не квантовую информацию: наш мозг запрограммирован на то, чтобы думать о саблезубых кошках, а не о кошках Шредингера. Мы можем достаточно легко закодировать нашу классическую информацию с помощью нулей и единиц, но как насчет доступа к дополнительной доступной информации, из которой состоит наша Вселенная? Можем ли мы использовать квантовую природу реальности для обработки информации? Конечно, иначе нам пришлось бы закончить этот пост здесь, и это нас всех не удовлетворило бы. Давайте исследуем возможности квантовых вычислений, а затем приступим к написанию собственного квантового кода.

Отправной точкой для изучения квантовых вычислений является понимание того, что, хотя многие принципы противоречат здравому смыслу, классическая вселенная, которую мы знаем и любим, — всего лишь тень квантовой ткани реальности. Часть того, чтобы привыкнуть к кванту, — это привыкнуть к ограничениям нашего собственного восприятия. Это ограничение аналогично рисованию трехмерного объекта на двухмерном листе бумаги. Взгляните на каркас ниже. Он может представлять собой либо коробку (мы можем проиллюстрировать это стаканом сверху), угол (мы можем поместить бутылку внутрь, чтобы мы увидели угол).

image

Мы вынуждены видеть либо одно, либо другое, а не то и другое одновременно.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+36
Комментарии13

Липкие сессии для самых маленьких [Часть 1]

Время на прочтение4 мин
Количество просмотров25K

Липкие сессии (Sticky-session) — это особый вид балансировки нагрузки, при которой трафик поступает на один определенный сервер группы. Как правило, перед группой серверов находится балансировщик нагрузки (Nginx, HAProxy), который и устанавливает правила распределения трафика на доступные сервера.

В первой части цикла мы посмотрим как создавать липкие сессии с помощью Nginx. Во второй же части разберем создание подобной балансировки средствами Kubernetes.

Вляпаться
Всего голосов 29: ↑29 и ↓0+29
Комментарии10

Валидные сертификаты и DNS для сервисов в локальных сетях без удостоверяющего центра

Время на прочтение3 мин
Количество просмотров9K

Валидные сертификаты и DNS для сервисов в локальных сетях без удостоверяющего центра


В этом посте будет рассмотрена установка и использование сервиса http://local-ip.co/ с валидными сертификатами и с DNS как xip.io, nip.io.


Вы можете использовать сертификат для домена *.my.local-ip.co



Обращаться нужно будет примерно так:



Ниже будет пример с установкой harbor c валидным сертификатом.

Читать дальше →
Всего голосов 10: ↑9 и ↓1+9
Комментарии8

История поиска длиной в 15 лет

Время на прочтение10 мин
Количество просмотров15K

Мы нашли все самые крутые логические задачи!

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

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

Мы не даем ответов. Ответ узнать можно, но только найдя его самостоятельно и услышав “верно” от модератора (так мы называем проверяющих задачи).

Задачи проходят жесткий отбор и переработку. 

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

Как так получилось?
Всего голосов 11: ↑11 и ↓0+11
Комментарии15

Неотправленное письмо боссу в кровавом Enterprise

Время на прочтение5 мин
Количество просмотров24K

Хоть я и интроверт, но с soft skills у меня неплохо. Поэтому я стараюсь придерживаться принципа:

True wisdom: 1. Having a lot to say. 2. Not saying it.

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

Читать далее
Всего голосов 71: ↑54 и ↓17+55
Комментарии48

Профилирование Node.js. Доклад Яндекса

Время на прочтение18 мин
Количество просмотров8.3K
Полтора года назад я выступил на FrontendConf и посвятил 40 минут профилированию. Перечисленные приемы и инструменты по-прежнему актуальны — сегодня публикую видео с подробным конспектом. Доклад расскажет, что такое профилирование, научит локализовывать потенциальные утечки памяти, а также немного углубит ваше понимание инструмента DevTools.

— Всем привет. Меня зовут Артём Несмиянов, я fullstack-разработчик Яндекс.Практикума. И, как видите, сегодня я хочу рассказать о профилировании Node.js, хотя это не совсем фронтендерская тема. Но сейчас очень много приложений используют фронтбэк, где есть свой server-side rendering, где нужно это все отдавать клиенту, и фронтендеру часто приходится взаимодействовать с Node.js. Иногда происходят вещи, которые могут повлиять на ваш сервер, положить его, перегрузить и так далее. С этим надо бороться. Я хочу показать, какие методы использовали мы. Это скорее введение в профилирование Node.js.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+31
Комментарии0

Попиксельная заливка экрана в Wolfenstein 3D (FizzleFade) — свежий взгляд

Время на прочтение3 мин
Количество просмотров4.3K

Новый взгляд: 16-ти битная РСЛОС вместо 17-ти битной (красим в два раза быстрее).

Читать далее
Всего голосов 8: ↑6 и ↓2+10
Комментарии5

DBA: когда почти закончился serial

Время на прочтение10 мин
Количество просмотров8.2K

"Шеф, всё пропало, у нас serial на мегатаблице кончился!" - а это значит, что либо вы его неаккуратно накрутили сами, либо у вас действительно данных столько, что разрядности integer-столбца уже не хватает для вашей большой и активной таблицы в PostgreSQL-базе.

Да и столбец этот не простой, а целый PRIMARY KEY, на который еще и ряд других немаленьких таблиц по FOREIGN KEY завязан. А еще и приложение останавливать совсем не хочется, ибо клиентам 24x7 обещано...

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

Читать далее
Всего голосов 40: ↑40 и ↓0+40
Комментарии12

Почему вы должны попробовать Rust

Время на прочтение16 мин
Количество просмотров44K

Это ознакомительная статья о языке программирования Rust и его инструментах, с помощью которой я надеюсь привлечь ваше внимание к этому интересному и уникальному языку, созданному чтобы дать ответ на следующие вопросы разработчиков:

Как убедиться, что в моем приложении нет проблем и уязвимостей, связанных с неправильной работой с памятью? Как быть уверенным в том, что любой доступ к общим объектам правильно защищен? Как свести к минимуму любую работу, не связанную напрямую с написанием кода?

Цель данной статьи не рассказать о доселе невиданных возможностях Rust (сразу говорю, что тут ничего нового "Растоманы" не найдут), на Хабре вы итак найдете множество интересных статей о внутренностях языка и интересных случаев использования. Моя цель рассказать о том, что он предлагает в качестве решения обозначенных выше проблем, как это будет выглядеть со стороны программиста, и почему это важно.

Читать далее
Всего голосов 68: ↑60 и ↓8+76
Комментарии153

10 лет аварии на АЭС Фукусима. Последствия и итоги

Время на прочтение14 мин
Количество просмотров103K

11 марта 2011 года у восточного побережья Японии произошло крупнейшее в истории страны Великое восточно-японское землетрясение и вызванное им цунами. В результате погибло и пропало без вести почти 20 тысяч человек, было разрушено около миллиона домов, около полумиллиона человек были вынуждены эвакуироваться.

Но для многих главным событием тех дней стала авария на АЭС Фукусима-Дайчи, крупнейшая авария на атомной станции после Чернобыльской катастрофы. Как физик-ядерщик я наблюдал за событиями тех дней, переживая за людей в Японии и коллег по отрасли на станции. Многое за эти годы написано о причинах аварии. Но в своей статье я хочу рассказать о некоторых заблуждениях, связанных с последствиями аварии – для людей, окружающей среды и мировой атомной отрасли. И о том что сделано за эти 10 лет.

Фото на заставке: www.japantimes.co.jp

Читать далее
Всего голосов 80: ↑79 и ↓1+109
Комментарии131

Социальные сети оказались безопаснее порталов государственных услуг

Время на прочтение3 мин
Количество просмотров13K

Мы протестировали порталы государственных услуг по новым методикам, оценивающим надежность HTTPS-соединения с ними и уровень защиты от XSS, а также сравнили их с сайтами соцсетей, банка, транспортных и сервисных компаний. Результат в чем-то предсказуемый (с безопасностью электронных госуслуг все плохо), а в чем-то нет (у большинства сайтов из «контрольной группы» дела не лучше), но давайте обо всем по порядку.
Читать дальше →
Всего голосов 15: ↑4 и ↓11-5
Комментарии27

SQL-инъекции' union select null,null,null --

Время на прочтение9 мин
Количество просмотров36K

Согласно OWASP Top-10, SQL-инъекции считаются наиболее опасными уязвимостями. Успешная атака с их использованием может не только привести к компрометации данных, таких, как: пароли, данные кредитной карты или личная информация пользователя, но и, при определенных условиях, самого сервера. В этой статье мы рассмотрим предпосылки к появлению SQL-инъекций, ознакомимся с их видами и составим список рекомендаций для защиты веб-приложений от подобных недостатков.

Читать далее
Всего голосов 20: ↑10 и ↓10+8
Комментарии24

Человеку надо мало: чтоб искал и находил

Время на прочтение7 мин
Количество просмотров8.7K


Нет, это не очередная реклама одного известного автомобильного бренда. И даже не попытка литературного разбора стихотворения Рождественского. Речь пойдет о картах. Мы в Mail.ru Group продолжаем развивать собственные геосервисы как для нужд внутренних проектов, так и для запуска новых продуктов для широкого круга пользователей. Ядром географических данных для наших сервисов выступают данные картографического проекта OpenStreetMap. Но мы не хотим быть просто ленивыми потребителями, которые, получая обратную связь от пользователей, хранят исправления в локальной базе данных и не делятся ими с общественностью. Мы активно вносим свой вклад в проект OpenStreetMap. В цикле статей мы решили рассказать, как корректно вносить правки о наиболее насущных для нас объектах географической действительности.
Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии9

TypeScript: Раскладываем tsconfig по полочкам. Часть 1

Время на прочтение10 мин
Количество просмотров90K

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

Читать далее
Всего голосов 26: ↑25 и ↓1+28
Комментарии4

Почему мы трансформируем трёхмерные векторы матрицами 4х4?

Время на прочтение3 мин
Количество просмотров15K

Почему не матрица 3х3? Почему в матрице 4х4 всё уложено именно так? Зачем там последняя строка, заполненная нулями и одной единицей в конце? Этими вопросами я задался накануне, решил поисследовать вопрос и рассказываю что выяснил.

Читать далее
Всего голосов 14: ↑12 и ↓2+15
Комментарии14

Кеш бывает разным

Время на прочтение11 мин
Количество просмотров9.8K

PostgreSQL хранит данные на каких-то носителях. И между PostgreSQL и, например, магнитной поверхностью диска находится несколько кешей: кеш самого винчестера, кеш RAID-контроллера или винчестерной полки, кеш файловой системы на уровне операционной системы и кеш самого PostgreSQL. Если первыми перечисленными кешами мы практический не можем управлять, то последними, находящимися в ОЗУ сервера, управлять можем: например, выделяя больше ОЗУ под кеш PostgreSQL в ущерб кешу ОС, или наоборот. В официальной документации можно прочитать ничем не подтвержденные рекомендации, типа выделять под PostgreSQL четверть ОЗУ. Это вызывает сомнения. PostgreSQL в виде Postgres95 впервые появился в 1995 году и, кто знает, быть может и эти рекомендации относятся к тому же году. Поэтому появилась идея эксперимента с целью разобраться, как лучше распределять ОЗУ.

Читать дальше →
Всего голосов 22: ↑21 и ↓1+21
Комментарии19

Упрощенный синтаксис для jsonb в PostgreSQL 14

Время на прочтение1 мин
Количество просмотров9.9K

Как сообщает telegram-канал Cross Join, в репозиторий Postgres упал комит, упрощающий работу с jsonb. Теперь можно обращаться к частям jsonb с помощью квадратных скобок, причем это работает как на чтение, так и на запись.


Прощай jsonb_set  и прочие костыли типа data = data - 'a' || '{"a":5}'


Несколько примеров:


Обновляем значение объекта по ключу. 25 здесь является числом, но взято в кавычки, потому что присваиваемое значение должно быть jsonb


-- (person_data имеет тип jsonb)
UPDATE users 
SET person_data['age'] = '25'; 
Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии28

Как «Ревущий Котёнок» с Reddit заработал 28.500% на акциях GameStop: объясняю простым языком

Время на прочтение9 мин
Количество просмотров146K

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

Читать далее
Всего голосов 184: ↑181 и ↓3+238
Комментарии369

Создание самодокументирующегося сервера на Node.JS

Время на прочтение3 мин
Количество просмотров16K

В этой статье описан рецепт по настройке самодокументирующегося сервера на joi, swagger и typescript. Бонусом приведен Gulp-скрипт, который на основе Joi-объектов будет генерировать нам интерфейсы.

Читать далее
Всего голосов 7: ↑6 и ↓1+9
Комментарии10

Информация

В рейтинге
Не участвует
Откуда
Владивосток, Приморский край, Россия
Зарегистрирован
Активность