вторник, 19 ноября 2013 г.

Подключение внешнего диска с ext2/ext3 (Linux) файловой системой на MacOSX

В интернете достаточно много информации на эту тему, но она или частичная или частично устарелая. Пишу свой опыт акутальный на сегодня 19.11.2013.

Есть достаточное количество платных программ для этой задачи, но есть и бесплатный путь. Для подключения диска вам понадобятся 2 программы. Одна программа это эмулятор файловых систем с помощью которой вы можете подключать к MacOSX сторонние файловые системы - OSX Fuse, вторая же - непосредственно модуль для работы с ext2/ext3 (чтение/запись) - fuse-ext2.

Прямые ссылки для скачивания:
http://sourceforge.net/projects/osxfuse/files/latest/download
http://sourceforge.net/projects/fuse-ext2/files/latest/download

Сначала устанавливаете osxfuse. Тут очень важно обратить внимание, что osxfuse это текущий актуальный проект, а сам модуль fuse-ext был разработан для предшественника - Mac Fuse. Именно поэтому при установке osxfuse нужно выбрать пункт установки - MacFUSE compatibility layer. Если этот пункт не выбрать fuse-ext2 работать не будет.

После установки osxfuse устанавливаете fuse-ext2. По идее ваша система теперь сама должна уметь монтировать устройства с ext2/ext3 разделами. Если все такие устроуство не монтируется само - попробуйте примонтировать его в ручную: создать точку монтирования (папку) и замаунтить:


Обратите внимание на disk1s1 - вам возможно понадобится сюда вписать нечто другое. Какое конкретное имя вписывать вы можете посмотреть в Disk Utility.

После этого в Finder вы должны увидеть свой диск.

Монтируем как read/write

У утилиты fuse-ext2 есть дополнительный набор параметров которым вы можете задать режим запись/чтение. Если вы хотите что б у вас всегда монтировались все внешние накопители как запись/чтение вам нужно подправить файл  

sudo vim /System/Library/Filesystems/fuse-ext2.fs/fuse-ext2.util

Около 207 строки должна быть строчка вроде:

OPTIONS="auto_xattr,defer_permissions" 

Закоментируйте ее и добавьте:

# OPTIONS="auto_xattr,defer_permissions"
OPTIONS="auto_xattr,defer_permissions,rw+" 


После этого все ваши внешние накопители с ext2/ext3 должны подключаться в режиме чтение/запись.

Успехов!

вторник, 15 октября 2013 г.

Интеграция Composer в PHPStorm, папки библиотек PHPStorm

Проблема: Некоторе папки в проекте PHPStorm считает как библиотеки, и соответственно не индексируются, игнорируются при поиске и т.д. Так же в настройках проекта изменения типа этих папок не сохраняется.

Причина: Собственно проблема возникла как раз из-за не до конца корректного использования Composer. В файле настроек composer.json была указана папка проекта  library как папка в которой стоит хранить библиотеки установленные с помощью Composer.

"vendor-dir": "library"
Получилось что в папке находились как собственные библиотеки так и 3d party. PHPStorm, будучи умным малым, автоматически считал конфигурацию composer и пометил все папки внутри указаннной как библиотеки.

Решение:
В версии 6.0.4  в которой работаю я мне пришлось убрать интеграцию проекта с composer. В более новых версиях PHPStorm появилась настройка "Add packages as libraries" для composer, которая говорит PHPStorm помечать или не помечать библиотеки, установленные composer, как "папки библиотек". Оба варианта все же оставляют возможность ошибочно внести в сторонюю библиотеку изменения. Мне кажется правильное решение будет разнести папки с собственными библиотеками и папку с библиотеками, установленными composer

понедельник, 16 сентября 2013 г.

Пример перевода документации по ФОП на английский язык

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

Пример перевода Справки о доходах (Довідка про доходи)

Пример перевода Свидетельство плательщика единого налога (Свідоцтво платника єдиного податку)

Пример перевода Сертификата о регистрации физического лица предпринимателя (Свідоцтво про державну реєстрацію)

Пример перевода Налоговой декларации физического лица предпринимателя (Податкова декларація платника єдиного податку - юридичної особи) (форма декларации устарела)

Пример переводв Выписки из госсударственного реестра о ренистрации физического лица предпринимателя (Виписка з Єдиного державного реєстру)



среда, 11 сентября 2013 г.

Срок хранения бухгалтерских документов, в частности акта приема-передачи выполненных работ

Заинтересовал вопрос - сколько стоит хранить акты приема передачи выполненых работ по моему ФОП. Накопал документ в котором нашел сроки хранения всей документации по предприятию.

http://zakon1.rada.gov.ua/laws/file/text/14/f377025n24.zip

В документе, на свой вопрос как долго хранить акты приема передачи выполненых работ, получил ответ - 3 года.

среда, 28 августа 2013 г.

Тонкости отката ревизий используя SVN он же reverse merging

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

Пример:

svn merge -c-4,-5,-6 ˆ/trunk . - может привести к ошибкам
svn merge -c-6,-5,-4 ˆ/trunk . - ошибок быть не должно


вторник, 30 июля 2013 г.

Unicode to GSM / utf 8 to gsm / Кодировка из UTF 8 в GSM

Работая с смс сервисом столкнулся с проблемой, что хотя смс и короче чем 160 символов (англ. язык) сервис все равно разбивает СМС на части. Оказалось что смс сервисы работают с GSM кодировкой текста. Не вдаваясь в технические дебри GSM урезаный юникод. Немного погуглив нашел отличный класс, который и использовал на проекте.

https://github.com/onlinecity/php-smpp/blob/master/gsmencoder.class.php

понедельник, 13 мая 2013 г.

Правильный svn blame или как увидеть настоящего автора изменений в коде

Сегодня на работе меня попросили прокомментировать кусочек кода, который был якобы мой, но проверив в PHPStorm чей код - я обнаружил что не мой. И так как код действительно не мой, я решил исследовать этот вопрос и обнаружил что есть такой замечательный параметр в svn blame как "-g".

Разница будет видна если из ветки создавался бранч в котором делали изменения и реинтегрировали его обратно.

Без ключа (svn blame) все изменения в дочерней ветке будут показываться в родительской с автором - тем пользователем который делал реинтегрейт мердж и номером комита этого реинтегрейта.

С ключом (svn blame -g) будет показываться настоящий автор и ревизия изменений которая была сделана в дочерней ветке..

Популярные сообщения