LINUX.ORG.RU

Сообщения pisipu

 

Как создать синглтон в Yii2?

Собственно класс A extends \yii\base\Object.

Писать внутри класса A метод getInstance, то есть делать синглтон, как в чистом пхп, не хочется, т.к мне кажется, что yii2 уже должен иметь способ создать объект одиночку.

Только вот как?

 ,

pisipu
()

Что такое токен и где его хранить?

Токен - это ключ, с помощью которого можно получить доступ к ресурсу. Правильно?

У меня заказ на сервис, к которому нужно иметь доступ через api. Как реализовать токен?

Я считаю, что токен это аналог куки сессии. Правильно? Если правильно, то могу ли я использовать этот факт в своем приложении. Разница будет лишь в том, что значения кука (то есть уже токена) буду передавать в отдельном заголовке.

Как токены реализованые в ваших проектах?

 , , ,

pisipu
()

Как хранить токены?

Есть вариант хранить токены в базе данных, но нужно будет запускать крон, на удаления устаревших токенов. Плюс ко всему скорость доступа к базе данных ниже чем к memcache или redis (правдe пишу?).

Если бы это был просто сайт, то можно было бы хранить в сессии, а так я разрабатываю api. Соответственно нету куков, к которой привязать сессию.

Как быть? я склоняюсь к тому, чтобы хранить в redis. Плюсы, минусы?

 ,

pisipu
()

Как создать серверную авторизация через OAuth в Zend Framework 2?

Перерыл кучу сайтов, нашел только client oauth на zf2 (то есть авторизацию с помощью oauth через twitter, facebook ...).

А мне нужно, чтобы это было на моем сервере, то есть server oauth.

Подскажите, пожалуйста, такую библиотеку для zend 2.

 , , ,

pisipu
()

Создания програмных модулей в Python

Речь идет не о пакетах подключаемых через import, а о полноценных программных модулях. Например под апач есть много модулей. Хочу чтобы приложения состояло с модулей, каждый с которых можно включить или отключить. Грубо говоря, есть ядро и вокруг него крутятся модули.

Как такое реализовать в питоне? Можно пример? Как модули отразятся на перформенсе?

 

pisipu
()

Как вызвать Python функцию из С++?

Схематический код:

#python
def callback(data):
    print(data)

cpplib.function(callback)

#c++
void function(py_callback) {
   for(int i = 0; i <= 1000; ++i) {
      if (i % 5 == 0) py_callback(i);
   }
}

cpplib - это обертка над питоновским сtypes.

Как видно из питона вызывается функция из С библиотеки, которая при возникновении определенного события вызывает функцию, переданную в ей в качестве аргумента.

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

Как быть?

 ,

pisipu
()

Как записать следующие строки на Python 3?

si = file(os.devnull, 'r')
os.dup2(si.fileno(), sys.stdin.fileno())

Пишет, что функция file не найдена, но в примере она есть

 ,

pisipu
()

Сколько существует терминалов в линуксе? и как они называються?

Знаю, что есть терминал, когда нет графической оболочки. Есть терминал в окне... какие еще есть? Возможно они еще разбиваются на какие-то терминалы?

В универе был вопрос: «Какие Вы знаете терминалы в линуксе? и как в них попасть?»

 

pisipu
()

Индекс начала getopt_long

Вызов: ./program param -s value --user value2.

Чтобы разобрать аргументы использую getopt_long. Первый параметр (param) обязательный и его я получаю без getopt_long. Следующие уже через ее. Но эта функция начинает парсить аргументы начиная с program, чего мене не нужно.

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

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

 

pisipu
()

cmake и папка с исходниками.

-project
--sourses
--CmakeList.txt

Собственно в CmakeList.txt есть повторения:

add_executable(Project1 ${SOURCE_FILES}
    sourses/File1.cpp sourses/File1.h
    sourses/File2.cpp sourses/File2.h
    ...
)

Все исходники лежать в папке sourses, которая не есть подпроектом, модулем и т.д. Просто все лежит в папке sourses. Как правильно избежать повторений sourses/ в add_executable?

Хотелось бы чтобы можно было писать:

add_executable(Project1 ${SOURCE_FILES}
    File1.cpp File1.h
    File2.cpp File2.h
    ...
)

 ,

pisipu
()

Как переместить элементы массива?

class Container_2 {
   std::string key,
   std::map<std::string, int> value
}

class Container {
   //хранить в себе много данных типа Container_2 
}

Собственно, что лучше использовать для хранения Container_2 *: list, vector, std::array, простой массив Container_2 *? Последний вариант конечно лучше в плане доступа до элементов.

Но чтобы добавить элемент в массив типа Container_2 * нужно создать новый массив размером на 1 больше и перекопировать в него все с первого массива, удалив затем начальный массив. Можно ли переместить элементы через &&? Пример?

 

pisipu
()

Как перенести cmake.txt на каталог ниже в clion?

Сейчас cmake.txt лежит в корневой папке проекта:

-project_folder
--folder1
--folder2
--file1
--file2
--cmake.txt

Я хочу перенести все, что сейчас в project_folder, еще в одну папку

-project_folder
--new_folder
---folder1
---folder2
---file1
---file2
---cmake.txt

После чего проект перестает запускается, так как cmake.txt должен лежать в корневой папке. Как переместить его в new_folder?

 ,

pisipu
()

Структура проекта

Как организовать структуру файлов, папок проекта?

project
-src
--main.cpp
--folder1
--folder2
-cmakelist.txt

Но мне жутко такая структура не нравится. Возможно вы подскажите структуру проектов какая у вас на работе или со своего опыта.

 

pisipu
()

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