Случайные мысли

Ещё один блог веб-программиста

  • Home
  • О блоге
RSS

Python pyx

Posted on Среда, Апрель 18, 2012 by Kein
Comments off

Поймал ошибку для следующего кода:

1
graph.writePDFfile(filename)
1
2
3
4
5
6
7
8
9
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/pyx/text.py", line 670, in run
raise RuntimeError("TeX/LaTeX finished unexpectedly")
RuntimeError: TeX/LaTeX finished unexpectedly
self.texinput.write(self.expr)
IOError: [Errno 32] Broken pipe

Все дело в том что нужен был пакет luatex(остальные нужные он подтянет за собой сам)

1
#apt-get install luatex
Categories: Coding | Tags: python

Быстрый подсчет количества знаков и слов в тексте.

Posted on Понедельник, Январь 23, 2012 by Kein
2 Comments

Можно конечно воспользоваться каким нибудь онлайн инструментом. Но никогда не задумывался что самый быстрый это тот что обычно под рукой в браузере – Javascript. Открываем javascript консоль (Для Google Chrome ctrl+shift+J) и вводим ‘Наша длинная длинная строка многобукавактут’.length – радуемся;)
Если у вас длинный текст, вот небольшой snippet что бы не набирать:

1
2
prompt().length - просто копипастим в окошко текст
prompt().split(/\s/).length - аналогично копипаст, но уже количество слов

Есть еще вариант без консоли. Работает в любом браузере: можно ввести в адресной строке

1
javascript:alert(prompt().length );

Вот ссылка что бы попробовать клац.

Categories: Coding | Tags: Javascript, tricks

Конвертирование html в другие форматы на стороне сервера.

Posted on Суббота, Декабрь 10, 2011 by Kein
1 Comment

- Use unoconv
- it depends on python-uno, which depends on openoffice.org-core :(
- that’s the black magic of dependencies ;)

Не думал, когда принимался за задачу, что конвертирование из HTML в другие форматы станет такой проблемой. Но тем не менее я ее решил.
Read more …

Categories: Coding | Tags: html, pdf, wkhtmltopdf, xvfb, конвертирование

Алгоритм валидации номера кредитной карты

Posted on Суббота, Ноябрь 26, 2011 by Kein
Comments off

Номер кредитной карты (или другой банковский карты) представляет собой некоторое количество цифр на лицевой части карты. В номере карты содержится полезная информация — зашифрован код банка-эмитента карты, категорию организации выдавшей карточку, тип карты итд. Номера кредитных карт в России обычно состоят из 16 цифр, хотя встречаются 13-и 19-значные номера.

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

И так приступим. Read more …

Categories: Coding | Tags: Javascript, Валидация

Bash: использование while в одну строку

Posted on Четверг, Ноябрь 17, 2011 by Kein
Comments off

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

1
2
ls ./ | while read file; do iconv -f cp1251 -t utf-8 ${file} > ${file}.converted;\
mv ${file}.converted $file; done
Categories: Coding | Tags: bash, linux

Apache configuration – 403 Forbidden

Posted on Пятница, Октябрь 21, 2011 by Kein
Comments off

Каждый раз когда настраиваю apache, полчаса вожусь с этой ошибкой.
Все вроде бы правильно, есть:

1
2
3
4
5
6
<Directory "/home/domain/www">
        Options +Indexes FollowSymLinks
        AllowOverride All
Order allow,deny
        Allow from all
</Directory>

Права на директорию ~/domains/site

1
$ chmod +x ~/domains/site

Но в очередной раз забывают что на родительские директории /home, /home/user должны быть соответствующие права.
Не забываем выставлять ;)

Categories: Coding | Tags: Apache, linux, Server

Symfony2: установка и настройка функционального тестирования Behat и Mink

Posted on Пятница, Октябрь 21, 2011 by Kein
Comments off

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

Установка Behat и Mink

И так, Behat и Mink. Предназначены для того что бы писать примерно такие тесты:

1
2
3
4
5
6
Feature: First test coverage for MyProductBundle
Checking simple functiononality
Scenario: Open page with products list and check it
Given I am authorized as "Kein"
When I go to "/products"
Then I should see "List of products"

Если интересует, прошу под кат.

Read more …

Categories: Coding | Tags: Behat, BehatBundle, coding, Mink, MinkBundle, php, Symfony, Symfony2, Testing

Linux консоль как калькулятор

Posted on Четверг, Октябрь 20, 2011 by Kein
Comments off

Обычно под виндой для того что бы что-то посчитать, я уже привык нажимать «Win+R calc».
Но как перешел на Linux, в случае с вычислениями приходилось подумать.
Оказалось все можно делать просто в моем любимом терминале, на Bash.

Bash

Простые арифметические операции:

1
2
$ echo $(( 4 + (2*2) )) # 16
$ echo $(( 45/9 )) # 5

К слову для тех кто не знает — $(( )) говорит что Bash’у что нужно выполнить операцию в скобках как арифметическую.

Bc

К сожалению Bash не поддерживает операции с числами с плавающей точкой, но на помощь пришла команда bc:

Read more …

Categories: Coding | Tags: awk, bash, bc, linux

Ubuntu phpunit and pear upgrade

Posted on Вторник, Октябрь 18, 2011 by Kein
Comments off

Сегодня пытался первый раз изучить PHPUnit и столкнулся с такой проблемой, при установке

1
2
3
4
5
6
7
8
9
10
11
12
$ pear install --alldeps phpunit/PHPUnit
Failed to download pear/HTTP_Request2 within preferred state "stable", latest release is version 2.0.0RC2, stability "beta", use "channel://pear.php.net/HTTP_Request2-2.0.0RC2" to install
phpunit/PHPUnit requires PEAR Installer (version >= 1.9.3), installed version is 1.9.1
phpunit/PHPUnit can optionally use PHP extension "dbus"
phpunit/DbUnit requires PEAR Installer (version >= 1.9.2), installed version is 1.9.1
phpunit/File_Iterator requires PEAR Installer (version >= 1.9.2), installed version is 1.9.1
phpunit/PHP_CodeCoverage requires PEAR Installer (version >= 1.9.2), installed version is 1.9.1
phpunit/PHP_CodeCoverage requires package "phpunit/File_Iterator" (version >= 1.2.2)
phpunit/PHP_Timer requires PEAR Installer (version >= 1.9.2), installed version is 1.9.1
phpunit/PHPUnit_MockObject requires PEAR Installer (version >= 1.9.2), installed version is 1.9.1
phpunit/PHPUnit_Selenium requires PEAR Installer (version >= 1.9.2), installed version is 1.9.1
pear/XML_RPC2 requires package "pear/HTTP_Request2" (version >= 0.6.0)

То есть не соответствие версий. Apt-get не помог, оказывается решается все просто:

1
2
3
$ pear upgrade --force PEAR
downloading PEAR-1.9.4.tgz ...
Starting to download PEAR-1.9.4.tgz (296,332 bytes)
Categories: Coding | Tags: coding, linux, php, phpunit, ubuntu

Bash autocomplete, буфер обмена и Python

Posted on Воскресенье, Сентябрь 25, 2011 by Kein
Comments off

Собственно предыстория. Перешел на работе на Ubuntu. Но как оказалось PasswordDepot(программа для хранения паролей) не существует под нее, а ведь было так удобно, кликнул на нужную запись, нажал кнопку и пароль в буфере.Порадовало что у него оказался экспорт паролей в xml формате.

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

Все бы хорошо, только пользоваться не очень удобно.

Read more …

Categories: Coding | Tags: autocomplete, bash, coding, linux, python
Previous Entries
  • Свежие записи

    • Python pyx
    • Быстрый подсчет количества знаков и слов в тексте.
    • Конвертирование html в другие форматы на стороне сервера.
    • Алгоритм валидации номера кредитной карты
    • Bash: использование while в одну строку
  • Метки

    Apache array autocomplete awk bash bc Behat BehatBundle coding comments css html javasciprt Javascript linux Mink MinkBundle multithreading pcntl pcntl_fork pdf php phpunit pointer python Server Symfony Symfony2 Testing tricks ubuntu wkhtmltopdf xvfb Валидация Дао Даосизм Ненормальное программирование Саморазвитие Философия конвертирование метапрограммирование
© Случайные мысли. Proudly Powered by WordPress | Nest Theme by YChong