Search
Write a publication
Pull to refresh
-5
@cosmolevread⁠-⁠only

User

Send message

Создание PDF размером с Германию

Level of difficultyEasy
Reading time7 min
Views27K

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

Подобное утверждение появилось на просторах интернета ещё в 2007 году. Этот твит является характерным примером постов с аналогичным заявлением, в которых оно преподносится как твёрдый факт без каких-либо подтверждающих свидетельств или объяснений. То есть мы должны просто принять, что один PDF может покрыть лишь около половины площади Германии, и нам никак не объясняют, почему его магический предел составляет 381 километр.

Тут мне стало интересно – а создавал ли кто-нибудь такой большой PDF? Насколько это сложно? А можно ли сделать документ ещё больше?

Несколько лет назад я из праздного любопытства немного поигралась с PostScript, предшественником PDF, и это оказалось очень увлекательным! Ранее мне не доводилось изучать внутреннее устройство PDF, так что здесь у меня возник для этого хороший повод.

Приступим!
Читать дальше →

Об одном способе веб-скрапинга сайтов, защищенных Cloudflare

Level of difficultyMedium
Reading time10 min
Views31K

Сразу оговорюсь, что описанное ниже носит исключительно информационно-образовательный характер, и не имеет целью нанесение какого-либо ущерба компаниям, использующим защиту из заголовка статьи. По этим же причинам фокусировка статьи именно на том, как получить заветный html «как из браузера» в автоматизированном режиме, и здесь не будет идти речь о каких-то массовых распараллеливаниях через proxy и VPN, подкладываниях отпечатков (finger prints) браузеров и т. д.

Узнать о способе обхода защиты Cloudflare

Разбираемся в автотестах gRPC без боли и седых волос

Level of difficultyMedium
Reading time7 min
Views6.9K

Всем привет! Меня зовут Катя Муличева, я тестировщица в СИБУР Диджитал. Последние два года я пишу автотесты для gRPC на Kotlin. Получив опыт, я захотела написать статью, которая очень пригодилась бы мне самой, когда я только начинала разбираться с gRPC. Надеюсь, вы найдете её полезной для себя!

Читать далее

История о том, как IT-шник ушел в гостиничную сферу или почему ваш летний отпуск может быть омрачен

Level of difficultyEasy
Reading time8 min
Views8.3K

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

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

Краткое вступление

Когда‑то давно, в прошлой жизни, я работал в сфере IT. Но в жизни произошли определенные события, после которых я переехал в Республику Дагестан, город Дербент.

В данном регионе сейчас активно развивается туризм и в какой‑то момент мне поступило предложение забрать в аренду гостиницу. Предложенные мне условия оказались интересными и я влился в тему. Изначально профильного образования у меня не было, но это нынче не проблема и уже в этом месяце планирую получить диплом по специальности «руководитель гостиницы, санатория».

Читать далее

35 лет SimCity

Level of difficultyEasy
Reading time10 min
Views7.6K


В этот день, 35 лет назад, появилась SimCity (1989) – градостроительная стратегия, ставшая хитярой и положившая начало целой серии. Более того, благодаря этой игрушке и её создателю Уиллу Райту, появилась на свет Божий другая серия, известная в народе как The Sims (или «Симсы»), в которой можно было создавать с помощью виртуальных человечков всё то, что ты, читатель, обычно делаешь в реальной жизни. А именно – смотреть зомбоящик, вкалывать на работе, есть, спать, справлять нужду, читать газеты, убираться в хате, строить любовь с другими симами, сгореть в квартире или утопиться в бассейне, да-а… впрочем, об этом как-нибудь потом. Сейчас же – окунемся в истоки и узнаем, как Райт сделал то, что сделал и что из этого вышло. Наливай чаёк и усаживайся поудобнее, мы погнали.
Читать дальше →

Отопление в ИЖС с помощью сплит-кондиционера «на тепло». Так ли это выгодно на самом деле?

Reading time30 min
Views22K

Отопление тепловыми насосами

Продолжим обсуждение способов экономичного отопления в ИЖС без использования трубного газа.

Ранее были рассмотрены варианты отопления электричеством и отопления с применением СУГ.

Экономика загородного дома. Как утеплить дом и не разориться?

По желанию читателей решил рассмотреть и вариант отопления с помощью «кондиционеров на тепло».

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

Изначально предполагается использовать именно самую дешёвую версию сплит‑кондиционера, у которого компрессорно‑конденсаторный блок (далее ККБ) установлен на улице.

Идея сама по себе увлекательная, но содержит в себе ряд подводных камней, не очень афишируемых в рекламных проспектах.

Рассмотрением этих незаметных или преднамеренно скрываемых препятствий мы и займёмся в этой статье.

Читать далее

CompletableFuture. Глубокое погружение

Level of difficultyHard
Reading time20 min
Views56K

java.util.concurrent.CompletableFuture - класс не новый. Он предстал перед нами во всём своём величии в 2014-м году вместе с выпуском Java 8. Много лет с тех пор прошло, а проще он не стал.

Мы в компании называем их "фьючи". На хабре было много материала по отдельным частям их функциональности, но я решил поставить перед собой более серьёзную задачу - постараться разобрать внутреннее устройство и многие неочевидные нюансы работы с этим классом.

Читать далее

Встать и Сделать. Личный опыт

Level of difficultyEasy
Reading time6 min
Views24K

Hello Habr!

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

Жизнь прекрасна, когда она осмыслена. Это - Основа, краеугольный камень, держащий свод. На практике эта красивая и умная фраза означает, что когда есть некая Цель, то к ее достижению ведут ДЕЛА, Дела и делишки. Что ни делается – всё подчинено ей одной-единственной. Мелкое на службе Главного.

Читать далее

Хитрый Device tracker с помощью OpenWRT

Level of difficultyMedium
Reading time4 min
Views11K

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

Читать далее

От частного к общему: разбираемся в принципах работы Network Address Translation (NAT)

Reading time8 min
Views24K

Для того чтобы наши устройства из частной сети могли выходить в Интернет, им нужен общедоступный IP-адрес. При этом внутри нашей собственной локальной сети мы можем спокойно использовать частные IP-адреса. В этой ситуации на помощь приходит Network Address Translation (NAT) — технология, которая позволяет множеству устройств в локальной сети получать доступ к Интернету через один общий публичный IP-адрес.

Идея NAT заключается в том, чтобы осуществлять перевод частного локального IP-адреса в общедоступный глобальный IP-адрес и наоборот. Это необходимо для обеспечения доступа к Интернету локальным узлам, использующим частные адреса.

Читать далее

Российской OCR – 30 лет. Как появилась технология, благодаря которой мы забыли про ручной ввод? (Часть 2. OCR CuneiForm)

Level of difficultyEasy
Reading time13 min
Views4.1K

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

Сегодня речь пойдёт про другую OCR-систему – CuneiForm. Она была более продвинутой и умела гораздо больше: распознавала символы различных алфавитов на основе латиницы и кириллицы для европейских языков и языков стран СНГ, работала со смешанными русско-английскими текстами. Самое главное – CuneiForm отличалась огромной по меркам того времени скоростью: 1 страницу она распознавала примерно за 10 секунд. Разберемся, какие алгоритмы использовались в OCR, где применялась CuneiForm и какое дальнейшее развитие получили системы распознавания.

Читать далее

История Джимми Чжуна: от изгоя до миллиардера, попавшего за решетку. Ошибка стоимостью 50000BTC

Level of difficultyEasy
Reading time18 min
Views18K

Начало


В хмурое утро ноября 2021 года сотрудники отдела уголовного розыска IRS окружили роскошный дом у озера, оцененный в миллион долларов, в живописном городке Гейнсвилл, штат Джорджия. В ходе обыска была обнаружена скрытая под одеялами в шкафу ванной жестянка от попкорна Cheetos.

image

Внутри этой жестянки скрывался одноплатный компьютер с биткойнами стоимостью $3,4 млрд.

image

Десять лет назад Джимми Чжун завладел этими монетами, и человек, от которого он их получил, выразил благодарность, отправив ему дополнительные монеты в качестве вознаграждения. Вопрос заключается в том, почему теперь, спустя столько лет, происходит обыск в его доме?

Прожив много лет на широкую ногу, тратя свои миллионы в основном на то, чтобы произвести впечатление на женщин, Джимми совершил одну-единственную ошибку, которая привела следователей к его состоянию. Эта история о том, как Джимми Чжун оказался в ловушке, и о том, как достаточно всего один раз оступиться, чтобы навсегда оказаться в тюрьме.
Читать дальше →

Зачем программисту микроконтроллеров тригонометрия? (или Обзор Усилителя Звука из Apple AirTag)

Level of difficultyEasy
Reading time7 min
Views10K

На 12ом году опыта программирования микроконтроллеров мне наконец-то пригодилась школьная тригонометрия (6-класс).
Это настолько специфический случай, что я решил накропать про это заметку.

Когда Вам надо добавить в устройство звук, то можно воспользоваться микросхемой MAX98357A. Это по сути DAC у которого на входе I2S на выходе PWM.

В этой заметке я расскажу о своём опыте работы с усилителем MAX98357A и о том как его тестировать.

Читать далее

Графика древности: палитры, часть 1/2

Level of difficultyEasy
Reading time21 min
Views18K

Хотя пиксельная графика прошлых лет полна нюансов, несомненно, одной из её главнейших характеристик, наряду с разрешением, является палитра — ограниченный набор цветов, которым нарисовано пиксельное изображение. Уникальное сочетание цветов, доступное на отдельно взятом старом компьютере или игровой приставке, часто позволяет даже беглым взглядом отличить графику для одной платформы от другой. Техники работы с палитрами и подбор оттенков также являются визитной карточкой многих пиксельных художников прошлого и современности. Но палитра — это не просто случайный набор цветов. Это результат технических ограничений и инженерных решений, в результате которых родились необычные техники рисования, анимационные спецэффекты, и особая визуальная эстетика.
Читать дальше →

Алгоритмы не важны

Level of difficultyEasy
Reading time7 min
Views45K

Прошу простить заранее за несколько кликбейтный заголовок )

Не так давно писал в соцсетях хейт‑пост по поводу «алгоритмических секций» при приёме на работу в Яндекс.

Да и многие другие софтверные компании это практикуют и считают навыки написания алгоритмов — чуть ли не самым важным навыком для программистов.

И ставят данной компетенции очень высокий приоритет при приёме на работу.

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

Читать далее

Погружение в Smali. Как выглядят Java и Kotlin со стороны

Reading time6 min
Views4.8K

Эта статья для начинающих исследователей файлов APK. Хотя почему только для начинающих? Иногда стоит остановиться и разложить по полочкам то, что накопилось. И тогда можно найти логичное и простое объяснение тому, чего не понимал. Или увидеть то, чего раньше не замечал.

Читать далее

Про локацию в профиле

Level of difficultyEasy
Reading time3 min
Views9K

У меня многолетний опыт удаленной работы из разных локаций мира от привычных фрилансерских островов Юго-Восточной Азии до мировых столиц вроде Лондона. В этой заметке я хочу рассказать о своих наблюдениях. И показать, насколько сильно локация влияет на возможности в go global!

1️⃣ У всех людей, включая потенциальных работодателей, клиентов или кастомеров, есть "географические" стереотипы и предрассудки. Прежде всего о стоимости услуг или зарплате. 

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

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

То есть переезжая куда-то, мы закладываем некоторые ожидания для наших будущих контрагентов. Да, возможно это несправедливо, но так уж устроен мир.

2️⃣ Или например на второй год странствий немало талантливых дизайн-агентств мск/спб планирует переезд в Барселону. Про быт нет вопросов: считаю этот город лучшим в мире для жизни. 

Но делать свое агентство барселонским - это значит:

а/ Задать невысокие ожидания по чеку: для американского бизнеса что Барселона, что Верона, что Лиссабона - примерно одно и то же. Читай: "в Европе закажем подешевле". А чеки побольше будут уходить тем, кто переехал в Лондон, Нью-Йорк, Долину или хотя бы в Дублин.

Читать далее

Ловим сетью. 5 способов автоматизировать поиск информации при помощи нейросетей

Level of difficultyEasy
Reading time4 min
Views8.9K

Вы до сих пор ищете информацию по старинке или идете в ногу со временем, обращаясь за помощью к нейросетям? В современном информационном мире поиск и обработка огромных объемов данных становятся все важнее для многих компаний и организаций. Согласно опросу HubSpot 45% маркетологов уже используют нейросети для поиска информации.

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

Читать далее

QA Documentation. Как я автоматизировал самую нелюбимую часть работы — написание ReleaseNotes

Level of difficultyEasy
Reading time8 min
Views12K

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

И так. Началось все с достаточно невинной просьбы архитектора моего проекта — «Денчик, смотри, нужно взять все задачи, сделанные в этом спринте — то есть с версии 0.0.1.01 до версии 0.0.2.01 и выписать в статью».

Читать далее

Криптография с открытым ключом: ключи RSA

Level of difficultyMedium
Reading time23 min
Views28K

Уверен, что вы хотя бы раз создавали пару ключей RSA, напримет, потому, что вам нужно было подключиться к GitHub, и вы хотели избежать необходимости вводить свой пароль каждый раз. Вы добросовестно следовали инструкциям по созданию SSH-ключей, и через пару минут всё было готово.

Но знаете ли вы, что именно вы делали? Углублялись ли вы в детали процесса?

Знаете ли вы, что содержится в файле ~/.ssh/id_rsa? Почему ssh создает два файла с разным форматом? Замечали ли вы, что один файл начинается со слов ssh-rsa, а другой — с -----BEGIN RSA PRIVATE KEY----- ? Вы замечали, что иногда в заголовке второго файла отсутствует часть RSA и просто написано BEGIN PRIVATE KEY?

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

Читать далее

Information

Rating
Does not participate
Registered
Activity