INT 21h

Домашняя страница самого страшного прерывания

Деревня Беляй. Не спрашивайте зачем они так сделали.

№ 8153 В разделе "Смехуечки" от June 30th, 2016,

Image0130.06.16 4-46-54 KRAT

Нет комментариев »

Как помыть термос нормальным не бабским методом быстро и хорошо

№ 8146 В разделе "О жизни" от June 3rd, 2016,

Приехали с отдыха и забыли о термосе на месяц? Бедаа) Всякие бабские сайты советуют сыпать то антинакипин, то пол кило лимонной кислоты, то пачку соды и херачить его по несколько дней подряд в этой жиже. НАХЕР все это. Идете в любой хозяйственный, покупаете за 50 рублей ершик, отхерачиваете ручку и насаживаете на дрель (чтоб оборотов было дофигище, шуруповерт так не может). Немного воды, мыла и херачите пару минут. Если необходимо, то финальную шлифовку можно сделать с помощью самой дешевой зубной пасты.

Jpeg

Jpeg Jpeg

Нет комментариев »

sqlite3socket – Сервер для предоставления неблокирующего доступа к sqlite3 базе данных

№ 8134 В разделах: Администрирование Программирование от April 4th, 2016,

Эта программа написана мной чтобы конкурирующие процессы не натыкались на блокировку базы даннных в sqlite3. Используется на репитере нашего городского автоканала как альтернатива слишком громоздкому для таких целей mysql. Можно организовать доступ как по сети (с биндингом к сетевому интерфейсу), так и через unix socket файл.

http://dev.blindage.org/projects/sqlite3socket

Программа написана на python3. При запуске блокирует файл базы данных и все последующие обращения к нему происходят только по сети. Класс betterSocket расширяет класс socketserver для предоставления более быстрого интерфейса, чем через TCP, но всегда можно переключиться обратно просто изменив переменную конфигурации. У каждого обращения есть собственный хендлер к БД, но хендлер самой БД для всех одинаковый. Это позволяет тредам иметь неблокирующий доступ к данным.

class DB:
    def __init__(self, confDB):
        self.db = sqlite3.connect(confDB)

    def fetchall(self, query):
        dbcursor = self.db.cursor()
        dbcursor.execute(query)
        return dbcursor.fetchall()


class s3socket(socketserver.BaseRequestHandler):
    def handle(self):
        self.data = self.request.recv(1024).strip()
        try:
            sql = self.data.decode('UTF-8')
            sqlresult = dbHandler.fetchall(sql)
            answer = ['result', sqlresult]
        except sqlite3.Error as er:
            answer = ['error', er.args[0]]

        self.request.sendall(bytes(json.dumps(answer, ensure_ascii=False), 'UTF-8'))

Все SQL запросы отправляются простым текстом, а ответ приходит массивом в JSON. Возврат объекта пока еще не реализован, но планы имеются. Настройка происходит очень просто:

Взаимодействовать с БД очень просто. Можно даже на bash. Примеры можно посмотреть в wiki.

Нет комментариев »


Комментарии
  • 21h: понятия не имею. гуглите инструкцию к вашей радейке и сверяйтесь с ней.
  • Денис: хочу их подружить с uv5r
  • Денис: t-388 walkie talkie на эти шпаргалочек нет,или как приминить ваши к их настройке?
  • John: Стекла для электроник – техночас.ру
  • 21h: не думаю, что прокатит. там вроде часть железок другая была.
  • alex: Извини может вопрос глупый но все же хочеться уточнить на sensetion xe тоже прокатит или как? И еще один вопрос...
  • Евгений: Спасибо! Бумажку потерял, нигде не мог найти.
  • 21h: ну конечно не надо :)
  • виктор: Спасибо за видео и шпаргалки ! Очень познавательно , но возникает вопрос : есть 2 воки-толки ну совсем уж из...
  • 21h: не считал конечную цифру. не думаю, что больше 10 ватт\ч.