?

Log in

No account? Create an account
Программизм's Journal
 
[Most Recent Entries] [Calendar View] [Friends]

Below are the 20 most recent journal entries recorded in Программизм's LiveJournal:

[ << Previous 20 ]
Monday, April 16th, 2018
11:54 am
[kray_zemli]
Как расшифровать этот жидовский шифр?
Судя по всему, фишка в полосках на заднем фоне:



PS: Это отсюда, вроде как Моссад загадки загадывает.
Friday, February 2nd, 2018
6:27 pm
[elexandra]
А вот поясните мне за гитлаб и инфраструктуру, а то я что-то с ЛПР никак не могу найти общий язык.

Насколько мне известно, популярные сервисы типа гихаба, трелло, амазона и т.п. находятся в иностранной юрисдикции и под контролем сторонних компаний, поэтому в любой момент могут повести себя непредсказуемо. Навскидку приходят в голову примеры блокировок гитхаба в РФ, бывшие проблемы с Эпл в Крыму и два падения сервисов Амазон (второй с докером).

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

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

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

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

Пытался поднять эту тему. Говорю, как-то это всё неправильно - отдавать свои проекты сторонним организациям.

Ответ: ой, не надо разводить холивар. Как будто ты гуглу и т.п. свою переписку не отдаёшь.

Я: рабочая почта у меня на сервере в корпоративной сети. Это безопасно.

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

(Честно говоря, я не в курсе, как обстоят дела у крупных компаний и чем они пользуются. Если они действительно крупные, то у них должно быть достаточно ресурсов, чтобы себя защитить.)

Я: но это не повод, чтобы сливать проекты на сторону.

Ответ: это твоё мнение, мы тебя услышали.

Тут я подумал, что где-то читал обсуждение о том, что если компания покупает сервисы официально (а не просто сотрудники заводят аккаунты), то в этом случае защищённость сервисов выше. Спрашиваю: мы что-нибудь покупаем у гитлаба?

Ответ: к чему эта демагогия? У тебя есть аргументы или просто поговорить хочется?

Я: почему демагогия, это же безопасность.

Ответ: у тебя есть агрументы или это твоё мнение?

В общем, разговор повис в воздухе. Но не суть. Вопрос - как обстоят дела на самом деле? Насколько критично/безопасно в энтерпрайзе (проекты уровня города-миллионника) пользоваться гитхабами-гитлабами-амазонами и иже с ними?

Или, может, я просто заморачиваюсь и лучше не забивать себе этим голову.

Буду благодарен за любые мнения.
Saturday, March 10th, 2018
4:56 pm
[kray_zemli]
Raster Image Processor
Показался заказчик ("импортозаместитель" в области широкоформатных принтеров), который хочет сабж. Как я понял, это такая штука, которая берёт PostScript и выдаёт растр, который идёт на принтер. Пока только в общих чертах сказали, чего хотят, скоро еду на встречу, хочется быть подготовленным.

Направление для меня совершенно новое. Заранее я не знаю, каково состояние этой немолодой отрасли, чем их не устраивают существующие решения, есть ли у них какая-то своя заготовка, сколько человеко-месяцев нужно, чтобы создать такое решение с нуля. Также мне неизвестно, есть ли в этой области вменяемые open-source решения, которые можно было бы взять за основу.

Вроде бы, документация на PDF занимает несколько тысяч страниц, её просто прочитать нужен минимум месяц, а PostScript -- это нечто очень похожее. Что намекает на то, что задача для одного человека может быть вообще неподъёмной.

В общем, расскажите что-нибудь на тему. В первую очередь, чем отличаются существующие решения, и есть ли вменяемый open-source.
Saturday, February 17th, 2018
5:31 pm
[kray_zemli]
Демо под Windows
Год сижу без работы, совсем разучился программировать.

Хочу написать несложную демку. Нужно выводить отрендененное видео в окно покадрово (желательно с синхронизацией развёртки), типа как видеоплееры делают, а также и звук, и чтобы он шёл синхронно с видео.

Рендериться кадры и звук будут программно, по-старинке. Впрочем, хочется задействовать банальное 3D (вращающийся многогранник с текстурами), чтобы самому не возиться, но тоже рендерить его в буфер.

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

Дайте какой-нибудь несложный исходник на C++ под Windows, требующий минимум сторонних библиотек (лучше на основе доступного в Windows API типа DirectX), откуда этот готовый "скелет" можно было бы выдрать.
Monday, November 20th, 2017
3:15 pm
[kray_zemli]
Что изучить чтобы грести бабло?
Какие языки/технологии изучить, чтобы выгребать максимум бабла при константных затратах, и не тратить годы на поиск заказчика/работодателя? Какую область/специализацию предпочесть? В рамках разумного: полгода-год на усвоение. Какой вообще алгоритм достижения максимального дохода? Интернет или десктоп? Фулл-стэк или специализация? Фриланс или работа на дядю? Нужно ли заморачиваться git-профилем и колбасить забесплатно опенсорс? Как найти нормального заказчика или дядю? Имеет ли смысл взять в подчинение пару студентов-балбесов, или одному проще?

Или тупо попытаться устроиться в гугл/микрософт/амазон, и только в случае неудачи предпринимать что-то иное?
Sunday, November 19th, 2017
4:02 pm
[kray_zemli]
Освоить Windows GUI: с чего начать?
Так уж получилось, что с поступлением на физфак активно дрючиться программированием я перестал, и так и не успел освоить создание GUI программ под Винду. Хотя я читал исходники чужих программ, реверс-инженерил много всего, и какое-то представление о сообщениях, Windows GDI и т.п. имею. В те времена мода на OWL уже ушла. Программы либо использовали вызовы GDI напрямую, либо полагались на MFC. Диалоги рисовались в спецрисовалках, клались в ресурсы, и оттуда загружались готовые. Была ещё пионерская игрушка Delphi, которая хранила формы в пикселях вместо диалоговых единиц, отчего при нестандартных установках размерах шрифта всё съезжало, поэтому её я никогда всерьёз не воспринимал. С другой стороны, если украшать диалоги картинками, то и у правильного метода были проблемы. Ещё тогда была мода рендерить изображения окна полностью самостоятельно, со всякими градиентами, гладкими углами и т.п., и выводить готовую картинку.

Но с тех пор прошло 20 лет. Появились GDI+, Direct2D, и хрен пойми что ещё. С другой стороны, народились всякие Qt, GTK, wxWidgets. А я, в свою очередь, решил бросить физику и податься в программисты. Но невозможность создать законченную программу от и до (в частности, из-за отставания в области интерфейса) сильно сдерживает мою программистскую карьеру.

Итак, в какой последовательности советуете осваивать новое? Исходники каких программ почитать для примера? Судя по тому, что я читал о GDI+ и Direct2D, внутри та же самая модель событий и полученный по окну HDC, изменились только вызовы отрисовки. Direct2D отсутствует на XP (что всё в меньшей степени, но ещё, думаю, актуально). GDI+ ругают за тормоза и вырвиглазный рендеринг текста. А все эти Qt монструозны, и мне, как человеку со стороны, непонятно чего дающие.

Или же вообще забросить к чертям C++ и выучить C#, в котором, я слышал, дофига встроено всего готового? Некоторые, вроде бы, делают интерфейс в HTML и показывают как страницу. Или это можно и через C++ делать тоже без особых трудностей? Впрочем, в области HTML и JS я тоже за 20 лет сильно отстал. Стоит ли навёрстывать?

В общем, если делать законченную программу, то на чём лучше основывать интерфейс?
Monday, May 29th, 2017
5:55 pm
[elexandra]
Что использовать для локального хранения и индексации блогов?

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

SQL/NoSQL? JSON/XML? SQLite/UnQLite/LiteDB/whatever?

Клиентская система — Windows.

Нужно что-то типа Elasticsearch, только не сервер и WebApi, а в идеале клиентская библиотека под .NET с минимумом рабочих возможностей поиска и хранения.

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

Собираю любые идеи.
Wednesday, September 27th, 2017
10:25 am
[a_irrational]
Помогите с темой диплома!
Почти каждый сталкивается с этой проблемой и меня она не обошла… Нужна определенность в жизни… В любой непонятной ситуации нужно писать диплом)
Специальность - "Прикладная информатика в менеджменте".
Думала над темой "Бизнес-планирование проектов" (что-то в этом роде), но руководитель забраковал и посоветовал подумать о теме "Информационное обеспечение ..." (всяких производств).
Расскажите, как вы начинали этот путь, ваши темы? Спасибо за помощь!
Tuesday, May 30th, 2017
12:02 pm
[kray_zemli]
Инструмент для разбирательства в чужом C++ кода
На нашей работе много так себе написанного C++ кода и очень мало документации.

У меня большой опыт использования одной очень известной тулзы для reverse-engineering. Её особенность в том, что перед заголовком функции она показывает так называемые XREF'ы, т.е. места, откуда эта функция вызывается. На них можно нажать и попасть туда, там опять нажать на XREF или вызов функции, всё кладётся как бы в стек, и потом по шагам можно возвращаться обратно.

Хочется подобного, но не для бинарников, а для C++ исходного кода. Что-то типа специализированного статического анализатора. Чтобы быстрым нажатием нескольких кнопок узнать, где используются поля структуры, откуда вызывается функция или метод, в т.ч. виртуальный, где создаётся экземпляр класса, и т.п. Полнотекстовый поиск не всегда хорошо справляется, даёт ложные совпадения (одноименные методы в разных классах и т.п.), и вообще, недостаточно автоматизирует процесс.
Monday, March 13th, 2017
9:33 pm
[m_f]
Вопрос по swing
Есть такой код.
Collapse )
import org.jdesktop.swingx.JXLabel;
import org.jdesktop.swingx.JXTaskPane;



LayoutManager lm = panel.getLayout();


FlowLayout fl = (FlowLayout) lm;

JXTaskPane pane2 = new JXTaskPane();
pane2.setTitle("pane2");
JXLabel label = new JXLabel();
JTextField textField = new JTextField();
textField.setText("value");
label.setText("label");
label.setHorizontalAlignment(Label.LEFT);
pane2.add(label);
pane2.add(textField);

JXTaskPane pane3 = new JXTaskPane();

JLabel label2 = new JLabel();
label2.setText("label2");
pane3.add(label2);
pane3.setTitle("pane3");
label2.setHorizontalAlignment(JXLabel.LEFT);
panel.add(pane2);
panel.add(pane3);
showThis();
В итоге, два диалога pane2 и pane3 выводятся рядом. Я хочу, чтобы они выводились один под другим. Пытался ставить выравнивание по левому краю в дayout manager-е - они выводятся у правого края родительской панели, но все равно один справа от другого. Что мне могут посоветовать коллеги?

Заранее спаисбо.
Tuesday, January 10th, 2017
7:13 pm
[m_f]
Вопрос по JNI
Пытаюсь запустить java-ское приложение из-под eclipse. При старте оно пытается подгрузить jni библиотеки. Получаю exception-ы вида:
java.lang.UnsatisfiedLinkError: /home/user/workspace/myapp/extlibs/linux64/libsecond.so: libfirst.so: cannot open shared object file: No such file or directory
При этом я вижу в том же каталоге, что и libsecond.so, файл libfirst.so. У него есть права на исполнение. В чем может быть проблема? Ubuntu, eclipse.
Wednesday, December 28th, 2016
9:19 pm
[m_f]
Вопрос по swing, ,часть 2
В общем, с помощью полученных советов у меня получилось нарисовать tree view. Проблем теперь две
1. Контрол для редактирования не переключается обратно, на контрол для показа.
2. Когда я все-таки вышел обратно, нажав Esc, данные не поменялись на отредактированные.

Заранее благодарен за советы.
Monday, December 26th, 2016
8:27 pm
[m_f]
Вопрос по java(swing)
Есть такой класс JTree. Как я понял, он предназначен для отображения иерархической tree view. Он позволяет заменять всякие пошлые иконки нормальными человоеческими вью, с возможностью их редактировать. Но я не вполне понимаю как сделать так, чтобы разным итемам соотвтетствовали вью разных типов. Скажите, это вообще возможно? Если да, то как это сделать, если CellEditor устанваливается один раз для всего tree?

Заранее благодарен
Saturday, December 24th, 2016
10:16 am
[saotome_kun]
Оптимизация функции на С++ STL
Побывал на днях на собеседовании (С++) и дали там задание оптимизировать функцию типа такой.

Employee findEmployee(vector< Employee > data, string addr) {
  for (auto it = data.begin(); it != data.end(); it++) {
    if (it->m_addr == addr)
      return it;
  }
}


Что я перечислил:

  • изменение асимптотической сложности на O(log(n)) c map или на O(1) с unordered_map, если память позволяет, но оказалось, что алгоритм менять не предполагается;

  • передача входных и выходных параметров по ссылке;

  • замена it++ на ++it;

  • вынос конечного итератора в константу const auto itend = data.end() и сравнение итератора с ней.


Но от меня ждали чего-то еще. Я добавил пункт про возможность оптимизации сравнения строк путем сравнения типов данных более широких чем char, исходя из разрядности целевой платформы.
И все. Но от меня ждали чего-то еще. Напишите пожалуйста, если знаете или догадались что именно? Я в непонятках.
Thursday, December 8th, 2016
10:32 pm
[nicka_startcev]
svg
а подскажите люди добрые, чем парсить svg?

что хочется получить: хочется руками не очень вникая в устройство того svg, что выдает инкскейп, получить "программу" для репрапа на языке г-код, который, по сути, состоит из "задать толщину линии, температуру головки/подложки, скорость; дождаться прогрева; тупо подряд отрисовать набор отрезков, в каждом выдавая еще и 4ю координату - подачу пластка".

давным-давно находил и правил какую-то питоновскую приблуду для фрезера, а не репрапа, но там было две проблемы
1. у фрезера нет 4й координаты - подачи пластика. приходилось считать руками
2. инкскейп иногда выдает очень странные файлы, в которых что-то не то и радкально не так интерпретируется.

ну или подскажите похожий плагин к инкскейпу. под переделку.

и да, нужен именно вектор. при растеризации через слайсер вечно идут проблемы с "ажурными решетками" и прочими кружевами, когда в ширину линии получается не 2 или 3, а 2.5 колбаски и щель между ними.
Friday, November 4th, 2016
3:59 am
[m_f]
вопрос по C++
Мне немного стыдно за такой тупой вопрос, но я что-то не соображу, как быть.
Есть чисто виртуальный класс Base с чисто виртуальным методом, например void func(). От него унаследован класс Derived, где этот метод определен. Есть метод в некоем классе, который берет vector<Base>.

Вопрос: как скормить этому методу vector<Derived>?
Friday, October 28th, 2016
7:23 pm
[m_f]
Вопрос о boost(C+)
Краткое содержание предыдущих серий: в предыдущем посте меня убедили использовать boost.
Я подключил в свой проект boost/filesystem, добавил параметр -lboost_system и пытался его построить. В ответ была получена ошибка cannot find -lboost_system. Предварительно я построил boost и добавил фолдер D:/boost1_62 в пути для линкера. Как я понимаю, гду-то должен быть файл libboost_system.o, но я его нигде не нашел.
Вопрос: что я делаю не так и как это исправить?
UPD. Решено. Оказывается, реально оно называется не boost_system, а boost_system-mgw49-mt-1_62.
Monday, October 24th, 2016
3:36 pm
[m_f]
вопрос по C++
Вопрос, чтобы не изобретать велосипед. Вот в Java есть прикольный класс File, сс помощью, которого, в частности, можно переходить от абсолютных путей к относительным. А есть что-нибудь подобное в C++? Я, конечно, могу и свой велосипед написать, но вдруг оно уже есть.
Thursday, October 20th, 2016
11:18 pm
[nicka_startcev]
gnu plot
а подскажите люди добрые как гнуплот готовить

1. есть у меня в квартире куча термодатчиков. иногда они долго показывают одну и ту же температуру, тогда гнуплот начинает ворнинговать, что по оси У ноль, всё плохо. как задать именно разность температур, а не диапазон?
2. можно ли тупо подавить этот ворнинг, не давя другие?
3. гнуплот любит красиво ставить метки далеко друг от друга. можно ли заставить его ставить метки в 4 раза чаще? не через каждые 1/16 градуса, а именно в 4 раза чаще, чем по умолчанию?

а может стОит заменить гнуплот чем-то более удобным? на входе текстовый файл в формате "дата время т1 т2 т3 т4" или "дата время т1" из которого хочется видеть график температур в виде картинки (чтоб отобразить на вебстраничке), и это сидит в крон(таб)е.
Monday, October 17th, 2016
3:26 am
[m_f]
Вопрос по STL(C++)
Допустим, есть multimap<string, int>. Как грамотно просуммировать все значения? Как пробежать все значения? Я спрашиваю именно про multimap. С обычным map-ом никогда проблем не было, а mutlimap использовать не приходилось.
Заранее спасибо.
[ << Previous 20 ]
RU PROGRAMMING   About LiveJournal.com