Есть задача реализовать в простеньком web-скрипте на Python поддержку локализации интерфейса. Нашел только gettext, но оно требует слишком движений для правки/добавления строк. Что-то попроще для Python-а нагуглить не получается у меня. Может посоветуете что?
Хочется что-то похожее как это делается на PHP, — просто файл с константами, который потом просто «инклудится». Не знаю как это сделать на Python.
У меня следующий вопрос, по гиту. А то оказалось что он работает не так как я себе это представлял. Суть проблемы в том что при переключении с ветки на ветку не зафиксированные изменения как бы глобальны для всех веток (расшарены между ними). Например. Я создал новую ветку (keyloop) и что-то там подредактировал, и тут у меня возникает необходимость посмотреть ветку master, или даже внести в нее изменения. Заметьте, я не комитил пока в keyloop, поскольку код не готов для комита, пока это просто набросок. И после возврата на master я вижу не зафиксированные изменения с keyloop.
Это такая фича?
I'm doing it completely wrong? Тогда как можна глянуть/отредактировать в master?
Ниже попробовал проиллюстрировать ситуацию с помощью консоли.
Сейчас
$ git branch
* keyloop
master
$ git diff
diff --git a/petris.py b/petris.py
index 414e0a3..1aa8c83 100644
--- a/petris.py
+++ b/petris.py
@@ -1,3 +1,4 @@
+
import curses
import time
import math
$ git checkout master
M petris.py
Switched to branch 'master'
$ git diff
diff --git a/petris.py b/petris.py
index 414e0a3..1aa8c83 100644
--- a/petris.py
+++ b/petris.py
@@ -1,3 +1,4 @@
+
import curses
import time
import math
$
А вот как бы я хотел чтобы было
$ git branch
* keyloop
master
$ git diff
diff --git a/petris.py b/petris.py
index 414e0a3..1aa8c83 100644
--- a/petris.py
+++ b/petris.py
@@ -1,3 +1,4 @@
+
import curses
import time
import math
$ git checkout master
M petris.py
Switched to branch 'master'
$ git diff
$
Пробую читать нажатые клавиши в Python curses based программе, и проблема в том что при нажатии клавиш ВЛЕВО, ВПРАВО всегда получаю код 27, не зависимо от того была ли нажата ВПРАВО или ВЛЕВО. Но буквенно-цифровые обрабатываются нормально. Я так подозреваю что должна как-то включатся поддержка расширенного режима ввода (или что-то вроде того), но в документации к модулю не могу ничего найти, и в нагугленых примерах ничего полезного не нашел.
Инициализирую так:
Тут такое горе у меня, — на работе в приказном порядке сказали снести GNU/Linux и мигрировать на Венду. Венда честно купленная и последняя (ну и кашперский само собой). Работаю я Java-быдлокодером, еще старые проекты остались на PHP. Только что беседовал с начальником и он внятно не может сказать причину, только в духе «у клиентов винда», «у всех в конторе венда» (к слову сказать кроме меня на Linux сидело еще два человека)... Такое и раньше бывало, приснится что-то и давай это внедрять. Но до сих пор все было по мелочам, а тут такое... В личную жизнь лезут гады. И главное что причин то реальных нет для миграции.
P. S.
И да, если есть у кого-то вакансия для удаленного PHP разработчика с неполной занятостью (фултайм в перспективе) я буду очень рад. Так как готовлю лыжи на удаленку. Так же интересует Django, хотя я пока в нем нуб, но обещаю бегом подтянутся.
День добрый.
Подскажите, пожалуйста, как решить следующую проблему.
MyEnum myEnumField;
String enumValue = "FOO"; // FOO -- одно из значений MyEnum.
/* Как сделать следующее динамически, чтобы работало с любой enum-переменной принимающей значение FOO. Имея при этом только строковое название енума ("MyEnum") и строковое представление конкретно значения ("FOO"). */
myEnumField = MyEnum.FOO;
cat foo.txt | while read filename
do
...
read var_name
...
done
В файле просто набор файловых путей (возможны пробелы). Проблема в том что второй вызов read'а (read var_name) тоже читает с этого файла, а мне нужно спросить пользователя.
Подскажите, пожалуйста, как можно это организовать в баше.
После некоторого апдейта ядра (а может и самых lm_sensors) вывод команды sensors поменялся совсем. Раньше в нем указывалось нечто вроде «Core 1:», «Core 2:», а теперь это все выглядит так:
Время публикации коментов показывает московское, а хотелось бы видеть его совпадающим с моим локальным временем. Неужели это не реализовано? А то я в настройках не нашел.
Мой часовой пояс Europe/Kiev.
Случилась на работе маленькая неприятность, и суть ее вот в чем. Для разработки используем Flash Builder, и запускаем его в Virtual Box под Linux (Arch, Ubuntu). И проблема в том что проект в билдере собирается почти минуту, а на вендовой машине буквально пару секунд (до 5-ти). Начальство негодует и просит пересесть на Венду, что начинает тревожить. Я думаю дело в неверной настройке Virtual Box.
Так у меня не получается отвести ему больше одного процессора (в системе их 4), в настройках эмулятора отвожу 2 проца, но в венде все равно виден только один.
Смысл тут следующий: есть определенная сумма (в данном примере это 52000, и она захардкорена в формуле, — долг), в каждой строке записывается сумма которую нужно отминусовать от долга и показать остаток в последней колонке.
Соответственно под 48000 должно быть 45000, а под ними 43000, и т. д.
У меня никак не получается адресовать ячейку «над головой». Если я пробую @-1$3 то получаю ошибку «Row descriptor -1 used in line 1 leads outside table».
Никак не найду как с помощью mod_rewrite изменить URL вида
/foo?bar=baz
на
/foo/baz
Должна же быть возможность парсить переметры. Не подскажете ли как?
Поперло меня читать работы Пола Грэма, Джоела Спольски. Посоветуйте что можно почитать в таком духе. Желательно на русском, но можно и на английском.
Еще, из книг знаю про Брукса и Peopleware.
Как правило в исходниках есть хедер с лицензионным соглашением.
Например:
/*
* Copyright (c) 2006-2008 Ed Schouten <ed@80386.nl>
* All rights reserved.
...
Еще есть варианты где года перечисляются через запятую. У меня возник вопрос: как поддерживать это в актуальном состоянии? Неужели год добавляется вручную во все файлы, или есть какой-то более автоматизированный способ?
Есть идея одного волпейпера, но по причине отсутствия даже минимальных художественных способностей сам я ее осуществить не могу. Хотя пытался неоднократно, и в гимпе и в инкскейпе. Нагуглить ничего даже похожего не получилось.
День добрый.
Посоветуйте каких-то проектов в качестве хорошего кода на C++, а то я что не ткну все на С. Хочется в них найти ответы на вопросы в духе «так правильно обрабатывать ошибки используя исключения», «так правильно вести логи», и т. д.
Желательно проекты без гуя, не большие по размеру.
Хотя, может и не совсем добрый. Второй вечер пытаюсь прилинковать mysqlpp к своему исходнику и не получается. Это под Archlinux'ом. После просмотра рассылок и просто раздумий меня посетила мысль: «А не попробовать ли это собрать под соседним Dedian'ом?». И на мое удивление под ним собралось без проблем.
Помогите, пожалуйста, собрать это под Арчем, а то сил моих уже нету.
Исходник:
#include <mysql++/mysql++.h>
int main(int argc, char *argv[])
{
mysqlpp::Connection *conn = new mysqlpp::Connection();
return EXIT_SUCCESS;
}
$ g++ $(mysql_config --cflags --libs) -lmysqlpp foo.cpp
/tmp/ccDlPU8l.o: In function `main':
foo.cpp:(.text+0x33): undefined reference to `mysqlpp::Connection::Connection(bool)'
collect2: ld returned 1 exit status
Я тут случайно узнал что следующий код дает разный результат для разных языков.
Всю жизнь был уверен что оно работает одинаково кругом, и возвращает 4.
// i -- целочисленная переменная
i = 0;
i += i++ + ++i;
// чему равно i?
Так в C, Perl, PHP оно выводит 4, в Java, Javascript же 2.
Причину я понял (момент вычисления i++), но зачем они такое сделали???
И еще вопрос. Есть ли гарантия что все реализации Java (JVM и компилятора) дадут 2?