Pull to refresh
3
0
Юрий @yukon39

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

Send message

А в чем проблема работать с файлами?

Level of difficultyMedium
Reading time53 min
Views28K

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

Меня увлекла тема отказоустойчивости, а конкретно - отказоустойчивой работы с файлами. В этой статье я попытался соединить все полученные знания:

Кто участвует в процессе записи

Ошибки, которые могут произойти

Что от нас зависит, а что нет

И самое главное - как это этого защититься

Читать далее
Total votes 171: ↑170 and ↓1+169
Comments23

Российская микроэлектроника — два года спустя

Level of difficultyHard
Reading time9 min
Views97K

За эту статью попрошу благодарить патриотично размороженных граждан в целом, и @WebPeople (регистрация 2012, разморожен с первым комментарием 8 июл 2023 в 20:47) в частности. Глобальное потепление, ничего не поделать.

В мае 2022 в комментариях @hippohood отметился не имеющим аналогов текстом:
Примерно опишу мыслительный процесс позитивно (патриотично) настроенных граждан.

Оборудование можно сделать и самим, но пока можно и просто привезти серым импортом. Оборудование выглядит примерно как большой ящик с дырками, включённый в розетку; в одну дырку складываешь кремний, в другую заливаешь фоторезистор. Под третью дырку надо подставить ведро - в него будут ссыпаться чипы. Вёдра мы делать умеем (хотя и импортируем сейчас, но чертежи-то остались), фоторезистор научатся намешивать в Зелинограде; с кремнием разберемся, не всё сразу. Надо ещё заранее заказать в Китае переходник с европейской розетки на нормальную - лучше сразу 3 или 4, они постоянно горят. Вроде все ясно.

Читать далее
Total votes 648: ↑623.5 and ↓24.5+599
Comments451

Изучаем Bootmgr. Часть 1 — инструментарий и основные принципы отладки начальных этапов загрузки ОС Windows

Reading time12 min
Views49K

Введение


Возможно некоторые читатели помнят мою самую первую статью на ресурсе, посвященную загрузке Windows с VHD-образа. Возможно я бы и не вернулся к этой теме, если бы не нашлись люди, попытавшиеся повторить данную технологию на своих домашних машинах. Естественно, с реализацией этого решения возникли проблемы, касающиеся в основном тех ошибок, которые выплевывает bootmgr в тех случаях, когда ему что либо не нравится. Попытки интерпретации ошибок загрузки вроде 0xc03a0003 путем гугления к особо ценным результатам не приводят, а документация Microsoft на этот счет хранит многозначительное молчание. Возникла идея изучить процесс обработки VHD-образов, получив информацию из первых рук, то есть от самого загрузчика.


Если обратится к уже имеющейся в сети информации, то существует замечательный блог "Записки эникейщика о Windows" на страницах которого (раз, два и три) размещены, на мой взгляд, самые ценные сведения, по вопросам устройства bootmgr. Автор подробно рассмотрел процесс загрузки, включая исследования кода MBR и PBR, остановившись на структуре bootmbr, кратко описав происходящие при его работе процессы.


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

Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments10

Сдается дом! Как разрабатывался сайт для проекта, которому нет аналогов в России (кейс)

Level of difficultyEasy
Reading time6 min
Views2.7K

Привет, Хабр! На связи Пиробайт — продуктовые разработчики для фудтех, медтех, автотех. Делимся кейсом по разработке сайта для Клубного дома «‎Вэлко» в Иркутске, в котором можно снять квартиру на любом из 17 этажей. Без посредников и дотошных хозяев. С временной пропиской. В общем, преимуществ у него достаточно.

Рассказали, чего больше всего боялась ЦА, какие фишки внедрили в админпанель и что с проектом сейчас.

Читать далее
Total votes 23: ↑14 and ↓9+5
Comments12

Собираем автономную игру на C# в 2 килобайтах

Level of difficultyMedium
Reading time11 min
Views20K

Моё детство пришлось на эпоху 1,44-мегабайтных дискет и 56-килобитных модемов, поэтому я всегда любил маленькие программы. Раньше можно было записать на дискету кучу мелких игр и таскать её с собой. Если программа не помещалась на дискету, я задумывался, почему — в ней много графики? Есть музыка? Возможно, она выполняет много сложных операций? Или она просто раздута?

В наши дни дисковое пространство стало настолько дешёвым, что люди отказались от оптимизации по размеру.

Размер важен только при передаче: если вы передаёте программу по проводам, мегабайты равны секундам. По быстрому соединению на 100 Мбит в лучшем случае можно передать 12 МБ в секунду. Если на другом конце провода находится человек, ожидающий завершения скачивания, то разница между пятью и одной секундой может существенно повлиять на его ощущения.

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

Люди обычно воспринимают всё, что длится меньше 0,1 секунды, как мгновенное, 3 секунды — это примерно тот предел, после которого прерывается состояние потока пользователя; а уж 10 секунд удержать внимание пользователя очень сложно.

Хотя уменьшение сегодня уже необязательно, оно всё равно лучше.

Эта статья задумывалась как эксперимент, позволяющий выяснить, каким может быть минимальный размер полезного автономного исполняемого файла C#. Могут ли приложения на C# достичь размеров, при которых пользователи будут ощущать их скачивание как мгновенное? Позволит ли это использовать C# там, где он не используется сейчас?
Читать дальше →
Total votes 128: ↑127 and ↓1+126
Comments34

Как мы работаем с ресурсами в веб-приложениях

Reading time14 min
Views5.9K

Приложения, созданные на платформе 1С:Предприятие, могут быть развернуты в трёхзвенной архитектуре (Клиент – Сервер приложений – СУБД). Клиентская часть приложения может работать, в частности, как веб-клиент, в браузере. Веб-клиент – это довольно сложный фреймворк на JavaScript, отвечающий за отображение пользовательского интерфейса и исполнение клиентского кода на встроенном языке. Одна из задач, которая стояла перед нами в ходе разработки веб-клиента – это корректная работа с различного рода ресурсами (в первую очередь – их своевременное освобождение).

Мы провели анализ существующих подходов и хотим рассказать вам об этом. Добро пожаловать под кат!

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

Как мы анализируем потребление памяти нативными приложениями (C++, Windows, Linux)

Reading time13 min
Views6.9K

Технологическая платформа 1С:Предприятие – это большой программный продукт (только на С++ - более 10 миллионов строк кода, а есть ещё Java и JavaScript). Подробнее про устройство платформы можно прочитать тут.

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

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

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

Что происходит в СУБД при записи регистра накопления 1С?

Level of difficultyMedium
Reading time17 min
Views8.5K

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

В статье рассмотрены запросы, выполняемые на стороне СУБД при записи регистров накопления остатков и оборотов с разделением итогов и без.

Все примеры выполнены на платформе 1С 8.3.23 в связке с MSSQL.

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

Как мы в 1С работаем с различными СУБД, не привлекая внимания санитаров (зачеркнуто) разработчиков

Reading time10 min
Views15K

Чем большее количество СУБД и ОС поддерживает какая-либо программа – тем больше у нее пользователей, и это хорошо для производителей программы. При этом нужно помнить, что поддержка каждой СУБД – это расходы на разработку и тестирование, и эти расходы хорошо бы минимизировать.

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

О том, как мы работаем без изменения кода бизнес-приложения на разных ОС – тут, с различными браузерами - тут, а как на разных мобильных ОС – здесь.

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

OneScript: как начать работать, как тестировать, как использовать консольные приложения

Level of difficultyEasy
Reading time8 min
Views9.5K

Привет, меня зовут Андрей, я тимлид в Петрович-Тех. Хочу сегодня поговорить с вами об 1С-разработке в общем и OneScript в частности. 

На сегодняшний день скриптовый язык OneScript – уже практически стандарт для 1С-разработчиков. При этом несмотря на распространённость и широту применения, я не могу сказать, что там всё очевидно. Я сам с опытом 1С-разработки в 10 лет всё ещё продолжаю узнавать нетривиальные нюансы работы с OneScript на уровне базовых сущностей; например, из недавнего – как в OneScript делается autocomplete. 

Входной порог в OneScript – есть.

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

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

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

30 фильмов про IT и киберпанк, которые можно пересмотреть на новогодних праздниках

Reading time10 min
Views49K
На новогодних праздниках можно позволить себе отдохнуть и посмотреть старое и новое кино. Фильмы про IT подбирал так, чтобы можно было найти на любой вкус. Ниже список, которым решил с вами поделиться.

Читать дальше →
Total votes 62: ↑45 and ↓17+28
Comments99

Современные системы видеонаблюдения — от концепций до воплощения. Часть 3

Reading time10 min
Views5.8K

Часть 3. Реализация малых систем видеонаблюдения на современных
смарт-камерах и регистраторах

В этой части мы снова переходим к практическому воплощению концепций.

Сегодня попробуем решить проблему построения малой системы видеонаблюдения.

В чем отличие такой системы? В ней нет сервера видеонаблюдения и количество камер не превышает 32.

Рассмотрим состав малой системы видеонаблюдения.

Основа системы – это видеокамеры, от 1 до 32, и устройство записи, хранения и поиска видеоконтента камер.

Далее, необходимы блоки питания, монитор, коммутатор, а также оптика или медные кабели и, возможно, роутер и модем.

Последние компоненты за последнее десятилетие не изменились, а вот камеры и видеорегистраторы заслуживают внимания.

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

Партицированная дисциплина программиста в 1С

Reading time8 min
Views3.8K

Почему при росте объемов базы 1С все становится медленней, даже если все индексы правильно сделаны? В статье на простом примере с регистром сведений показана причина и как этого избежать. Кто виноват больше 1С или MS SQL решать Вам :)

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

Тест на подсознательные потребности: чего хочется больше?

Reading time2 min
Views16K

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

Читать далее
Total votes 43: ↑32 and ↓11+21
Comments60

Как мы использовали RabbitMQ для разбиения монолита крупнейшего ритейлера страны*

Reading time6 min
Views8.3K

Накопить за 7 лет терабайты данных в монолите и решить, что пора оптимизировать систему и разбивать её на микросервисы — страшный сон для айтишника. Добавим сюда ещё база на решениях от 1С и необходимость обеспечить непрерывность процесса. Стало страшно? А для нас — возможность показать экспертность и решить нетривиальную задачу. О том, как «кролик» помог сдвинуть гору рассказал архитектор 1С компании «Автомакон» Виталий Осиповский.

С 2013 года ВкусВилл проводил внутреннюю автоматизацию с использованием программ на базе 1С. За годы активного развития и эксплуатации база увеличилась до нескольких терабайт, кратно выросло количество операций, что спровоцировало большой объем работы для администраторов, оптимизаторов и команды разработчиков. Например, тяжелые алгоритмы планирования, закрытий, генерации документов могли негативно влиять на работу всей базы.

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

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments4

Недельный геймдев: #83 — 21 августа, 2022

Reading time7 min
Views3.5K

Из новостей: совет директоров Unity отклонил предложение о покупке со стороны AppLovin, в VK Play разрешат публиковать игры физическим лицам, FluidNinja LIVE для Unreal Engine добавил каустику, Cocos Creator 3.6.

Из интересностей: многолетняя подборка материалов по геймдеву, деконструкция кривых Безье, Даррен Корб в гостях у The House of The Dev, редизайн UI в первой Deus Ex, ретроспектива сцены в музее в The Last of Us Part II.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments1

Насколько жарко — это слишком жарко? Жара + влажность становятся опасными быстрее, чем многие думают

Reading time6 min
Views60K

По мере изменения климата волны жары становятся все более интенсивными: они длятся дольше, идут чаще, а температуры всё выше. Сейчас одна такая волна проносится через Европу: в Испании и Португалии только за прошедшую неделю умерли 1100 человек. Люди просто оказались не готовы к температурам выше 35 ºС: у них в домах не было кондиционеров, а многие днем выходили и пытались работать как обычно. И получили огромные проблемы со здоровьем.

В целом по Европе за одно это лето счет идет уже на десятки тысяч. Этот год, по всей видимости, станет даже более смертоносным, чем печально известный 2003-й, когда в Европе от жары погибло 30 000 людей. Но тогда температура доходила до 37 ºС, сейчас — под тем же Парижем фиксируют уже до +42 ºС.

Видимо, люди просто не понимают, в какую погоду можно находиться на улице, как им вести себя дома, и насколько вообще всё серьезно.

Попытаемся ответить.

Читать далее
Total votes 114: ↑109 and ↓5+104
Comments609

Minecraft protocol VarInt и VarLong. Как из единиц и нулей сделать число на примере Go?

Reading time7 min
Views3.2K

В этой статье я хочу детально разобрать, как из байтов преобразуются числа в нужные типы данных (VarInt, VarLong). Детально рассмотрим реализацию, примеры и напишем unit-тесты. Вспомним бинарные операции, двоичную и шеснадцатиричную систему счисления.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments0

Интервью с создателями Organic Maps — открытых мобильных карт на основе OpenStreetMap

Reading time6 min
Views15K

В июне прошлого года вышла первая версия программы Organic Maps - бесплатных мобильных карт для Android и iOS с открытым исходным кодом. Об этом событии я опубликовал небольшую заметку на Хабре. Весь год шла интенсивная разработка, а число установок превысило 100 тысяч. Я решил взять небольшое интервью у разработчиков Organic Maps и обсудить с ними итоги года работы и планы на будущее.

Читать далее
Total votes 63: ↑62 and ↓1+61
Comments69

Пыльные тропинки далёкой планеты: Игры по вселенной «Дюны» Фрэнка Герберта

Reading time8 min
Views9.8K

Роман Фрэнка Герберта «Дюна» и его продолжения — один из столпов мировой фантастики. Начать придётся именно с этой банальной фразы. Дальше в подобных случаях возможны варианты. Можно написать: «Поэтому неудивительно, что франшиза богато представлена в нашем с вами любимом формате — видеоигровом». Можно и по-другому: «Поэтому удивительно, что франшиза практически не представлена в нашем с вами любимом формате — видеоигровом». В случае с «Дюной», впрочем, оба варианта будут неверны. С одной стороны, видеоигр по «Дюне» действительно немного — с каким-нибудь «Властелином Колец» не сравнить. С другой — многие из них имеют культовый статус и до сих пор хорошо известны среди геймеров. Попробуем же, чтобы скрасить ожидание следующей части свежей экранизации, вспомнить и перечислить их.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments15
1
23 ...

Information

Rating
5,010-th
Location
Калининград (Кенигсберг), Калининградская обл., Россия
Date of birth
Registered
Activity