LINUX.ORG.RU

Избранные сообщения b0c0813f

Планшет, солома и глина

Галерея — Рабочие места

Собственно вот что бывает если основной домашний ПК - планшет.

  • Крепление: гов^Wавтомобильное крепление от HTC Artemis и пара струбцин;
  • Клава: Sony PS3 Wireless Keyboard (внезапно оказалась самым дешевым вариантом да еще и с клитором);
  • Мышь: Microsoft Wedge Touch Mouse (второй купленный продукт от M$. Первым был бюджетный телефон Nokia);

 

exception13
()

Restful API - получить только n - первых записей

Форум — Web-development

Всем привет!

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

/service/api/v1/entries/ - все записи
/service/api/v1/entries/n - n-я запись

Нужно получить первые десять записей.

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

Подумал я так и решил в цикле от 1 до 10 получать по одной записи:

var i = 1;

for (i; i < 11; i++) {
    $.ajax({
        method: "GET",
        url: "/service/api/v1/entries/" + i + "/",
        dataType: "json",
        success: function(response) {
            ...
            console.log(response);
        }
        ...
    });
}

Но в таком случе данные прихоядт непоследовательно (друг за другом), а в разнобой, например, сначала приходит запись с id=1, потом с id=7, потом с id=3 и т.п.

Посему вопроc: как используя асинхронныю функцию ajax() получать даные четко последовательно, одно за другим? Есть какие-нибудь best practices?

 , ,

djnoob
()

Вышел Python 3.0 final

Новости — Open Source
Группа Open Source

Третьего декабря вышла долгожданная версия Python 3.0 (a.k.a. Python 3000 или Py3k).

Новая версия языка не является обратно совместимой с Python 2.x, но сама концепция языка сохранилась. Удалено множество устаревших элементов языка. Переработана стандартная библиотека. Добавлена поддержка unicode в стандартный строковый тип str.

>>> Подробности

 ,

insa
()

Websocket бэкенд на Qt. мультипроцессный и многопоточный с балансировкой нагрузки и масштабированием.

Форум — Development

Нужно обрабатывать большое количество очень коротких сообщений. Планируется работа бэкенда только под Linux. Очень привлекает скорость разработки и простота и удобство. Какие мнения? Спасибо.

 , ,

sdbrother
()

Покритикуйте резюме

Форум — Job

http://hh.ru/resume/68a1296bff026e20c00039ed1f576779385768

Образование, телефон, почта - фейковые.
Знакомых нативов из ИТ-отрасли нет.

Модераторам: Я правильный раздел выбрал или в talks?

 ,

trofk
()

Qt 5.4.1 приложение чтобы запускалось на LiveCD

Форум — Development

Вот для маздая есть в комплекте Qt нечто по имени windeployqt - с ним стало в сто раз проще - оно наваливает все нужные библиотеки в папку с программой.

Но есть ли подобное для Linux? Чтобы как минимум Qt-шные библиотеки накидались в папку с бинарем в том составе чтобы это приложение можно было тупо запустить на LiveCD с флэшки?

 , ,

I-Love-Microsoft
()

ООП true way

Форум — Web-development

Приветствую. Существует некая веб-страничка. Она получает данные с сервера через AJAX/WebSocket (способ не важен) в виде JSON-строки следующего вида.

Для авторизованных пользователей:

[{"id": 1, "name": "Худ. литература", "typed": 123040, "averageSpeed": 43420}]

Для неавторизованных:

[{"id": 1, "name": "Худ. литература"}]

Теперь к вопросу. Меня перестал устраивать просто расшифрованный JSON-массив с объектами (понадобилось создать интерфейсы к этим данным) и захотелось вынести эти данные в отдельный тип Category.

Я столкнулся с проблемой: как быть с полями для авторизованных пользователей? Ведь их не должно быть у неавторизованных.

Накидал пару решений:

1) сделать конструктор которому необязательно передавать эти два поля (для гостей).

2) сделать разные сущности вроде UserCategory (который содержит эти поля) и AnonymousCategory (который не содержит).

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

Какой способ лучше на ваше мнение? Может вы можете предложить что-то другое? Буду рад выслушать, спасибо! (=

 ,

Razip
()

REST-сервер на python3

Форум — Web-development

посоветуйте web-фреймворк для сабжа, чтоб ничего лишнего

 , ,

MyTrooName
()

Правильная архитектура программы в Python

Форум — Development

Написал достаточно большую программу на Python 3 (на данный момент все оформлено в виде одного большого main.py). В ней почти все состоит из функций, подгружается достаточно много внешних модулей. Программа нелинейная, и, в зависимости от задачи, в разном порядке может производить разные действия.

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

from main import some_function
но есть одна заковырка. Мне необходимо увеличить скорость импорта из главного модуля. При этом возникают следующие вопросы:

1) Что делать с внешними модулями (os, sys, difflib, pyperclip, zipfile, rarfile, pyunpack, codecs, re, time, shutil, webbrowser...)? Если подгружать все сразу, то даже импорт какого-нибудь примитива из главного модуля займет несколько секунд из-за подгрузки всех внешних модулей. Если же подгружать модули в случае необходимости, то, во-первых, как проверить их существование на самом старте и сообщить об этом, а не ловить ошибки посреди работы, а во-вторых, придется во все функции вставлять import, что не очень хорошо хотя бы потому, что одни и те же модули могут загружаться несколько раз (хотя я и не знаю, как это реализовано, может, python умный и не делает импорт из тех же самых модулей по нескольку раз).

2) Программа использует кучу глобальных переменных, которые подгружаются из внешнего файла посредством parser.get (.getint, .getfloat и т.д.). Возникает такой же вопрос, как и с модулями. Кроме того, как мне объявлять эти переменные? Просто в теле главного модуля? Тогда каждый мало-мальский импорт из главного модуля потребует наличия конфигурационного файла. А если в виде функции, то как сделать загружаемые из конфига переменные глобальными? Большинство переменных нужны на чтение, но некоторые нужны и на запись. Бывалые питонисты не рекомендуют использовать global. Кроме того, рекомендуется объявлять переменные явно, а не через exec и eval, потому что это угроза безопасности. Но при этом опять оказывается необходимым тащить с собой конфиг.

3) В каждой функции, чтобы иметь возможность контролировать ее результат, я использую логирование. Логирование также может использовать внешние модули (например, os), а также некоторые глобальные переменные (на чтение). Что с этим делать? Поставить заглушку, если условие if __name__ == '__main__' не выполняется?

4) Я не особо опытен, программирую на питоне год или полтора для собственных нужд. На данный момент весь код стремлюсь оформлять в виде функций. Нужно ли переходить на классы или это просто разные парадигмы?

 

Deleted
()

Неравномерность научно-технического развития

Форум — Science & Engineering

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

Однако, условия южных стран тоже нельзя назвать вольготными. В Африке фауна опаснее, чем в Швеции. Все эти пауки и мамбы не добавляют жизненного комфорта, даже при наличии понимания, что они необходимая часть экосистемы. Мясо в Эфиопии хранить проблематичнее, чем в Швеции. Однако, холодильники делают в Швеции, делают ли их в Эфиопии? Джунгли - инкубатор для смертоносных вирусов типа эболы. К тому же, взамен зимнего холода другая проблема - перманентная жарища, при которой нельзя работать весь день, т.е. и в африканских условиях тоже нужно планирование труда. Т.е. также среда обитания является враждебной по отношению к сапиенсам, а некоторые проблемы (типа эболы) для борьбы с ними требуют бОльших интеллектуальных усилий, чем постройка тёплой хижины, и которые в силу своей непосредственной и очевидной смертельной опасности должны бы по идее создавать бОльшую мотивацию для борьбы с ними.

Т.о., в одном случае мы имеем причино-следствие «суровая среда -> исследование и разработка -> обуздание природы -> развитие», а в другом - «суровая среда -> уход от решения проблемы -> уйх». Почему такая асимметрия?

 ,

seiken
()

Невосприимчивость к деталям в обыденных вещах

Форум — Science & Engineering

Ознакомиться с исследовательской статьёй можно тут http://www.tandfonline.com/doi/full/10.1080/17470218.2014.1002798#abstract

Узнать что твоя личная память весьма абстрактна и не запоминает детали можно, пройдя тест http://gnodevel.ugent.be/memory-logo/

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

 , ,

fornlr
()

Сайты, конгресс, наркомания

Форум — Desktop

Почему web не унифицирован? Вот было бы на каждом сайте, например, xml-видное представление каждой страницы.. Заголовок, контент, прочие значения полей аля кол-во просмотров, дата и т.п. Зачем? Унификация, не всем хочется лицезреть фантазию дизайнера сайта, не все хотят видеть вырвиглазные кастомные шрифты, не все хотят любоваться графическими элементами интерфейса, ставшими жертвами оптимизаций. Даже крупные корпорации допускают оплошности, что уж там об остальных быдлокодерах? Все дружно смотрим на иконку поиска и логотип. Сейчас популярны различные читалки, которые парсят страницы, но не все можно спарсить - зачем усложнять жизнь своим же пользователям? Все дают готовую концепцию своего видения сайта, но не всем она может понравиться - зачем заставлять страдать? Интернет - это прежде всего инструмент для получения информации, так сделайте ее получение удобным. Почему во всем известном конгрессе не видят простую истину? Вместо такой унификации они влепенели дополнительные теги, которые не решают полностью проблему, но зато поддерживаются только в современных браузерах. Вот не нужна мне ваша шапка сайта, почему я должен ее загружать и скрывать css правилами, нагружая свой процессор? Зачем мне ваши мега крутые штуки на js, если при отключенном js сайтом невозможно пользоваться?

 , ,

zusazo
()

Google открыла внутреннюю систему сборки — Bazel

Новости — Google
Группа Google

Основные возможности

  • Поддержка разных языков программирования: Bazel поддерживает Java, Objective-C и C++, а также может быть расширен для поддержки других языков.
  • Высокоуровневый язык конфигурирования сборки: проекты конфигурируются с помощью языка BUILD-файлов, в компактном текстовом формате, который описывает проекты как наборы небольших, взаимосвязанных библиотек, исполняемых файлов и тестов. В отличии от Bazel, Makefile, например, содержат описания конкретных файлов и параметров запуска компилятора.
  • Поддержка множества платформ: один и тот же инструмент используется для сборки ПО для различных архитектур и даже разных платформ. Google использует Bazel для сборки как серверного ПО, так и клиентских приложений на мобильных телефонах.
  • Воспроизводимость результатов: в BUILD файлах каждая библиотека, тест или исполняемый файл прямо указывают свои непосредственные зависимости. Bazel использует эту информацию, чтобы определять, как пересобирать двоичные файлы и параллельно выполнять тесты. Это означает, что все сборки инкрементальны и приводят к одинаковым результатам.
  • Масштабируемость: Bazel легко справляется с большими сборками. В Google достаточно часто серверные приложения занимают 100k строк кода и сборки ветки без отличий от кода основного репозитория могут занимать около 200 мс.

( Почему не ... )

>>> Подробности

 , , ,

vertexua
()

systemd In Action, part 3

Новости — Linux General
Группа Linux General

Третья часть посвящена journal - компоненту systemd, который обеспечивает работу с сообщениями ядра, системных и пользовательских служб в Linux. Рассмотрены возможности конфигурации демона journald, возможность совместной работы с syslog, бинарный формат данных journal и варианты импорта данных в другие форматы, возможности встроеной фильтрации сообщений и многое другое. Доступны также первая и вторая части серии. Большое спасибо за работу like-all и intelfx. Пожелания и уточнения приветствуются.

>>> Подробности

 , , , ,

Deleted
()

Linux Bolgenos - ее первые шаги и обсуждение

Форум — Development

Привет всем кто пользуется системой Linux! Я пишу систему (точнее собираю для нее дистрибутив,вскоре будет готова). Назвал ее Bolgenos. Дописал на qt4 программы для GNOME (пока это основная среда рабочего стола), добавил апплеты для панелей и переписал модуль загрузки на свой лад. Систему я делаю с нуля (не переделывая Debian или Ubuntu). В качестве шелла Bash, а загрузчик GRUB. Установщик для системы я написал, и работает он в графическом режиме. Будет ориентирована на российских пользователей (но английский я оставил).

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

P.S. в качестве личных переговоров вот мой e-mail quadregus@gmail.com

gromes
()

Хочу прокачаться в понимании того, что такое хорошая MMORPG.

Форум — Talks

Вот есть у меня проект http://obsuditor.ddns.net/ftt/ , когда-то начатый для самообучения. Иногда думаю над наполнением его игровым смыслом и заинтересовала тема стратегий. Начал сомневаться в аркадном будущем этой штуки, т.к. в стратегиях и «смыслового» потенциала больше и не так критична зависимость от сетевых лагов (сейчас вообще каждый шаг синхронизирован с сервером).

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

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

Хочется сделать упор НЕ на красивые сказочные истории с магами, а на создание некого минимума правил (как законы физики или законы игры го или законы шахмат), который (минимум правил) бы приводил к возможности создания сложных игровых ситуаций, конструкций, объектов и т.п. Условно говоря, пускай в игре будет излучающий элемент, поглощающий элемент, квант энергии, задерживающий элемент и т.д. Движок исполняет эти правила и мир живёт. Интересен вызов в плане сложности вычислений, т.е. миллионы кирпичиков и много движущихся объектов.

 

kiverattes
()

Поттеринг: «Давайте заменим пакетный менеджер подтомами btrfs»

Форум — Talks

Сабж

The scheme we propose is built around the variety of concepts of btrfs and Linux file system name-spacing. btrfs at this point already has a large number of features that fit neatly in our concept, and the maintainers are busy working on a couple of others we want to eventually make use of.

[…]

app:<vendorid>:<runtime>:<architecture>:<version> — This encapsulates an application bundle. It contains a tree that at runtime is mounted to /opt/<vendorid>, and contains all the application's resources. The <vendorid> could be a string like org.libreoffice.LibreOffice, the <runtime> refers to one the vendor id of one specific runtime the application is built for, for example org.gnome.GNOME3_20:3.20.1. The <architecture> and <version> refer to the architecture the application is built for, and of course its version. Example: app:org.libreoffice.LibreOffice:GNOME3_20:x86_64:133

[…]

  • We want a unified scheme, how we can install and update OS images, user apps, runtimes and frameworks.
  • We want a unified scheme how you can relatively freely mix OS images, apps, runtimes and frameworks on the same system.
  • We want a fully trusted system, where cryptographic verification of all executed code can be done, all the way to the firmware, as standard feature of the system.
  • We want to allow app vendors to write their programs against very specific frameworks, under the knowledge that they will end up being executed with the exact same set of libraries chosen.
  • We want to allow parallel installation of multiple OSes and versions of them, multiple runtimes in multiple versions, as well as multiple frameworks in multiple versions. And of course, multiple apps in multiple versions.
  • We want everything double buffered (or actually n-fold buffered), to ensure we can reliably update/rollback versions, in particular to safely do automatic updates.
  • We want a system where updating a runtime, OS, framework, or OS container is as simple as adding in a new snapshot and restarting the runtime/OS/framework/OS container.
  • We want a system where we can easily instantiate a number of OS instances from a single vendor tree, with zero difference for doing this on order to be able to boot it on bare metal/VM or as a container.
  • We want to enable Linux to have an open scheme that people can use to build app markets and similar schemes, not restricted to a specific vendor.

    […]

The future is going to be awesome!

 ,

x3al
()

Баран и стенка

Форум — Science & Engineering

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

 holly dolly,

MiniRoboDancer
()

Desktop python CURL OAuth2

Форум — Development

Я занимаюсь написанием desktop-приложения для работы с фотографиями с использованием языка программирование python.

Вопрос: для авторизации на сайте хочу использовать библиотеку pycUrl как мне это реализовать и что бы не надо было вызывать окно авторизации а использовать свое UI для авторизации.

Заранее спасибо !!!!

 , , ,

enep
()

зачем нужен FILE когда есть обычные дескрипторы?

Форум — Development

Какие преимущества даёт использование FILE из libc перед «сырыми» fd? Ну, кроме буферизации на стороне процесса.

 

true_admin
()