Сообщения ZuBB
(у нас ктото умер)почему фон черный для автокомплита тегов?
./
Посоветуйте сайтов для просмотра компонент для построения интерфейса
Есть standalone win app. В нем крутится мой плагин для которого нужно переделать «систему» ввода данных. Сейчас она явлет собой групу динамически создаваемых и наполняемых диалогов следующего типа
=============================
label input
....
/* максимум 7 "строчек" в 1м "диалоге" */
-----------------------------
[Cancel][Defaults][OK]
=============================
После тестирования на подопытних кроликах оказалось что данная система имеет некоторые изьяны. После разговора с разработчиком хост-программы удалось выяснить что для ввода данных можна использовать обычное (ну почти) окно браузера (только IE6 и выше; выбросить поддержку старых версий IE нельзя). Но есть более существенное ограничение — только одно окно. Поскольку организацией структуры окна буду заниматся не я (не очень силен в конечной отрасли) то нужно показать возможности (читай компоненты) для построения UI в броузере. Приблизительное «направление» - tabs, forms итп.
Что можна показать человеку который будет продумывать систему ввода кроме bootstrap, jquery UI?
Мож еще что посоветуете? Система ввода должна быть «дубова» (укр) — проста, понятна, и надежная
Иногда падает wifi-стек? ядра. как быть и что делать?
имеем dell latitude e5520 в виде
02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 (rev 34)
и Xubuntu 12.04
Linux vv-Latitude-E5520 3.2.0-45-generic-pae #70-Ubuntu SMP Wed May 29 20:31:05 UTC 2013 i686 i686 i386 GNU/Linux
с одной стороны wifi работает достаточно стабильно. с другой он время от времкни жывет абсолютно своей жизнью. уже второй раз (как минимум) поймал такое
В общем `${subject}.split('.')[1]`
настройка postfix под ubuntu. помогите осилить
вводная: изначально нужно было настроить бекапы mysql`я. в одном из предыдущих тредов новый модер советовал automysqlbackup. установил его, всё работает хорошо. но есть одно «но». хранить бекапы на том же винте не вариант. из всего парка железа в клиента ноут да сервер, на котором собственно и бежит mysql. а так как automysqlbackup притянул по зависимостям postfix, то решено было как сторадж использовасть почтовый ящик на гугле.
что есть: wifi-роутер, через который приходит инет, да хилелький ПК с ubuntu server 12.04. На роутере «есть» внешний IP, и прокинуты 2 порта: 80 (клиент издому юзает web-app, который я собственно написал для него) и 22й для ссш для меня.
что нужно: чтобы automysqlbackup мог беспроблемно отсылать бекапы на гмейл. Если есть возможность завести все это дело без регистрации доменного имени было бы отлично
полку стабильных систем инициализации в Gentoo прибыло
Работа с зависимостями. Правильные подходы
У меня есть уже 2 проекта (1й - руби, 2й - JS), где есть ядро и есть «модули». между модулями есть зависимости (например для работы модуля Z нужны результаты работы модуля R). В обоих случаях я написал довольно похожые костыли, которые решают минимальные? проблемы при работе с зависимостями. и если в первом случае мой внутренний code review`er молча соглашается, то во втором говорит что это плохо и нужно как-то переделать. но на верхнем этаже разум говорит что пока никаких идей нет.
Второй случай (проэкт написан на JS, исполняется в встроенной JS VM win app`a) плох хотя бы тем что модули нужно включать в сборку в определённом порядке иначе..
... SKIPPED ...
<concat destfile="${OUTPUT_FILE}" fixlastline="true" append="true"
encoding="${INT_CP}" outputencoding='${INT_CP}'>
<!-- ============================================================
//
// all spec files that is required for power_sprint script
// must be included only here
//
// WARNING: order is highly important!
//
// ========================================================== -->
<filelist dir="specs">
<file name="runtime_constants.js" />
<file name="accel_x_acceleration.js" />
<file name="accel_x_acceleration_zeroline.js" />
<file name="accel_x_speed.js" />
... SKIPPED ...
поэтому приветствуюется любая инфа как правильно «готовить» обвязку для зависимостей.
в тред приглашаются архитекторы всея ЛОРа и quake`ский человек-снайпер tailgunner,
автор несоизмеримого числа форков gtk прожектов geekless, человек c голодной аватарой baverman в том числе
Vim: ввод комманд на русском/украинском
коротко: сабж
в деталях: нужно описать бизнес-логику работы модуля (а их есть ~80) на украинском языке (не спрашивайте почему. так нужно) в виде комментария в начале файла. редактор — vim. что нужно добавить в vimrc чтобы получить следующее (да, гугл не колется)
- возможность вводить комманды на русском/украинском. под коммандами я понимаю cW, yy, ci[ итд
- переключение раскладки должно остатся в X`ах
- английская расклада должна остатся английской.
Как правильно заставить вим видеть цветовые схемы из пакета vim-scripts
собственно вопрос из сабжа
имеется распослений вим в ubuntu 12.04 (если нужно --детали). также установлен пакет vim-scripts. все его цветовые схемы находятся по курсу /usr/share/vim-scripts/colors/
в виме переменная runtimepath равна следующему
runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/
vim73,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
соответсвенно дополнительных цветовых схем вим не видит.
гдето в сети я нашел следующий workaround
set runtimepath+=/usr/share/vim-scripts
и добавил его в начало vimrc. Цвета то появились, но вместе с ними и все остальное что есть в vim-scripts. а вместе с тем всем и два новых ужасно раздражающих прикола: minibufferexlporer (который я не нашел как отключить сходу) и иногда неработающая «s» (substitute) (на конфиге без runtimepath все ок, уже проверил)?
Как сие безобразие наиболее правильно фиксить?
// ах, да. в генту таких приколов с app-vim/colorschemes и в помине нет.
{не пятница}Оценка стоимости поддержки продукта
Фабула
Гдето в начале февраля мне позвонил мой друг и сказал что один из его клиентов (назовем его «заказчик») ищет разработчика, который владеет JavaScript. После общения с ним стала ясна общая задача: для приложения под офтопик нужно написать подгружаемый юзером плагинскрипт, который бы обрабатывал и визуализировал массивы данных, доступные в программе. С меня программирование, с него математика. Ему код, мне оплата труда.
Начал я гдето в конце февраля. Закончил основную часть перед Пасхой. Гдето были небольшие перерывы, но это не суть важно. На первой неделе апреля заказчик ездил на выставку/конференцию. На ней также был производитель приложения, в котором выполняяется плагин. Наша писанина у них вызвала неподдельный интерес. Само по себе приложение бесполезно без небольшой железяки, которая есть ихней эксклюзивной разработкой. Зарабатывают они на продаже приложения + железяки и «аксесуаров» к ней. Нужно добавить что заказчик несколько раз говорил что тот производитель есть №1 на рынке продуктов в ихней нише. И наш плагин еще больше позволит им укрепить их позицию, ибо у конкурентов такого еще нет. Также нужно добавить что для работы нашему плагину нужен еще один «аксесуар», который у производителя не продается (пока?), но заказчик его или гдето достал или спаял (я не в курсе)
недавно еще раз звонили от производителя, подтвердили зантересованность. заказчик видит два варианта:
- продать им плагин и «аксесуар» полностью за какую то фиксированную суму. если они не осилят поддержку кода сами, то тогда делать им поддержку за денешку.
- ничего не продавать, дать им плагин для улучшения продаж, с них снимать какую то сумму ежемесячно/квартально.
заказчик говорит что вариант №1 не прокатит ибо производитель вряд ли заплатит сумму которую он вложил в разработку. И во 2м варианте можна доить «корову» долго, и возможно это сумарно будет больше нежели в №1.
заказчик предлагает следующий вариант: деньги за поддержку плагина делить 50/50. Также он надеется что производитель оставит ему вопрос с поставками нового аксесуара (здесь я не претендую на чтолибо).
вопросы:
- сколько по вашему мнению может стоить поддержка такого плагина (в приложении используется JS VM от IE6 :(((( )?
vv@vv-Latitude-E5520 ~/work/own/js/uos $ cloc --exclude-dir=misc,.git . defined(%hash) is deprecated at /usr/bin/cloc line 1277. (Maybe you should just omit the defined()?) 102 text files. 102 unique files. 2191 files ignored. http://cloc.sourceforge.net v 1.53 T=0.5 s (190.0 files/s, 11926.0 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Javascript 91 964 557 4224 XML 1 15 17 117 HTML 1 4 0 61 DOS Batch 2 0 0 4 ------------------------------------------------------------------------------- SUM: 95 983 574 4406 ------------------------------------------------------------------------------- vv@vv-Latitude-E5520 ~/work/own/js/uos $
- вы бы подвинули % от делёжки? на сколько и в какую сторону?
Посоветуйте тулзов для всяческих проверок JavaScript кода
Для затравки: платформа — офтоп программа с встроенной JS VM. Есть абсолютная уверенность в том, что VM используется от Internet Explorer. Также есть не подтвержденная догадка о том, это именно его 6ая версия. Сменить/обновить JS VM не представляется возможным. Программа позволяет в рантайме подключать «плагины», написанные на JS.
я наговнокодил новый «плагин» в ~6к строчек. приближается время продакшена. хочется натравить на мой код всяких тулзов, которые проверяют код. Пока пользуюсь виндовой версией JSLint. Может подскажете еще что-нибуть? Возможно есть какие-то приблуды для node.js? А нет ли какого фронтенда/бэкенда LLVM, что бы мне подошел?
Можна ли восстановить файлы после git checkout?
Хотел перенести коммиты в другую (man) ветку и лопухнулся
лог событий
Admin@WORK /G/scripts v2.0/specs (master)
$ gt st
# On branch master
# Your branch is ahead of 'origin/master' by 44 commits.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: speed_by_abs_quantified.ajs
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: ../lib/core/configuration.ajs
# modified: ../lib/core/dispatcher.ajs
# modified: ../lib/core/graphic.ajs
# modified: ../lib/core/logger.ajs
# modified: ../power_sprint.ajs
# modified: load.ajs
# modified: load2impulse_as_dots.ajs
# modified: lpg_injector_impulse_width.ajs
# modified: rpm.ajs
# modified: rpm2impulse_as_dots.ajs
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# acceleration_by_abs.ajs
Admin@WORK /G/scripts v2.0/specs (master)
$ git branch newbranch
Admin@WORK /G/scripts v2.0/specs (master)
$ gt br
gvi
* master
newbranch
Admin@WORK /G/scripts v2.0/specs (master)
$ gt co master
M lib/core/configuration.ajs
M lib/core/dispatcher.ajs
M lib/core/graphic.ajs
M lib/core/logger.ajs
M power_sprint.ajs
M specs/load.ajs
M specs/load2impulse_as_dots.ajs
M specs/lpg_injector_impulse_width.ajs
M specs/rpm.ajs
M specs/rpm2impulse_as_dots.ajs
D specs/speed_by_abs_quantified.ajs
Already on 'master'
Your branch is ahead of 'origin/master' by 44 commits.
(use "git push" to publish your local commits)
Admin@WORK /G/scripts v2.0/specs (master)
$ git reset --hard HEAD~44
HEAD is now at 6e333c4 force 2 impulse dots: full rework and rename
Admin@WORK /G/scripts v2.0/specs (master)
$ gt co newbranch
Switched to branch 'newbranch'
Admin@WORK /G/scripts v2.0/specs (newbranch)
$
Admin@WORK /G/scripts v2.0/specs (newbranch)
$ gt st
# On branch newbranch
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# acceleration_by_abs.ajs
nothing added to commit but untracked files present (use "git add" to track)
Admin@WORK /G/scripts v2.0/specs (newbranch)
$
Admin@WORK /G/scripts v2.0/specs (newbranch)
$
Admin@WORK /G/scripts v2.0/specs (newbranch)
$ gt st
# On branch newbranch
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# acceleration_by_abs.ajs
nothing added to commit but untracked files present (use "git add" to track)
Admin@WORK /G/scripts v2.0/specs (newbranch)
$ gt co master
Switched to branch 'master'
Admin@WORK /G/scripts v2.0/specs (master)
$ gt st
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# acceleration_by_abs.ajs
nothing added to commit but untracked files present (use "git add" to track)
Admin@WORK /G/scripts v2.0/specs (master)
$
PS: env - msysgit@win xp
Посоветуйте приложение для емуляции работы мышки
Заранее извиняюсь за доминирование офтопа в данном вопросе, но поскольку здесь также присутствует некая доля автоматизации и острое желание не использовать мышку для одной операции среди потока операций с клавиатурой, надеюсь что адекваты меня простят
итак условия
- платформа: win xp/7
- что нужно сделать: выбрать в контролле аля dropdown 1й елемент
- спецусловие: нужно чтобы была возможность повесить этот хак/workaround на какую-то комбинацию клавиш
Когда я плотно занимался qa, мне кажется, я слышал о софте, который позволяет сделать что-то подобное.
Nexus 7 next gen
{пятница замри}помогите перевести значения скорости в ускорение
есть значения скорости (в км/ч), измерянные с периодом в 50мс. из них строится график. помогите перевести эти значения в ускорение, дабы из них тоже построить график.
я пытался подобрать формулу/алгоритм, но у меня получается либо опять график скорости либо достаточно ровная линия с очень частыми но очень маленькими колебаниями.
понимаю что задача пустяковаю, но мозг уже плавится. если есть кто жывой^Wтрезводумающий — подскажите
======================= UPDATE ===========================
ftor,
djzielony угадали - показания сняты с машины, которая проехала тестовой участок
на скрине, который я выложыл, у меня есть все тот же график (синий), который тут все советовали. Красным на том же рисунке изображен график того же ускорения но снятого с другого датчика (точнее данные с которого, оно посчитано).
на рисунке, который сделал djzielony есть три графика. последний из них очень похож на мой красный и как раз он мне и нужен. а данные для него готовятся двумя методами из scipy (если кто знает что они делают на самом деле - YAW)
b,a = ss.butter(rz, f/Fs/2, btype='low')
acc_filt = ss.lfilter(b,a, acc)
когда я «подписывался» на данное задание, меня уверяли что все математика уже есть. но как оказалось не вся. ну и я решил посмотреть что я смогу сделать.. ну а дальше вы все знаете.
да, спасибо тем, кто давал дельные советы
Rumor: Opera 14 Desktop Coming Next Month
Recently, we have received an anonymous tip that the very first public build of Opera 14 (with WebKit rendering engine) will be revealed next month, April that is.
http://www.favbrowser.com/rumor-opera-14-desktop-coming-next-month/
Странное поведение переменной в куске Javascript кода
code
_debug(graphicsViewIndex, 'graphicsViewIndex');
_debug(this.graphicsViews.length, 'graphicsViews.length');
_debug(typeof this.graphicsViews, 'graphicsViews.typeof');
_debug(this.graphicsViews, 'graphicsViews');
_debug(this.graphicsViews instanceof Array, 'graphicsViews.instanceof Array');
_debug(undefined, 'value of undefined');
_debug('', '---');
output
graphicsViewIndex: 0
graphicsViews.length: 2
graphicsViews.typeof: object
graphicsViews: undefinedgraphicsViews.instanceof Array: true
value of undefined: undefined
---:
код функции _debug
function _debug(value, descr) {
output_string = value + '\n';
if (descr != null) {
output_string = descr + ": " + output_string
}
ReportOut(output_string);
}
environment: standalone windows app, которое использует javascript используется как встроенное решение для написания плагинов(расширений)
update Внимание вопрос: как переменная со значением null/undefined может в тоже время иметь свойсто length (которое равно 2), и быть инстансом класса Array?
<<<<<
Буду признателен за любой совет
note: этот environment у меня «на работе», с которой я сейчас ухожу. все вашы советы смогу проверить только завтра
Помогите составить запрос
есть следующие таблицы
mysql> describe properties;
+----------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| agent_id | int(11) | YES | MUL | NULL | |
...
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+----------------------+--------------+------+-----+---------+----------------+
mysql> describe property_owners;
+-------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| property_id | int(11) | YES | MUL | NULL | |
| owner_id | int(11) | YES | MUL | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+-------------+----------+------+-----+---------+----------------+
примечание: owner_id здесь это fk на следующею таблицу
mysql> describe people;
+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| notes | text | YES | | NULL | |
| person_role_id | int(11) | YES | MUL | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+----------------+--------------+------+-----+---------+----------------+
mysql> describe phones;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| number | varchar(255) | YES | | NULL | |
| person_id | int(11) | YES | MUL | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+------------+--------------+------+-----+---------+----------------+
Нужно одним запросом окромя всех данных с таблицы properties собирать данные (имя и телефоны) всех ее owner`ов.
вот пример (кусками) как я сделал для агента
properties = Property.scoped.select(
<<-QUERY
properties.*,
...
people.name AS agent_name,
GROUP_CONCAT(phones.number SEPARATOR ', ') as agent_phone,
QUERY
)
...
.joins('LEFT JOIN people ON properties.agent_id = people.id')
.joins('LEFT JOIN phones ON people.id = phones.person_id')
.group('phones.person_id')
...
.order('created_at DESC')
Вся сложность для меня в том что owner`ов можеть быть несколько и у каждого может быть разное количество телефонов (или даже его не быть)
было бы неплохо получить данные о owner`ах как 1 отдельный столбик в таком виде
mary - 123456, 234567; john - 0987654; robert - 112233, 223344, 334455
Обьясните поведение метода «sub!» в Ruby
$(сабж) в следующем куске кода
irb(main):115:0> a = {:t1 => 'sa ma ra', :t2 => 'John'}
=> {:t1=>"sa ma ra", :t2=>"John"}
irb(main):116:0> b = a.clone
=> {:t1=>"sa ma ra", :t2=>"John"}
irb(main):117:0> b
=> {:t1=>"sa ma ra", :t2=>"John"}
irb(main):118:0> b[:t2] = 'Jack'
=> "Jack"
irb(main):119:0> a
=> {:t1=>"sa ma ra", :t2=>"John"}
irb(main):120:0> b
=> {:t1=>"sa ma ra", :t2=>"Jack"}
irb(main):121:0> b[:t1].sub!('ma', 'ha')
=> "sa ha ra"
irb(main):122:0> b
=> {:t1=>"sa ha ra", :t2=>"Jack"}
irb(main):123:0> a
=> {:t1=>"sa ha ra", :t2=>"John"}
irb(main):124:0>
Еще один нубский вопрос по асоциациям в рельсах
сразу же хочу извинится за лень, (да, по правильному нужно осилить полностью пару манов и тогда большинство вопросов отпадут самис собой. но времени, как всегда, не хватает, а гугл не колется) прошу понять меня и проститьпомочь, если не сложно.
итак есть следующие модели
Person
class Person < ActiveRecord::Base
has_one :person_role
# TODO: this does not help us
#validates_associated :person_role
belongs_to :property
attr_accessible :name, :notes, :phone, :person_role_id
validates :name, :phone, :presence => true
validates :phone, :length => { :minimum => 5 },
:uniqueness => {:scope => :name},
:numericality => {:only_integer => true}
end
PersonRole
class PersonRole < ActiveRecord::Base
attr_accessible :name
validates :name, :uniqueness => { :case_sensitive => false }
belongs_to :person
end
вроде как они связаны с помощью has_one и belongs_to.
irb(main):031:0> Person.find(1).methods.include?(:person_role)
Person Load (0.4ms) SELECT `people`.* FROM `people` WHERE `people`.`id` = 1 LIMIT 1
=> true
irb(main):032:0>
но обращение к методу person_role кидает трейс.
значит не все так хорошо, и я гдето на косячил.
к чему все это. ах да, не хочется в вьюхе плодить говнокод типа этого
<% @people.each do |person| %>
<tr>
<td><%= person.name %></td>
<td><%= person.phone %></td>
<td><%= t('roles.' +
PersonRole.find(person.person_role_id).name
) %></td>
как сие правильно писать? Хочется правильного, красивого и краткого решения.
да, я видел и joins и includes. но то ли я не въехал как их правильно использовать, то ли.. в обьщем поделитесь примером, или ткните носом в строчку мануала где сие разжовывается
← назад | следующие → |