All streams
Search
Write a publication
Pull to refresh
2
0
Дунаевский Максим @dunmaksim

Технический писатель

Send message

В Delphi компоненты, которые одинаково выглядят и работают на любой платформе без тормозов. В Qt компоненты, которые выглядят и работают одинаково на любой платформе без тормозов. Проблема Web именно в том, что его пытаются использовать для задач (приложения), для которых он изначально (просмотр текста, графики и таблиц) не был предназначен. Рано или поздно одна соломинка переломит хребет этому слону.

Да пусть копипастят, лишь бы они копировали из ответов, а не вопросов.

Я из-за Castlevania Lords of Shadow контроллер в итоге купил, потому что очень уж сложные QTE и комбо. На клавиатуре такое очень тяжело реализовать.

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

Flask довольно хорош, тоже куча либ с качественной документацией:



Подход к разработке немного отличается, приходится писать большое количество бойлерплейта, который Django делает под капотом, но в целом довольно интересное решение. Не могу сказать, что этот фреймворк лучше Django, просто было странно не увидеть его в комментариях. Ещё есть Pyramid и Tornado, но про них я ничего не знаю, а говорить о том, в чём не разбираюсь, не привык.

Да, но с некоторых пор в Django можно вполне легально (без костылей, а даже по официальной инструкции) использовать Jinja2.

Разделить два смешанных мешка крупы? Ха! Да легко! Вы попробуйте отделить произведение от автора. ©
Естественно, у автора есть своё мнение и видение проблемы.

А я вижу причину существования фреймворков в убогости всего современного Web. Дело не только в JS с его прототипированным наследованием, не в медленном DOM, а в подходе в целом.
Каждый производитель делает свой браузер, со своими особыми уличными фишками и реализацией всплывания событий. У кого-то вообще свой диалект JS (я молчу про Dart, CoffeeScript и другие "заменители"). В итоге вместо того, чтобы переделать Web с нуля пишут очередной 1488-ой фреймворк, который должен сделать поддержку всех браузеров лучше, добавить статическую типизацию (привет, TypeScript) и соответствовать стандартам лучше других (Babel? Babel). А сами эти стандарты что?
Сколько нужно сделать лишних действий, чтобы сохранить дату на сервере в нужном формате? Как насчёт асинхронной подгрузки модулей? Сколько способов это сделать вы можете с ходу назвать?
В целом современный Web — это нагромождение костылей. Каждый новый фреймворк говорит, что уж теперь-то вам не надо с ними бороться, а в итоге получаем ещё большую сложность, чем раньше.

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

Ни одно доброе дело не останется безнаказанным!

Плюсую хорошую идею. Взял на заметку.

Описанный подход "записывай всё" хорошо рассмотрен в книге Фила Портера "Съесть или быть съеденным" (гуглите сами). Я лишь добавлю несколько плюсов записывания поручений и несколько маленьких хитринок, которыми пользуюсь сам.


  • записывайте всё, что вам говорят, указывайте так же дату и время — пригодится, когда начнутся ссылки на то, что позже задача менялась или уточнялась, сможете сослаться на хронологию;
  • если руководитель имеет привычку "забывать" и "уточнять" детали после постановки задачи, фиксируйте, кто помимо вас слышал то, что вам говорили;
  • каждому руководителю или коллеге — свой цвет ручки, либо указывайте фамилию;
  • носите свою записную книжку с собой всегда, записывайте все поручения, которые получаете;
  • если уточняете задачу большого босса у своего непосредственного начальника, записывайте, что именно он говорит — потом сможете прикрыться перед большим боссом;
  • не делайте перед коллегами секрета из того, что ведёте записи — играя в открытую, вы заставите их хорошо обдумывать то, что они говорят;
  • никому не давайте свою записную книжку (всегда Ваш, капитан Очевидность);
  • можно ставить рядом с поручениями кружки. Когда задача будет выполнена, поставьте галочку. Если отменена — косую черту. Провалена — крест (можете дорисовать глаза, зубы и кости снизу). Интересная статистика получается.

Dojo Toolkit: AMD, красиво, работает, ничего лишнего (не считая кучи мелких файлов, подгружаемых при инициализации).


Описываем хранилище моделей:


define([
    "dojo/store/JsonRest"
], function(JsonRest){
    return new JsonRest({
        target: "/api/users/",
        _getTarget: function(id){
            if (typeof id !== "undefined") {
                return this.target + id + "/"; // В Django принято ставить / в конце адреса
            }
            return this.target;
        }
    });
});

Где-то в коде:


require([
    "dojo",
    "stores/users"
], function(
    dojo,
    users
) {
     // Получить список всех пользователей
    users.query({
        // Пустой объект - получить всё, а можно же и с параметрами
    });

    // Получить запись с id = 12
    users.get(12).then(
        // Тут всё стандартно - обработчики promise
        // Однако, dojo не терпит пустоты, поэтому на обработчик ошибки ставьте
        // dojo.noop, если писать свой лениво
    );

    // Обновление с перезаписью (можно и PATCH сделать, но это, мягко говоря, не для новичков)
    users.put(userModel).then(function(updatedUser){
        console.log(updatedUser);
    }, dojo.noop);

    // Удаление записи
    users.delete(5).then();
});

Официальная документация.


Если кому-то интересно, специально для Django есть несколько строк кода, позволяющих в каждый запрос вставлять CSRF-токены.

По поводу количества пакетов хочу сказать пару слов. Специально ходил по ссылкам многих незнакомых мне пакетов, и выяснилось, что они последний раз обновлялись 2-3 года назад, либо вообще в рецепте указывается старый репозиторий, а разработка давно перенесена куда-то ещё. Спросил у автора о данной проблеме, он ответил, что не планирует чистить список рецептов от всякого старья, т.к. это требует большого количества времени, однако, пулл-реквесты приветствуются.
TL:DR: никаких.
Возьмём для примера Липецкую область. 75% энергии поставляется из близлежащих регионов вроде Курской и Воронежской областей. Всё это из-за наличия АЭС и, как следствие, некоторого переизбытка вырабатываемой мощности, которую по высоковольтным (500 кВ) линиям передают на распределительные подстанции внутри региона, расположенные далеко за чертой города Липецка. Оттуда уже по линиям 100 кВ энергия подаётся на предприятия (НЛМК, Свободный Сокол и другие) — они основные потребители области.
В самом городе энергия подаётся либо по кабелям, проложенным под землёй, либо по воздушным линиям 10 кВ и 110 кВ.
Откуда линии? Построили заранее, при этом под опоры была выделена необходимая площадь, заранее построены подстанции с учётом развития на ближайшие 50 лет, согласованы килограммы документов с администрацией и различными службами.
Питание по кабелям — вещь не очень хорошая, т.к. метр самого дешёвого кабеля стоит больше, чем метр хорошего кабеля для воздушных линий. Передавать энергию через них получается удобно, но не очень дёшево. Вдобавок, изоляция имеет свойство стареть и терять изолирующие свойства, т.е. требуется постоянный контроль и обслуживание.
Что остаётся в Вашем случае?

  1. Искать лежащие рядом подстанции и питаться от них. Смотреть, какой ресурс мощности для них предусмотрен. Возможно, на какой-нибудь из них в ближайшее время (лет 10, ага) будет установлено более мощное оборудование. Так же учтите фактор надёжности. Как объект первой категории, дата-центр должен быть запитан минимум от двух независимых друг от друга источников питания, и каждый должен иметь пропускную способность, достаточную для того, чтобы в случае чего тянуть на себе весь дата-центр в одиночку.
  2. Построить воздушную линию до электростанции или распределительной подстанции и понижающую подстанцию (сколько это миллионов — подсчитайте сами, учтите так же стоимость земли, на которой будут стоять опоры, трансформаторы и т.д.
  3. Обратиться к опыту строительства Ядра Москвы-Сити, того самого центра, где стоит башня Федерация и другие небоскребы. Питание таких зданий — задача примерно такая же, что и у Вас.
Поставьте пакет ergoemacs — он во многом дублирует хоткеи «нормальных» редакторов, Ctrl+C, Ctrl+V и прочие плюшки там что называется из коробки.
Я правильно понял, что anaconda-mode >> jedi.el? Сам пользуюсь первой, а Jedi так и не осилил — постоянные проблемы. Кстати, у Вас вся конфигурация в одном файле? Почему не разбиваете на части?
Отдельное спасибо за alias'ы — взял на заметку.
Уверен, люди, которые составляли письмо, хотели бы написать «Дорогой друг! Мы охерели и с 1 января цены на наши продукты вырастут на 20% минимум, но пока есть возможность — купи у нас по старой что хочешь. Рекомендуем брать вообще всё». Однако, все понимают, что за вольный слог в официальных или близких к ним документах можно и премии лишиться.
> По текущим ценам до конца года
Письмо они прислали не 30 декабря, по-честному предлагают купить по текущим ценам. Что не так? Не любите Microsoft? Используйте Linux.

Information

Rating
Does not participate
Location
Липецк, Липецкая обл., Россия
Date of birth
Registered
Activity

Specialization

Technical Writer
Senior
From 200,000 ₽
reStructuredText
Markdown
Git
AsciiDoc
Sphinx
Linux