LINUX.ORG.RU

Сообщения Closius

 

Специалист по языку Modelica

Форум — Job

Приветствую!

Ищется человек обладающий опытом работы с языком Modelica.

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

Возможна работа по договору подряда. Можем работать с компаниями также по офиициальному договору. Все оффициально.

ant.kavalerov@gmail.com

С уважением, Антон

 ,

Closius
()

Ограниечние размера в PyQt5, QVBoxLayout

Форум — Development

Доброе время суток.

Не могу понять как в PyQt5 делать ограничения размеров в лэйаутах. QtDesigner делает мне все отлично, но когда делаю руками, повторяя все что делает дизайнер - нихрена не работает! Более того бывало что вдруг заработает а потом опять не рабоатет. Магия какаято!

Объясните плиз как сделать вот такую штуку:

Картинка

То есть есть картинка под ней надпись. Эти объекты не должны изменяться при растяжении окна.

Дальше под этим делом есть горизонтальный лэйаут в нет два вертикальных и там уже мног очего напихано..

Файл с интерфейсом:


# -*- coding: utf-8 -*-

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Form(object):
    def setupUi(self, Form):
        self.title = 'Test'
        self.left = 10
        self.top = 10
        self.width = 300
        self.height = 300
        Form.setWindowTitle(self.title)
        Form.setGeometry(self.left, self.top, self.width, self.height)

        self.verticalLayout = QtWidgets.QVBoxLayout(Form)
        # self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)

        self.logo_lable = QtWidgets.QLabel(Form)
        pixmap = QtGui.QPixmap('image.jpeg')
        self.logo_lable.setMaximumHeight(pixmap.height())
        self.logo_lable.setPixmap(pixmap)
        # self.logo_lable.setSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
        self.verticalLayout.addWidget(self.logo_lable)

        self.menu_path_label = QtWidgets.QLabel(Form)
        self.menu_path_label.setText("Menu Path")
        self.menu_path_label.setMaximumHeight(self.menu_path_label.height())
        self.menu_path_label.setMinimumHeight(self.menu_path_label.height())
        self.verticalLayout.addWidget(self.menu_path_label)


        self.horisontalLayout = QtWidgets.QHBoxLayout()
        self.buttons_layout = QtWidgets.QVBoxLayout()
        self.catalog_layout = QtWidgets.QVBoxLayout()

        self.verticalLayout.addLayout(self.horisontalLayout)
        self.horisontalLayout.addLayout(self.buttons_layout)
        self.horisontalLayout.addLayout(self.catalog_layout)

        self.pushButton_00 = QtWidgets.QPushButton(Form)
        self.pushButton_01 = QtWidgets.QPushButton(Form)
        self.pushButton_02 = QtWidgets.QPushButton(Form)
        self.pushButton_03 = QtWidgets.QPushButton(Form)
        self.pushButton_04 = QtWidgets.QPushButton(Form)

        self.buttons_layout.addWidget(self.pushButton_00)
        self.buttons_layout.addWidget(self.pushButton_01)
        self.buttons_layout.addWidget(self.pushButton_02)
        self.buttons_layout.addWidget(self.pushButton_03)
        self.catalog_layout.addWidget(self.pushButton_04)


Ну и как запускаю:


import sys
from PyQt5.QtWidgets import QApplication, QDialog
from ui import *


class App(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Form()
        self.ui.setupUi(self)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    ex.show()
    sys.exit(app.exec_())

 ,

Closius
()

Регрессия нескольких уравнений с условиями

Форум — Development

Добрый день!

Я в математической статистике не силен, но надо реализовать одну штуку.

Есть входные данные (оранжевый цвет). Я делаю Curve fitting используя numpy.polyfit с порядком полинома 30 степени (зеленый цвет).

Рисунок 1

Как видно из Рисунка 1 имеются осциляции в начале графика. Мне надо их избежать. Уменьшая порядок полинома появляется плохое совпадение с входными данными.

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

Рисунок 2

Как видно между функциями имеется разрыв. Этот разрыв можно устранить добавив граничное условие по равенствe значений граничащих функций и их 1-й и 2-й производных (для гладкости и монотонности).

Вопрос: Как такой алгоритм можно реализовать используя numpy и scipy?

 , , ,

Closius
()

Fortran String to Array of Int

Форум — Development

Есть строка с=«[23,87,43,987,1,543]»

надо ее преобразовать в массив целых чисел.

Как это можно сделать в фортране?

И еще вопрос:

Какова максимальная длинна аргументов (длина строки аргументов) при вызове прогаммы из командной строки виндовз?

 ,

Closius
()

Fortran: Char to Int

Форум — Development

Немогу понять как преобразовать строку «113» в целое число 113

Получаю через get_command_argument получаю аргумент командной строки и мне надо его в интеджер преобразовать

a = ichar(cmd_arg)

для случая когда cmd_arg=«113» мне возвращает число 49

Помогите плиз

 

Closius
()

Fortran Python

Форум — Development

Есть крутая прога для инженерных расчетов, эта прога выдает большой файл (порядка 200Гб, а то и пару терабайт) с результатами(бинарник).

У этой проги есть API для работы с файлами результатов. На Фортране.

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

Кароче, надо как-то из питона вызывать фортан.

Я придумал фортраном вытаскивать результаты в бинарник и потом работать с ними. Вот

 ,

Closius
()

Считать массив из бинарного файла

Форум — Development

Есть код на фортране, он создает бинарный файл, в котором содержится двумерный массив из real значений.

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

Могу дополнительно выводить в бинарный файл размер массива.

Как такое можно сделать?

 ,

Closius
()

Обратная функция

Форум — Talks

Работаю с python (scipy, numpy).

Есть у меня функция y = f(x). Мне надо найти x, при котором производная y' = a.

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

Перемещено tailgunner из science

 , ,

Closius
()

Найти минимум функции заданной как массив точек

Форум — General

Как найти минимум функции заданной как массив точек использую python (numpy, scipy)?

 ,

Closius
()

Скрапинг сложного веб ресурса

Форум — Web-development

Добрый день.

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

Есть сайт https://www.triptogether.com

Есть список людей. При нажатии на аватарку появляется больше инфы.

http://i11.pixs.ru/storage/5/4/9/ScreenShot_7358063_22651549.png

http://i11.pixs.ru/storage/5/5/2/ScreenShot_6103743_22651552.png

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

Сайт довольно сложный (по моим меркам), все динамическое.

Соскрапить пользователей то еще можно (длянный html с понятной ращметкой что где есть). А вот что к каждому зайти и взять оттуда инфу - это я не понимаю как.

Вопрос: Какие инструменты и методики можете подсказать?

 , ,

Closius
()

Получение поверхностей в завтсимости от z-buffer

Форум — General

У меня есть 3d модель. Например кубик в котором есть глухое отверстие (произвольной формы). Вся модель наклонена. Таким образом видно только часть отверстия.

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

На самом деле это только часть задачи. Основная задача: есть кубик и в нем отверстие типа тоннеля, то есть оно загибается. Надо получить обрезанные поверхности(или поверхность) только видимой части с ЛЮБОЙ точки зрения. То есть мы смотрим на этот кубик и как бы мы его не рассматривали наш взгляд не может завернуть за угол. Вот все что мы увидим надо запихнуть в результат.

Есть идеи?

 , ,

Closius
()

nginx автоопределение .html

Форум — General

Как настроить nginx чтобы при запросе на любую страницу типа https://example.com/kokoko перебрасывало на https://example.com/kokoko.html ?

при этом могут быть ресурсы которые ненадо перебрасывать (если нет такой страницы)

 

Closius
()

WOW.js лицензия

Форум — Web-development

есть такая либа http://mynameismatthieu.com/WOW/#pricing

Она позволяет запускать анимацию при появлении ее в зонев идимости при скроллинге страницы. Ну и там много анимашек разных.

Вопрос: Стоит ли покупать лицензию и как осуществляется проверка, что на моем сайте будет лицензионная либа?

Может есть бесплатные аналоги?

 , ,

Closius
()

Продакшен и тест application на iOS

Форум — Web-development

Мой друг и я разрабатываем что-то типа социальной сети для мобильных устройств (пока что iOS). Я делаю бекенд (Django, Tornado), друг фронтэнд. Архитектура взаимодейстия REST, а также юзаем вебсокеты.

На бекенде есть два эндпоинта: - developer. Своя БД, свой эндпоинт, обычный http. (возможно тоже стоит юзать https, чтоб был идентичный сервис) - production. Своя БД, свой эндпоинт, секьюрный https.

Делаем правки, фиксим баги, разрабатываем новый функционал на девелопере, тестируем (об этом вопрос), заливаем на продакшен ветку на гит и оттуда пулим на продакшен сервер.

Вопрос: Какие есть лучшие практики для создания двух отдельных клиентов? Девелопер клиент - доступный только разработчикам (сейчас работаем через test flight) и продакшен - лежит на апсторе.

 , , ,

Closius
()

Ноутбуки с экраном с высоким ppi

Форум — Linux-hardware

Добрый день.

Какие на данный момент существуют ноутбуки, у которых ppi на уровне MacBook Pro (порядка 220) ?

Я нашел HP Spectre только..

Конечно желательно уложиться в 80к рублей :)

EDIT:

бюджет сказал условно. Но желательно не больше 100к.

HP Spectre - хрень! Пиксели видно. Тачпад люфтит. И кнопка подсветки клавиатуры все время горит (причем криво).

DELL XPS 13 - Ахрененный экран! Мой глаз может различить пиксели (прям пристально смотрю в угол экрана) даже на Mac Book Pro Retina, но на DELL я реально их не видел. Но он дорогой и пластиковый (окей, карбоновый).

Asus UX305UA 13" разрешение 3200x1800 на процессоре i7 6500U - пикселей не видно, но чет не понятно. + напрягает, что когда открываешь экран, то ноут стоит на нижней кромке экрана (приподнимается). Если б не эта особенность то 100% взял бы его, а так еще думаю.

Lenovo - мое отношение к этому бренду не очень..

Что скажете?

 ,

Closius
()

Строение БД вконтакте

Форум — Security

Добрый день.

Вопрос конечно риторический, так как на него могут ответить ток разработчики вк, но вдруг..

Мне интересны несколько вопросов про Вконтакте:

1) Хранят ли они верисии всех изменений (например ввел один статус, потом поменял - все это хранится ?)?

2) Удаляются ли там фотографии из БД? Например загрузил я фотку, потом удалил. Она когда-нибудь удалится с бд или навечно там останется?

3) Удаляются ли аккаунты там когда нибудь из БД или навечно остаются в БД?

 , ,

Closius
()

Переносные жесткие диски с шифрованием

Форум — Security

Кто нибудь юзает western digital My Passport Ultra ?

http://m.wdc.com/en/product/1490

Их защита реально хардварная? И на сколько она хороша?

Или может что еще посоветуете по теме?

 , ,

Closius
()

Передача сообщений между независымыми процессами

Форум — Development

Добрый день.

Пишу на питоне. Запускаю два процесса по одному, то есть одни не связаны(не поорождены). Как между ними обмениваться данными?

 

Closius
()

Python shared memory

Форум — Development

Добрый день.

У меня есть сервер для websocket, написанный на Tornado. В нем я определяю глобальный словарь в котором хранятся подключаемые юзеры.

...
# Создаю глобальный словарь
client_dict = {}

class MessagesHandler(tornado.websocket.WebSocketHandler):
        ...
    def open(self, v):
        ...
        # Запихиваю в словарь user_id: self, чтоб потом можно было его юзать для отдачи ответа 
        client_dict.update({self.user_id : self})
		...

    @tornado.gen.coroutine
    def on_message(self, mess):
        ...
        # Посылаю сообщение нужному юзеру, которого беру из словаря
        for k, recipient_wsconnection in client_dict[recipient_id].items():
            recipient_wsconnection.write_message('Ko ko ko')
    ...
...			

Все отлично работало пока не настало время это дело в продакшен нести.

При помощи supervisord я создаю несколько процессов этого сервера на разных портах. И при помощи nginx проксирую их во внешний мир.

И как можно догадаться адресное пространство разное и поэтому мой глобальный словарь работает только в том процессе в котором он был создан. (для меня было сложно, так как раньше я с этим дело не имел) То есть если один пользователь создан в одном процессе а другой в другом, то передавать сообщение между ними нельзя.

Вопрос: Как мне создать один глобальный массив для всех процессов?

 , ,

Closius
()

Прослушать порт

Форум — Admin

Добрый вечер.

У меня есть асинхронный сервер (на Tornado, python). Он работает на определенном порту. В нем реализованы websocket.

Далее этот сервер через прокси (nginx) сообщается (и оборачивается в tsl) с внешним миром.

Я хотел бы узнать что приходит и уходит с этого порта? Хотя бы вообще моменты активности. Хоть байты, не важно.

Как это сделать?

 

Closius
()

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