8 лет на сайте
16 февраля 2024 |
|
7 лет на сайте
16 февраля 2023 |
|
6 лет на сайте
16 февраля 2022 |
|
5 лет на сайте
16 февраля 2021 |
|
4 года на сайте
16 февраля 2020 |
Был на сайте 26 августа 2016 | |
Пол: | мужской |
Зарегистрирован: | 15 февраля 2016 |
Рейтинг: | 265 |
Личное | |
Интересы: | программирование, футбол, парашютный спорт |
Любимые книги: | Герой нашего времени, Американская трагедия, ГП, серия Лабиринты Ехо, Ведьмак. |
В фанфикшене | |
Любимые пейринги: | ГП/ДГ |
arctblake
10 апреля 2016
Коллекции загружаются
реализовать as_completed, sleep, ensure_future, .create_task, .call_later, .call_at, wait.
как методы/функции получают EventLoop Handle, start_server, .create_server I am a Django and aiohttp web developer. Proficient in building scalable web sites. My specialization is backend programming, but I am also good enough in frontend stuff (HTML, CSS and JavaScript), though as for me, backend is much more fun. I like solving difficult tasks in elegant way. My schedule is rather flexible, so I can get to work quickly and spend 7-8 hours for doing useful things every day. Feel free to write me any time :) |
arctblake
9 апреля 2016
Коллекции загружаются
прогресс в задаче насколько возможно без блокировки -> возврат в цикл. Следующая задача из очереди - снова прогресс насколько возможно -> возврат в цикл и тд.
С каждой блокирующей операцией связан некоторый момент в будущем, когда данная операция перестанет быть блокирующей. Для каждой блокирующей операции должно быть что-то, что даст нам понять, что операция больше не является блокирующей и что задание, связанное с этой операцией, можно смело снова класть в очередь заданий, тк когда до него дойдет очередь, оно совершенно точно будет способно продвинуться дальше в своем логическом развитии. Для операций I/O это 'что-то' - selectors.select(). Для операции 'получение item'а из очереди' - операция 'положить item в очередь'. Для операций, выполняющихся в другом потоке/процессе, - callback, который будет вызван, когда операция завершится. |
arctblake
8 апреля 2016
Коллекции загружаются
threads, processes, pools, socketpair, pipes, fifos
|
arctblake
6 апреля 2016
Коллекции загружаются
filezilla, winscp
|
arctblake
1 апреля 2016
Коллекции загружаются
/etc/letsencrypt/live/domain.com/fullchain.pem 2016-06-30
|
arctblake
23 марта 2016
Коллекции загружаются
если next после логаута - профиль, перенаправлять на главную.
|
arctblake
22 марта 2016
Коллекции загружаются
clean для order form
|
arctblake
21 марта 2016
Коллекции загружаются
document.referrer
|
arctblake
21 марта 2016
Коллекции загружаются
Страница в меню всего одна. На ней сразу же предоставляется csrf-token. При оформлении заказа отправляется ajax-запрос для проверки зарегистрирован ли юзер, и, если да, то назад приходит словарь с данными, которыми надо презаполнить форму.
messages! |
arctblake
15 марта 2016
Коллекции загружаются
Если переход из не-меню в меню, то полная загрузка страницы вместе с basket из session, если есть. На странице уже будут каталог и кнопки сортировки (скрытые).
Если переход из меню в не-меню, то отправка формы ajax-ом (если есть поля в форме), сохранение в сессии, потом полная загрузка страницы вместе с basket из session. Если переход из меню в меню, то частичное обновление страницы. Если переход из не-меню в не-меню, то полная загрузка страницы вместе с basket из session. При добавлении item в корзину отправляется ajax-post-запрос с целью сохранения корзины в session, если посетитель вышел с сайта. |
arctblake
14 марта 2016
Коллекции загружаются
.whole width&height
input'ы переделать |
arctblake
9 марта 2016
Коллекции загружаются
[09.03 - 26.03] Chill-out
user and profile creation in single form at the same time проверить регистрацию с уже зарегистрированным email редактирование страниц через админ-панель (главная страница - смена акции, например; страница о доставке, изменение фотки блюда и тд) график продаж в админ-панели в меню высвечиваются все общие блюда + собственные блюда юзера калорийность зарегистрированные юзеры могут создавать свои блюда, которые будут сохранены в бд; анонимные могут только одноразово состряпать блюдо и заказать его, само блюдо не будет сохранено в базу ведение статистики: самые популярные блюда и тп история заказов нажимаешь 'добавить в корзину' --> в корзину добавляется slug блюда. нажимаешь 'оформить заказ' --> на сервер отправляется форма со slug'ами --> юзеру возвращается форма для заполнения на странице 'меню' сразу предоставляется пустая (без элементов, только с кнопкой 'оформить заказ') форма (в корзине), которая заполняется элементами формы при нажатиях кнопки 'добавить в корзину' <input type='number' name='<dish_name>' value='<amount>'> JavaScript проверяет, не пуста ли корзина Анонимное блюдо: 'Добавить ингредиент' --> в каком-то элементе все ингредиенты группируются (название:кол-во). 'Добавить в корзину' --> <input type='text' name='anonimous<N>:<amount>' value='<ingredient1>:200,<ingredient2>:100,...'> Когда создается блюдо, указываются ингредиенты и их кол-во (<input type='number' name='<ingredient_name>' value='<amount>'>). На сервере автоматически высчитывается калорийность, составляется описание (рецепт, калории, белки и тп), вычисляется цена. корзина остается заполненной... sessions? временное сохранение. при добавлении элемента в корзину выполняется ajax-запрос? При нажатии на любые другие кнопки (все, кроме 'Оформить заказ') форма корзины отправляется --> сохраняется в сессии --> потом следует редирект на нужную страницу (данные формы корзины вытаскиваются из сессии и отображаются на нужной странице, если должны там отображаться). Обновляется не вся страница, а только часть. Если в сессии есть данные, то, например, на главной странице отображать кнопку 'Перейти к оформлению заказа'. После того, как заказ сделан, удалять сессию. Либо удалить сессию после истечения определенного времени. проверить QueryDict Свернуть сообщение - Показать полностью
|
arctblake
7 марта 2016
Коллекции загружаются
скрыть поле формы + initial
убрать поле целиком + добавить во время сохранения Tag.objects.prefetch_related('startup_set') |
arctblake
6 марта 2016
Коллекции загружаются
.getElementsBy* -> что-то вроде queryset (NodeList или HTMLCollection), то есть изначально никакой поиск не осуществляется, просто записывается поисковый запрос.
|
arctblake
22 февраля 2016
Коллекции загружаются
parseInt, parseFloat, n.toFixed(5) --> string, n.toString(2), isNaN, isFinite, str.trim(), str.split('').
> parseInt('123', 2); < 1 arr.splice(index[, deleteCount, elem1, ..., elemN]) --> returns arr of del. .sort .forEach(callable[, thisArg]) .map .filter .every .some .reduce аргументы отделены от локальных переменных Когда интерпретатор 'заходит' в область видимости, он создает объект LE, устанавливает ему свойство __proto__ (ссылка на родительский объект LE), сканирует область на предмет объявлений FD и var ... LE [[Scope]] Фактически, мы всегда имеем дело не с переменными, а с объектами и их свойствами. window - один глобальный объект на страницу. Функция - подвид объекта. Любая функция может иметь в себе this. Совершенно неважно, объявлена ли она в объекте или отдельно от него. Значение this называется контекстом вызова и определяется в момент вызова функции. Сама функция никак не запоминает this. Контекст в функцию нужно явно передать (вызвать в контексте объекта). ReferenceType. Скобки получают из base свойство name и вызывают в контексте base. При строковом преобразовании объекта используется его метод toString. Он должен возвращать примитивное значение, причём не обязательно именно строку. Для числового преобразования используется метод valueOf, который также может возвратить любое примитивное значение. У большинства встроенных объектов valueOf не работает (возвращает сам объект и потому игнорируется), при этом для числового преобразования используется toString. Вообще, в выражениях (бинарный +, сравнения и тп) объект сначала должен быть преобразован к примитивному типу. Для такого приведения всегда используется метод valueOf, если определен. Если нет - используется toString. Исключение - объекты Date. Бинарный + преобразует объект Date с использованием метода toString, хотя метод valueOf у объектов Date также определен. Object.defineProperty(obj, property_name, descriptor); Если свойство не создается, а переопределяется, то старый дескриптор объединяется с новым. Метод - просто название. На самом деле, все методы объектов - это обычные функции, которые вызываются в контексте объекта. Поэтому методы можно одалживать. Карринг (currying) или каррирование – термин функционального программирования, который означает создание новой функции путём фиксирования аргументов существующей. setTimeout(user.sayHi, 1000); JSON.parse(str, reviver) JSON.stringify(data, replacer, indent) Сериализация объекта. window.onerror Вызов приватного метода (локальной функции по факту) с явным указанием контекста, привязка контекста к локальной функции при объявлении, self. Переопределение/расширение метода родителя. __proto__ - чтение Object.create(proto[, descriptors]) Func.prototype = {constructor: Func} console.dir(obj) При создании объекта через new, в конструкторе сразу после создания нового пустого объекта в него записывается свойство __proto__ с соответствующим значением. При декорировании функции, возвращаемая обертка должна выглядеть так, будто это та же самая базовая функция, ведь эту обертку потом будут вызывать так, будто это базовая функция. Свернуть сообщение - Показать полностью
|
arctblake
21 февраля 2016
Коллекции загружаются
- loading images on server. +++
|
arctblake
20 февраля 2016
Коллекции загружаются
- проверить id/pk, user.profile - exception. +++
|
arctblake
18 февраля 2016
Коллекции загружаются
- Добавить на страницу /admin/user/user/id/change/ ссылку на страницу с сообщениями юзера. Сделать вьюху в админке для просмотра всех сообщений юзера. +++
в request.POST могут быть поля, имеющиеся в форме, но не имеющиеся в модели. max-width overrides width. background-origin specifies the positioning area of the background images (default: padding-box). background-clip specifies the painting area of the background (default: border-box). Absolute size: - Sets the text to a specified size - Does not allow a user to change the text size in all browsers (bad for accessibility reasons) - Absolute size is useful when the physical size of the output is known Relative size: - Sets the size relative to surrounding elements - Allows a user to change the text size in browsers The em size unit is recommended by the W3C. 1em is equal to the current font size. The default text size in browsers is 16px. So, the default size of 1em is 16px. a:hover MUST come after a:link and a:visited a:active MUST come after a:hover list-style-position: inside - маркер входит в контент. tr:nth-child(even) {background-color: #f2f2f2} http://www.w3schools.com/cssref/css_selectors.asp <div style="overflow-x:auto;"> <table> ... table content ... </table> </div> outline - накладывается поверх margin outline-offset Setting the display property of an element only changes how the element is displayed and which properties can be applied to it, NOT what kind of element it is. So, an inline element with display: block; is not allowed to have other block elements inside it. display: none; visibility: hidden; position: relative; элемент как бы выдергивается из нормального потока и располагается на сетке поверх потока, но место, которое элемент занимал бы при static резервируется (размеры зарезервированного места учитывают размеры элемента). position: absolute; элемент выдергивается из нормального потока ..., место не резервируется. Элемент, относительно которого позиционируется эл. с position: absolute; принимается как бы за родительский элемент. Если указать relative или absolute и не указать смещения, то элемент как бы останется на своем месте (визуально), хотя будет выдернут из потока. http://www.w3schools.com/css/css_positioning.asp overflow: auto; ... Elements after a floating element will flow around it. If an element is taller than the element containing it, and it is floated, it will overflow outside of its container. http://www.w3schools.com/css/css_inline-block.asp a {display: block;} display: none + position: absolute + elem:hover ddelem = dropdown content ::before, ::after Свернуть сообщение - Показать полностью
Показать 1 комментарий |