LINUX.ORG.RU

Сообщения Zodd

 

Посоветуйте связку программ для обработки raw фотографий

 , , ,

Необходимо:

1. Программа-просмотрщик raw фотографий с возможностью сохранения меток или рейтинга фотографий
для разделения хороших фотографий от мусора.

2. Программа для проявления raw фотографий.

3. Чтобы метки из первой были видны во второй.

Zodd
()

Элегантное решение

 ,

Всем привет! Это продолжение предыдущей темы, в которой я хочу найти элегантное решение.

Почти решил свою задачку, но уперся в одном месте. Подскажите как обойти эту ошибку
Оказывается что моя задача аналогична задаче про фигуры. Есть разные классы у которых есть общие и различные процедуры.

class Shape{
  virtual void Center() = 0;
}

class Line: public Shape{
  void Center() {...};
  // нет процедуры вычисления площади
}

class Circle: public Shape{
  void Center() {...};
  double Square() {...}; // вычисляется площадь
}

void FindCenter(vector<Shape*> shape) {
  for (vector<Shape*> it = shape.begin(); it!=shape.end(); ++it)
    (*it)->Center();
}

void FindSquare(vector<Shape*> shape) {
  double s=0;
  
  // Нужно вычислить лишь для третьей фигуры ее площадь
  s += shape[2].Square(); // Здесь происходит ошибка.
  std::cout << s << std:endl;
}

int main() {
  vector<Shape*> shape;
  Line line1, line2;
  Circle circle;

  shape.push_back(&line1);
  shape.push_back(&line2);
  shape.push_back(&circle);

  FindCenter(vector<Shape*> shape); // печатается координаты центра фигуры
  FindSquare(vector<Shape*> shape); // найти общую площадь
  return 0;
}
Zodd
()

Взаимодействие разных классов

 ,

Добрый день, Лоровцы.

Подскажите какой подход выбрать, чтобы реализация была более простой и наглядной?

Привожу сокращенно код в упрощенном виде, схематично.
Есть класс А от которого унаследованы другие:

class A{
  int i,j,k; // некоторые параметры
  virtual void fun() = 0;
}

class B:public A{
  void fun(){...}; //своя реализация
}

class B:public A{
  void fun(){...}; //своя реализация
}

Есть и другой класс для сложных вычислений, который использует потомки класса А и его параметры:

class D{
  void foo1(){
  for (A it = iterator ...)
    it->fun();
}

void foo2(){
  // здесь используются параметры i,j,k класса A для вычислений
}

Как использовать класс А в классе D? Передавать через параметры или лучше эти классы связать, например, с помощью шаблонных методов?

Zodd
()

Экономия места на малом экране

 ,

На ноуте (13") не хватает места на экране. Поэтому хочется рабочее пространство максимально увеличить.

Можно ли в среде Mate максимально увеличить окно, перекрыв панели или убирая декорацию окон?
Если нет, то в чем это можно сделать?
Что есть из сегодняшних ДЕ или мне придется ставить всякие WM и *boх'ы?

З.ы. Юнити и Кеды не предлагать.

Zodd
()

Проблема с установкой на UEFI

 ,

Не могу понять как ставить систему на компьютер с UEFI?
В качестве ос - только Mint

Не могли бы показать что я делаю не так.

1. Разбивка жесткого диска:
- 1 раздел boot efi - 100-200 mb
(sda1) - 2 раздел /roo
- 3 раздел swap
- 4 раздел /home

2. Настройка загрузчика
- при установке пишу, что загрузчик должен грузиться с sda1

Что еще нужно настроить? Обязательно переводить в gtp?

Zodd
()

Опрос: в каком дистрибутиве лучше приготовлен Mate

 ,

Mate как ДЕ стала замечательной (легкой, простой, классической).
Как, по вашему мнению, кажется в каком дистрибутиве его лучше готовят?

[x] Arch
[x] Debian
[x] Fedora
[x] LinuxMint
[x] Ubuntu

Чем они отличаются в этих дистрибутивах? Расскажите в чем отличия.

Zodd
()

Посоветуйте ноутбук

 

В общем, это очередной совета тред.
Т.к. я посмотрел в инете и понял, что отыскать нормальный ноут практически невозможно.

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

Планирую поставить на него убунту или минт.
Поэтому чтобы железо работало изкоробки.

Желательно, чтобы ноут работал 5-6 часов.
Экран размеров 12-14 дюймов (желательно матовый).
ОЗУ - 4 гб. Видеокарта не так важна - можно интел.

Бюджет в районе ~30к+-10к.

Zodd
()

Посоветуйте хороший смартфон

 , ,

Всех с праздником!

Есть старый телефон - HTC Incredible S, который подтормаживает от современного софта.
Немного помогла прошивка андроида да версии 4.3, но телефон временами тупит и перестает реагировать на нажатия.
Попытка удалить все лишнее с телефона тоже не спасает. Да и батарейки на день не хватает.

Поэтому настало время заменить телефон на новый.
Требования такие:

Телефон нужен для звонков, почты, инета и яндекскарт.
Экран 4-5 дюймов, памяти > 16 гигов.
Хороший фотик желателен. Финансов не больше 25 тыр.
Батарейки должно хватать больше чем на день.
Какая ОС не так критично, главное нормально работала и была удобной.
Главный критерий, чтоб не тормозило и долго прослужило.

Смотрел айфоны, сони, htc, самсунги, китайцев (xiaomi, meizu), даже нокию, но не смог подобрать.

Что посоветуете?

Zodd
()

Подскажите с реализацией кода

 

На данный момент есть код на уровне идеи. Знаю что он неправильно работает.
Подскажите как реализовать эту идею правильно.

Суть такая - есть несколько потомков от одного класса, у которых может в зависимости от параметра k содержаться массив разной длины с данными.
Параметр k для класса постоянен, массив foo при заданном параметры тоже постоянен.

class A() {
  int k;
  int *foo = new int[k];
  
  switch(k) {
  case 1:
    foo[0] = 1;
  case 2:
    foo[0] = 2;
    foo[1] = 3;
  }
}

class B: public A() {
  k = 1;
}

class C: public A() {
  k = 2;
}

class D: public A() {
  k = 2;
}

void main() {
  B b;
  C c;
  D d;
  return 0;
}

Zodd
()

Дуров покинул пост гендиректора «ВНенужно»

 

Павел Дуров покинул должность руководителя социальной сети «ВКонтакте».

Поставлена окончательная точка в этом вопросе.
Теперь официально еще одним «неподконтрольным» ресурсом стало меньше.
Делаем ставки что дальше поглотят сторонники режима и когда запилят великий фаервол.

Если бы у вас был аккаунт, теперь вы бы его удалили?

Zodd
()

Перестала правильно работать программа

 ,

Поставил сегодня на комп Ubuntu 14.04 и программа выдает странный баг:

test_fem: /home/zodd/Projects/cpp/femCore2/core/solid8/../../linal/array.h:76: T& linal::Array<T>::operator()(size_t) [with T = double; size_t = long unsigned int]: Assertion `i < height_*width_' failed. Аварийный останов (сделан дамп памяти)

Версия g++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2.

Пробовал поставить другую версию g++, не помогло.
До этого была OpenSuse - там нормально работало.

Что может быть причиной, куда копать?

Zodd
()

Получить доступ к элементу

 ,

Подскажите как получить доступ к элементам класса B и C в цикле по вектору D?

class A {
  int i;
  void fun();
}

class B::A {
   i = 1;
   fun() {...};
   ...
}

class C::A {
   i = 2;
   fun() {...};
   ...
}

vector<A*> D;

D.push_back(&B);
D.push_back(&C);

for (...)
   ...

З.ы. Код написан схематично, т.к. писал по памяти и могут быть пропущены синтаксические ошибки.

Zodd
()

Возращение на Арч

 ,

Добрый день ЛОР. Больше года я не использовал Арч, поэтому немного отстал.
Хочу заново на него вернуться, что там изменилось?

Не могли бы по пунктам (схематично) напомнить процесс установки (до ДЕ).
В какой последовательности вы ставите alsa, laptop утилиты и др.
Подробности не нужны, лишь нюансы.

Zodd
()

Синхронизация контактов

 ,

Хочу восполнить пробелы и, наконец, привести контакты в порядок. Что используете и как решили данные вопросы:

  • Как вы управляете своими контактами на телефоне, с чем их синхронизируете?
  • Как андроид работает и хранит контакты, полученные из разных источников (на телефоне, gmail, вконтакте и т.п.)?
  • Как можно легко редактировать на компе контакты?
Zodd
()

Купил таки нетбук

 , ,

Так и не нешел Lenovo в городе и вот сегодня приобрел нетбук Aspire One 756 с шинодовс 8 на борту.
Железо понравилось.

Стоял и тупил в магазине с вендой 8 и не знал как ей пользоваться. Ну как так можно.
Ведь испоганили десктоп к черту. Мне ведь работать в нем надо, а не тыкать пальцем по плиткам.
Решил поставить скайп, оказывается у них магазин появился и просто напрямую уже его не поставишь.
Приходиться региться на сайте мелкософта. Ставил и чертыхался ):

Обновления ставятся по несколько часов, это нормально?

Кстати, никакие диски теперь в комплекте не идут. Если сломаешь ОС, то все.

Это у меня только так или у всех проблемы с восьмеркой?

// З.ы. После XP я ушел на линукс.

Zodd
()

Посоветуйте нетбук для презентаций

 

Нужен недорогой нетбук для презентаций. Как обстоят дела с нетбуками я уже давно не следил.
Какие еще остались нормальные нетбуки?

Критерии:

  • основное использование - работа с текстом и демонстрации презентаций;
  • долгая работа от батареи;
  • не Асус;
  • цена ~15 килорублей.

Сам склоняюсь к Lenovo Thinkpad Edge E120-E135.

Что посоветуете?

Zodd
()

Сломал мозг

 

Возвращаясь к предыдущей теме: http://www.linux.org.ru/forum/development/9153691

Этот подход получился неудачным.
Поэтому попробую заново сформулировать вопрос по-другому.

Есть 10-20 материалов, у которых есть свойства p1, p2, ...
(в зависимости от материала набор этих свойств может отличаться).
Это можно задать через struct mat{...}. Также у каждого материала есть вычисляемые функции, т.е. методы (у каждого они разные).
Можно все это обернуть в class на основе виртуального класса.

Все эти материалы нужно будет передавать в процедуру.
Т.к. количество материалов может быть разной,
то необходимо их передавать либо в виде списков, массивов или еще как-то.

Проблема возникает когда я хочу передать массив структур в процедуру, т.к. класс является виртуальным.

Каким методом все это реализовать, чтобы получался код наглядным и простым?
С помощью каких элементов с++ это лучше всего будет сделать. В основном интересует сам подход.

З.ы. Если это возможно, то в рамках стандартного с++98.

Zodd
()

Class select

 

Есть базовый класс и его потомки. У каждого из них есть метод fun():

class Base {
}

class First : Base {
  fun();
}

class Second : Base {
  fun();
}

....

Хочу сделать так, чтобы в цикле можно было пройтись по всем потомкам класса и выполнить функцию fun().
Как это можно реализовать?

Zodd
()

Реализуема ли такая конструкция

 

Хочется сделать одну шаблонную функцию (header.h), которая реализована
различными способами в source1.cpp или source2.cpp.
В зависимости от моего выбора, программа будет собираться с первым или со вторым.
И все это потом вызывать в mainsource.cpp.

//header.h
template <typename T>
  void swap(size_t n, T* x, T* y);

//source1.cpp
template <typename T>
  void swap(size_t n, T* x, T* y){
...
}

//source2.cpp
template <typename T>
  void swap(size_t n, T* x, T* y){
...
}

//mainsource.cpp
int main() {
  swap(...);
  return 0;
}

Реализуема ли такая конструкция?

Zodd
()

Перестал соединяться с роутером

Вдруг перестал работать wifi (trendnet tew-432bpr). при попытки его настроить отвалилась сеть. Теперь не могу подключиться к роутеру.

Как проверить сдох он или нет? В гугле зобанили. В инете сижу через мобильник :(

Zodd
()

RSS подписка на новые темы