Pull to refresh
  • by relevance
  • by date
  • by rating

Русский перевод книги «The Rust Programming Language» (TRPL)

Open source *Programming *Rust *
Добрый праздничный день.

По окончанию перевода официальной версии TRPL или раст-бука (ссылка на русский вариант), я решил написать про свои размышления, наблюдения и встретившиеся сложности.
Перевод последней актуальной версии сделан на основе последней редакции из основного репозитория английского оригинала.
Читать дальше →
Total votes 68: ↑68 and ↓0 +68
Views 26K
Comments 26

Aqua Dock

Software
Aqua Dock — бесплатный launchbar/taskbar для Windows XP, сделанный в стиле дока Mac OSX: значки дока увеличиваются при наведении на них мыши.

aqua-dock.jpg

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

aqua-dock-settings.png

Еще одна приятная особенность Aqua Dock в том, что она хранит все настройки в ini-файлах в каталоге с программой, т.е. спокойно может быть помещена на флешку. Собственно, я уже добавил Aqua Dock к своей коллекции Portable-софта.

aqua-dock-default-skin.jpg

» Скачать Aqua Dock 1.0 (738 Кб)
Total votes 32: ↑28 and ↓4 +24
Views 1.8K
Comments 28

(Office) Open XML

Lumber room
Microsoft продвигает свой открытый формат на ISO стандарт, любители opensource беснуются.

Не знаю, может жизнь с ODF могла бы реально быть менее проблемной, но даже если примут в качестве стандарта OOXML, то это тоже будет позитивно. По крайней мере, работать с им гораздо легче, чем с бинарным doc(который, был стандартом де-факто и без стандартизации ISO)
Total votes 2: ↑1 and ↓1 0
Views 692
Comments 9

Получение текста из.doc. Как это лучше сделать?

Lumber room
Встала передо мной небольшая задачка — поработать с различными файлами, в которых нерадивые пользователи присылают информацию о себе. Начав, со сбора статистики, я увидел страшную картину — изгаляются кто во что горазд. Присылают все, что только можно. Начиная от простых текстовых файлов (слава богам, есть в мире адекватные люди) и заканчивая презентациями в PowerPoint или Flash (а в таких людей я не верил вплоть до того момента, как сам увидел). Я, как не дурак, естественно решил привести все это многообразие к единому виду, обеспечивающим возможность человеко-машинной обработки. Не долго думая, я выбрал старый добрый html.
Различные презентации и картинки были отсеяны из алгоритма практически сразу — смысла городить огород не так уж и много, благо не столь часто попадаются эти прекрасные порождения креатива. Обработать из вручную не столь проблематично, как основной поток. Текстовые, html и т.п. файлы, в связи с выбором единого формата, можно было не затрагивать. А вот с прочими распространенными форматами, ясное дело, пришлось повозиться.

Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Views 463
Comments 10

Как прочитать запароленный документ?

Information Security *
Как прочиать запароленный документ *.doc или *.xls? Просто отправьте его себе в почту gmail, а потом воспользуйтесь чудо-ссылкой «View as HTML». Проверено, работает. Удивлен очень сильно.

seducteur
Читать дальше →
Total votes 76: ↑66 and ↓10 +56
Views 358
Comments 13

Как я с Microsoft Word воевал!

Lumber room
Я хотел бы рассказать одну историю, которая произошла со мной. На мой взгляд, она достаточно интересная, и может помочь, кому-нибудь с аналогичной проблемой. Сразу скажу — это мой первый пост на хабре :-) Он оказался немного затянутым, поэтому основные выводы я вынес отдельно — в конец статьи.

Итак, задача:
Есть портал, на который загружаются документы Microsoft Word в формате Doc. Перед публикацией в общий доступ они должны быть обработаны. Как именно — не важно, поэтому для упрощения возьмем такой алгоритм:
  1. Создать новый документ.
  2. Вставить данные из исходного (вставить файл).
  3. Сохранить полученный файл вместо оригинала.

Зачем это нужно и как это было реализовано?
Total votes 19: ↑12 and ↓7 +5
Views 994
Comments 27

Macbuntu :)

Lumber room
Если вам поднадоел внешний вид Гнома, то его можно легко разнообразить, например, добавив панель задач в маковском стиле:

image
(по клику можно увидеть полный скриншот)
Читать дальше →
Total votes 40: ↑21 and ↓19 +2
Views 474
Comments 58

Текст любой ценой: WCBFF и DOC

PHP *
Несколько позже, чем хотелось, но продолжаем наш разговор о получении текста из разных форматов данных. Мы с вами уже познакомились с тем, как работать с изначально XML-base файлами (docx и odt), прочитали текст из pdf, преобразовали содержимое rtf в plain-text. Теперь перейдём в вкусненькому да сладенькому — формату DOC.
Читать дальше →
Total votes 72: ↑67 and ↓5 +62
Views 26K
Comments 25

Текст любой ценой: Miette

Python *
Да, вы не ошиблись, и это не дежавю. Вы наверняка когда-то (если завсегдатай) видели этот топик. С тех пор прошло много времени, а мне продолжают ходить письма с вопросами и просьбами о совете на тему чтения текстовой информации из бинарных форматов данных. А это значит, что тема до сих пор актуальна, интересна для программирующей общественности.

За этот год (а ведь и вправду прошло больше года) я поменял место работы и занимаюсь совершенно другими вещами и давно уже не программирую (много не программирую, если быть точным) на PHP. Новый проект обязал меня совершенствоваться в python'е (и ощутить его силу), поэтому однажды воскресным вечером было решено переписать и, главное, улучшить некоторые из своих библиотек для чтения текста. Сегодня я представлю на суд публики молодой opensource-проект Miette («вкусняшка», если переводить с французского), который призван (в каком-никаком будущем) читать файлы пакета Microsoft Office.

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

Естественно python во многом отличается от PHP и, на мой взгляд, имеет несколько больший функционал, поэтому и принцип построения библиотек в проекте несколько другой, нежели старая «поделка» на PHP. В данном случае было решено запретить себе, как разработчику и заказчику в одном лице, загружать какие-либо большие блоки в память. Мьетт читает данные постепенно, по требованию, как это делает сам Word. Это делает его легковесным и нетребовательным к оперативной памяти. В будущем, я постараюсь пройти исходные profiler'ем и найти узкие горлышка, которые стоит оптимизировать дальше.

Идём дальше?
Читать дальше →
Total votes 37: ↑36 and ↓1 +35
Views 2.4K
Comments 17

В информационных системах Администрации Президента РФ не принимают odf

Lumber room
ссылка на доказательство

Цитата:
Обращение может содержать вложенные документы и материалы в электронной форме в виде одного файла без архивирования. Размер файла вложения не может превышать 5 Мб. Для вложений допустимы следующие форматы файлов: txt, doc, rtf, xls, pps, ppt, pdf, jpg, bmp, png, tif, gif, pcx, mp3, wma, avi, mp4, mkv, wmv, mov, flv. Иные форматы не обрабатываются в информационных системах Администрации Президента Российской Федерации.

Да, я могу сохранить из OpenOffice или LibreOffice в doс, но как бы Формат ODF утвержден в качестве стандарта Российской Федерации чуть больше чем пол года назад.
Total votes 37: ↑27 and ↓10 +17
Views 352
Comments 33

Поиск по PDF, DOC, DOCX файлам с помощью Sphinx и PHP

Sphinx *
Sandbox
Доброе время суток.

Хочу поделиться своим опытом написания скрипта на PHP для поиска по файлам форматов PDF, DOC и DOCX, используя Sphinx. Все ниже изложенное написано для людей, которые уже имели опыт работы с связкой Sphinx и PHP. Если нет, то в свое время мне очень помогла статья Мартина Стрейчера «Создание собственной поисковой системы с помощью PHP», опубликованная на сайте IBM.

Совсем недавно на одном из проектов, который является веб-интерфейсом для базы пользователей, я получил задание организовать поиск по документам. Проект был написан до меня и уже использовал Sphinx.

Задача вроде тривиальная, но погуглив немного, я не смог найти внятную инструкцию с конкретным примером поиска по файлам форматов PDF, DOC и DOCX, что и стало причиной написания этой статьи.
Читать дальше →
Total votes 65: ↑62 and ↓3 +59
Views 25K
Comments 4

Нормальная офлайновая документация

CakePHP *Technical Writing *
Вместе с выходом второй версии фреймворка CakePHP обновилась и документация — book.cakephp.org/2.0/. А самое главное, появилась офлайновая дока. Скачать можно прям с первой страницы кукбука: CakePHPCookbook.epub. Можно скачть с гитхаба исходники или помочь с переводом и исправлением.

Мне было лень искать что-то, что читает формат .epub и я просто распаковал файлы и получил много html страничек. Такая документация выглядит примерно так. Zip с html страничками качаем отсюда
Total votes 4: ↑4 and ↓0 +4
Views 1.1K
Comments 4

HTML с картинками в DOC на PHP собственными руками

Lumber room
Sandbox
В статье Не очень честная генерация DOC файлов на PHP был описан описан способ генерации DOC файла при помощи генерации MHT (MIME HTML) используя стороннюю библиотеку. Сегодня я расскажу о своей собственной генерации в этот формат. Плюсы моего способа следующие:

1) В OpenOffice читаемый текст и картинки.
2) В Word открывается файл в электронном виде, а не на весь экран.
3) Наш скрипт будет принимать HTML и отдавать сразу DOC файл на скачивание.

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

Начнем с функции, которая отдаст DOC файл на скачивание и будет работать во всех браузерах и со всеми протоколами(у меня с этим были проблемы):

/* Отсылаем файл на закачку */

function send_download($filename, $charset = 'cp1251')
{

    header ($_SERVER["SERVER_PROTOCOL"] . ' 200 OK');

    if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
        $UserBrowser = "Opera";
    elseif (ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']))
        $UserBrowser = "IE";
    else
        $UserBrowser = '';
 
    $mime_type = ($UserBrowser == 'IE' || $UserBrowser == 'Opera') ?
    'application/octetstream' : 'application/octet-stream';

    header("Content-Type: application/msword; charset=".$charset);


    $ua = (isset($_SERVER['HTTP_USER_AGENT']))?$_SERVER['HTTP_USER_AGENT']:'';

    $isMSIE = preg_match('@MSIE ([0-9].[0-9]{1,2})@', $ua);
    if ($isMSIE) 
    {
        header('Content-Disposition: attachment; filename="' . $filename . '"');
	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
    } 
    else 
    {
        header('Content-Disposition: attachment; filename="' . $filename . '"');
        header('Pragma: no-cache');
    }
}


Читать дальше →
Total votes 13: ↑6 and ↓7 -1
Views 3.5K
Comments 9

Как сделать онлайн просмотр документов

LLC Tik-Tok Coach corporate blog Website development *
Tutorial
Первый рабочий день. Первая задача в Redmine. Первая спецификация в формате doc. На новой рабочей машине. К чтению спецификации удалось приступить часа через 3. Пока скачался и установился MS Office. Вспоминая этот случай, я был уверен, что в нашей системе управления задачами надо сделать онлайн просмотр документов. Вот только идей по реализации за разумное время и трудозатраты не было. Недавно мы нашли способ – Microsoft Office Web Apps.

В этой статье пойдет речь о том, как добавить онлайн просмотр документов в любой продукт.
Читать дальше →
Total votes 18: ↑15 and ↓3 +12
Views 47K
Comments 36

Переведена документация Vue.JS 2.x

JavaScript *VueJS *
Два месяца труда одним URL: ru.vuejs.org
Кроме того, переведена документация Vuex: vuex.vuejs.org/ru
И vue-router: router.vuejs.org/ru

Огромное спасибо Konojoto и всем остальным, кто помогал переводить и вычитывать документацию (полный список контрибьюторов см. в репозиториях на github.com/translation-gang)

Документация выполнена небольшим (хотелось бы верить, что это не надолго) сообществом энтузиастов open-source перевода Translation Gang. Если вы хотели бы помочь с переводами документации какого-либо проекта с открытыми исходными кодами на русской язык, милости просим в наши ряды.
Total votes 58: ↑57 and ↓1 +56
Views 30K
Comments 39

Вымирание компьютерных файлов

ua-hosting.company corporate blog Interfaces *IT Standards *Data storage *History of IT
Translation

Новомодные технологические сервисы меняют наши интернет-привычки.




Я люблю файлы. Мне нравится переименовывать их, перемещать, сортировать, изменять способ отображения в папке, создавать резервные копии, выгружать их в интернет, восстанавливать, копировать и даже дефрагментировать их. Как метафора способа хранения информационного блока, я думаю, они великолепны. Мне нравится файл как единое целое. Если мне нужно написать статью, она окажется в файле. Если мне нужно выдать в свет изображение, оно будет в файле.
Читать дальше →
Total votes 177: ↑157 and ↓20 +137
Views 70K
Comments 400

Конвертируем doc в docx и xml на C#

Auriga corporate blog Open source *.NET *XML *C# *
Tutorial

Продолжаю свой цикл статей, посвященный конвертации различных текстовых файлов с помощью решений, реализованных на языке C#.


С момента моей последней публикации «Конвертация xls в xlsx и xml на C#» прошло более полугода, за которые я успел сменить как работодателя, так и пересмотреть свои взгляды на некоторые аспекты коммерческой разработки. Сейчас, работая в международной компании с совершенно иным подходом к разработке ПО (ревью кода, юнит-тестирование, команда автотестеров, строгое соблюдение СМК, заботливый менеджер, очаровательная HR и прочие корпоративные плюшки), я начинаю понимать, почему некоторые из комментаторов интересовались целесообразностью предлагаемых мной велокостылей, когда на рынке есть очень достойные готовые решения, например, от e-iceblue. Но давайте не забывать, что ситуации бывают разные, компании – тем более, и если потребность в решении какой-то задачи с использованием определенного инструментария возникла у одного человека, то со значительной долей вероятности она возникнет и у другого.


Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 6.9K
Comments 2

Как заменить container runtime в Kubernetes

System administration *DevOps *Kubernetes *
Translation
Tutorial

Братцы! Скорее всего вы уже знаете, что Kubernetes отказался от поддержки Docker в качестве среды выполнения контейнеров (container runtime) в будущих версиях. В релизе 1.20, вышедшем в конце 2020 года Dockershim помечен как устаревший (deprecated). В релизе 1.22, выход которого запланирован на конец 2021 года, от его поддержки планируют полностью отказаться.

Если вы используете управляемые кластеры Kubernetes (такие как GKE, EKS, AKS) это не станет для вас серьезной проблемой и скорее всего переключение будет простым. Но если вы управляете кластером самостоятельно (например, с помощью kubeadm) и используете Docker container runtime, рано или поздно, вам придется заменить ее, чтобы иметь возможность обновлять Kubernetes до последних версий.

Задача этой статьи не дать исчерпывающую информацию о причинах такого решения со стороны разработчиков Kubernetes или подробно изучить поведения конкретных container runtime в кластере Kubernetes. Вместо этого мы шаг за шагом разберемся как переключить Docker container runtime на другое решение, поддерживающее стандарт Container Runtime Interface (CRI). Если вас интересуют причины из-за которых Docker больше не рекомендован к использованию, ознакомьтесь со статьей из официального блога Kubernetes  Don't Panic: Kubernetes and Docker.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 3.4K
Comments 6
1