Стандартная библиотека периферии
Библиотека CMSIS абстрагирует программиста от карты памяти микроконтроллера. Код получается эффективным, так как программист просит компилятор сделать только нужные вещи (записать какое-нибудь значение в нужное место). Проблема такого подхода в том, что нужно заглядывать в документацию, чтобы определить, в какой регистр и что нужно записать. У одного и того же производителя регистры на разных МК могут отличаться, как названием, так и количеством. Это неудобно.
Абстракция — мощный инструмент, которую легко реализовать. Вместо обращения к регистрам можно просто вызывать функции. И в CMSIS такая абстракция уже присутствует (совсем чуть-чуть).
Если модуль несложный (те же порты ввода-вывода), то больших усилий для его инициализации прикладывать не нужно. Но вот если нужно настроить какой-нибудь таймер в нестандартный режим работы, то рутина по выставлению нужных битов в памяти принимает устрашающий характер.
Стандартный проект будет включать в себя библиотеку CMSIS (она используется внутри StdPeriph), пользовательские файлы и файлы самой библиотеки.
Архив с библиотекой и примерами ее использования можно найти на странице целевого МК в разделе Design Resources. Каждому модулю периферии соответствует два файла: заголовочный (stm32f10x_ppp.h
) и исходного кода (stm32f10x_ppp.c
). Здесь ppp
— название периферии. К примеру, для работы с аналого-цифровым преобразователем нужны файлы
и stm32f10x_adc.c
. Файлы misc.h
и misc.c
реализуют работу с контроллером прерываний NVIC и системным таймером SysTick (эти функции есть в CMSIS).
Чтобы подключить стандартную библиотеку, нужно в файле stm32f10x.h
определить макрос USE_STDPERIPH_DRIVER
[^dont_change].
Заголовочный файл stm32f10x_conf.h
не является частью библиотеки, он пользовательский. С его помощью можно подключать или отключать части библиотеки.
Оставшиеся два файла (stm32f10x_it.h
и stm32f10x_it.c
) выделены для реализации обработчиков прерываний, именно туда следует помещать данные функции.
В стандартной библиотеке периферии есть соглашение о наименовании функций и обозначений.
PPP
— акроним для периферии, например,ADC
.- Системные, заголовочные файлы и файлы исходного кода начинаются с префикса
stm32f10x_
. - Константы, используемые в одном файле, определены в этом файле.
- Константы, используемые в более чем одном файле, определены в заголовочных файлах. Все константы в библиотеке периферии чаще всего написаны в ВЕРХНЕМ регистре.
- Регистры рассматриваются как константы и именуются также БОЛЬШИМИ буквами.
- Имена функций, относящихся к определенной периферии, имеют префикс с ее названием, например,
USART_SendData()
. - Для настройки каждого периферийного устройства используется структура
PPP_InitTypeDef
, которая передается в функциюPPP_Init()
. - Для деинициализации (установки значения по умолчанию) можно использовать функцию
PPP_DeInit()
. - Функция, позволяющая включить или отключить периферию, именуется
PPP_Cmd()
. - Функция включения/отключения прерывания именуется
PPP_ITConfig
.
С полным списком вы можете ознакомиться в файле поддержки библиотеки.
Перепишем инициализацию порта ввода-вывода из предыдущего раздела. Во-первых, нужно включить тактирование модуля (подать питание) — делается это через функцию, объявленную в stm32f10x_rcc.h
:
Возможные варианты первого аргумента можно найти в комментарии к функции или в заголовочном файле. Так как мы работаем с портом A
, нам нужен RCC_APB2Periph_GPIOA
. Перечисление FunctionalState
определено в stm32f10x.h
:
Далее нужно обратиться к структуре порта из stm32f10x_gpio.h
:
Параметры структуры можно найти заголовочном файле.
Главное — запомнить порядок инициализации: включаем тактирование периферии, объявляем структуру, заполняем структуру, вызываем функцию инициализации. Другие периферийные устройства обычно настраиваются по подобной схеме.
Назад | Оглавление | Дальше
Структуры данных(на примере PHP SPL) | by Alexander Shogenov
Процесс разработки связан, в основном, с извлечением, получением и обработкой данных из разных источников, таких как базы данных, файлы, API и т.д. Очень много времени разработчики на организацию, получение, перемещение и обработку данных.
В рамках этой статьи я буду рассматривать язык PHP для того, чтобы, как минимум, я сам понимал, о чём говорю. PHP — язык простой для понимания большинству и, я думаю, что у программистов, работающих на других языках, не возникнет проблем с пониманием данного материала. Можно было бы просто абстрактно описать о структурах данных, но хочется более осязаемого материала.
Чаще всего для представления данных в PHP используют массив. Однако в некоторых случаях массивы не подходят для решения задач. Где-то не хватает производительности, где-то слишком много памяти “кушает”, и поэтому требуются более подходящие структуры данных.
Библиотека SPL — является частью ядра(начиная с пятой версии PHP) и содержит набор интерфейсов, классов структур данных, итераторов и функций, с помощью которых можно значительно упростить себе жизнь и повысить качество кода.
- SplDoublyLinkedList
- Двусвязные спискиSplStack
- СтекSplQueue
- ОчередьSplHeap
- КучаSplMaxHeap — Сортировка кучи по убыванию
- SplMinHeap — Сортировка кучи по возрастанию
- SplPriorityQueue — Приоритетные очереди
- SplFixedArray — Массив с ограниченной длиной
- SplObjectStorage — Хранилище объектов
SplDoublyLinkedList — двусвязный список. Каждый узел такого списка хранит ссылку на предыдущий и на следующий за ним узел. Представьте, что вы находитесь в очереди и при этом можете видеть только человека перед вами и позади вас. Это аналогия отношения связи между элементами в SplDoublyLinkedList. Вставка элемента в список соответствует ситуации, когда кто-то влез в очередь, а вы вдруг забыли, кто стоял перед вами (и этот кто-то забыл о вас). Двусвязный список позволяет эффективно обходить и добавлять большие наборы данных без необходимости повторного хеширования.
SplQueue и SplStack очень похожи на SplDoublyLinkedList. Обе эти структуры, по сути, представляют собой двусвязные списки с разными флагами итераторов(IT_MODE_LIFO — Last In First Out — последним пришёл, первым ушёл; и IT_MODE_FIFO — First In First Out — первым пришёл, первым ушёл), которые регулируют порядок обработки узлов и что делать с этими элементами после того, как они будут обработаны. Ещё одно отличие между этими структурами заключается в том, что интерфейс SplQueue содержит более интуитивно понятные методы enqueue() и dequeue() в отличие от методов push() и pop() у SplStack.
SplHeap — куча, представленная в виде бинарного дерева, каждый узел которого имеет не более двух дочерних узлов. Это абстрактный класс, требующий расширения с определением метода compare(), позволяющего выполнять сортировку в реальном времени при вставке новых узлов в дерево.
SplMaxHeap и SplMinHeap — конкретные реализации абстрактного класса SplHeap. SplMaxHeapреализует метод compare() таким образом, чтобы дерево было отсортировано в порядке убывания значений узлов, а SplMinHeap — в порядке возрастания значений.
SplPriorityQueue — очередь, похожая на SplHeap, но в отличие от SplHeap сортировка осуществляется на основании значения свойства priority (приоритет), заданного для каждого узла.
SplFixedArray — массив фиксированной длины, индексами которого могут быть только целые числа. Эти ограничению обеспечивают более высокую скорость обработки массива, которая достигается, в том числе, благодаря тому, что в SplFixedArray нет хеширования ключей элементов при их добавлении (в отличие от обычных массивов).
SplObjectStorage — хранилище объектов, предоставляет интерфейс для сопоставления объектов к данным, либо может быть использовано в качестве контейнера для множества объектов. Позволяет использовать объект в качестве ключа ассоциативного массива и связать его с некоторыми данными.
— — —
Официальная документация по SPL http://php.net/manual/ru/book.spl.php
Кстати, если претендуешь на вакансию уровня серьёзнее, чем junior, есть вероятность, что об этом спросят на собеседовании. А ты теперь это знаешь! Не благодари.
— —
Много полезного на mynrg.ru
___________
Я — программист!
Шутеечки в Дневнике программиста
Чат Клуб программистов
STM32CubeMx: можно ли настроить контроллеры ST с помощью SPL (стандартная периферийная библиотека)
Программное обеспечение stm32CubeMx предоставляет опции для настройки только с использованием драйверов HAL & LL. Возможно ли это с помощью стандартных периферийных драйверов.
Спасибо.
stm32Поделиться Источник Datta anvekar 31 января 2018 в 12:00
2 ответа
1
Это невозможно. ST опубликовал документ , в котором сравнивается SPL с LL и даются советы по переходу с SPL на LL. Разработка SPL остановлена, поэтому, вероятно, она не будет поддерживаться в продуктах ST.
Поделиться K. Koovalsky 31 января 2018 в 15:33
-1
Вы можете получить SPL для "older" микроконтроллеров stm. BUT вы не должны выходить и изучать SPL вместо HAL (LL). Он не поддерживается и не будет добавлен в будущем. Инвестируйте свое время в использование HAL или его минимального подмножества. Это даст перспективу в будущем.
Поделиться Tarick Welling 28 мая 2020 в 17:55
Похожие вопросы:
Импорт кода STM32CubeMX, сгенерированного в Eclipse
Я пытаюсь настроить проект STM32CubeMX для импорта в Eclipse с помощью компилятора ARM GCC. До сих пор: Я скачал Eclipse. Я скачал STM32CubeMX . Я скачал набор инструментов GCC ARM . Я скачал...
Стандартная библиотека матриц
Существует ли какая-либо стандартная библиотека Matrix в c. Который я могу реализовать на всей платформе. Если нет, то, пожалуйста, скажите мне OS зависимых библиотек матрицы.
Стандартная библиотека Intel (C++)
Есть ли у компилятора Intel своя стандартная библиотека, например, реализации std::cout и т. д. Я хочу настроить все для Intel.
Требуется ли, чтобы стандартная библиотека соответствовала стандарту?
Требуется ли, чтобы стандартная библиотека соответствовала стандарту? У меня такое чувство, что стандартная библиотека не соответствует стандарту. В основе этого чувства лежат сообщения об ошибках,...
Существует ли стандартная библиотека для Bash?
Есть ли стандартная библиотека для Bash? что-то вроде стандартной библиотеки Java.
Действительно ли стандартная библиотека Python является стандартной?
Является ли стандартная библиотека Python стандартной в том смысле, что если установлена Python, то установлена и стандартная библиотека? В документации говорится Для Unix-подобных операционных...
Стандартная библиотека для шифрования AES для VB.NET?
Существует ли стандартная библиотека для шифрования AES для VB.NET? Я хочу, чтобы зашифровать строку с помощью статического закрытого ключа. Я погуглил и нашел много вариантов. Я действительно не...
Полностью ли поддерживается стандартная библиотека C++ на Arduino?
Не спрашивая о <string> , а о стандартной библиотеке в целом для использования на микроконтроллерах. У меня еще нет платы Arduino для выполнения кода, и, как следует из названия, мне...
STM32CubeMX генерирует Makefiles с повторяющимися C_SOURCES
Я только начинаю изучать разработку STM32 (на Ubuntu 16.04). Я использовал STM32CubeMX для создания проекта на основе Makefile. Сгенерированные make-файлы имеют повторяющиеся записи в C_SOURCES,...
Сохранение данных из UDP в файл
Я работаю над микропроцессором stm32f107VCx. мой компилятор-keil, и я использую spl (стандартная периферийная библиотека). Я могу отправлять и получать данные с помощью протокола UDP, но я не знаю,...
Структуры данных в PHP. Библиотека PHP SPL - стоимость дистанционного обучения
Программа курса
Сейчас мы живем в отличнейшее время сумасшедших перемен. Вокруг штормит все и всех рвет на кусочки - всех тех кто еще не осознал что на самом деле происходит.
А происходит стремительное изменение сильно засевших в головах парадигм - их просто вымывает лавиной фактической действительности.
Существующий тренд на децентрализацию крупных мировых компаний (костяк остается в офисе, компания масштабируется за счет удаленки) - открывает огромные масштабы для деятельности фрилансеров всех мастей.
В то же время нужно четко понимать для себя, что компания-клиент, отдавая заказ на фриланс, ожидает стабильного и качественного результата за отведенный бюджет.
Как стать таким нужным, полезным фрилансером, где брать хороших клиентов - рассмотрим в этом вебинаре.
Автор Александр Павлють - бизнес-консультант, IT-Адвокат, основатель и руководитель . Более 10 лет занимается коммерческой разработкой ПО, бизнес-консалтингом, является сооснователем нескольких проектов, пишет книги и ведет вебинары, а также .
На вебинаре автор раскроет следующие вопросы из личного опыта:
1) Почему фриланс - стабильность, порядок, заработок и профессиональный рост против застоя, хаоса и опасности за завтрашний день.
2) Плюсы и минусы фриланса - против удаленки и офисной работы, сравнительный анализ, обзор экосистемы фриланса.
3) Сколько можно заработать на фрилансе - обзор кейсов
4) Выбираем верную стратегию и тактики развития - как чего хотим, куда идем, что нужно уметь фрилансеру.
5) Определяемся с видом работ и услуг - порядок побеждает хаос, удиваляемся и улыбаемся - клиенту плевать на html css и ruby on rails и ваши фотошопы. У клиента проблемы - у вас решения.
6) Клиенты вы кто, але - типы клиентов, авторская классификация, кого выбирать, как выбирать, что лучше.
7) Вопросы ценообразования - как получать то что ты заслуживаешь, как зарабатывать хорошо, как оценить неоценимое.
8) Клиенты вы где ау - обзор источников каналов клиентов
9) Где и как работать - как верно определить свое рабочее место
10) Как организовать свои дела в порядок
11) Always Be Closing - как всегда получать свои деньги, знакомимся с балансом ценности.
12) Результаты работают на вас - ты это твоя последняя работа.
13) Почему к вам приходят и покупают у вас - авторский проверенный подход построения экспертности
14) Фриланс это полноценный бизнес - масштабируемся от студии, до консалалтингового агенства, компании разработчика ПО, маркетингового агенства или же интегратора, строим личный бренд. Выбор за вами.
15) Расходимся - делаем выводы, задаем вопросы, разоблачаем любые сложившиеся стереотипы.
Стремитесь к работе на фрилансе? Выбирайте .
Ведущий
Александр Павлють
https://ad.admitad.com/g/k3dfvevwit2d96ee18d965a37ca03d/?ulp=https%3A%2F%2Fgb.ru%2Fcourses
13 Exception классов в библиотеки SPL для PHP — Web Energy
Loading...Расскажи своим друзьям в Facebook что ты читаешь.
Ключевые слова:php spl
Исключения (Exception) появились в PHP с версии 5.0, они добавили хорошие возможности по обработке ошибок. Вместе с исключениями в PHP появилась стандартная библиотека классов (SPL), сейчас она содержит 13 готовых классов для обработки исключений.
@simonenko- BadFunctionCallException
Неправильный вызов функции, возможно отсутствуют необходимые аргументы. - BadMethodCallException
Неправильный вызов метода, возможно отсутствуют необходимые аргументы. - DomainException
Указывает, что значение не проходит проверку набора правил для приложения. - InvalidArgumentException
Указывает, что переданные аргументы не совпадают с ожидаемыми. - LengthException
Указывает, что длина некорректная. - LogicException
Указывает, что присутствует ошибка в логике. - OutOfBoundsException
Указывает, что значение ключа не существует, либо оно некорректно. - OutOfRangeException
Указывает, что значение выходит за пределы диапозона. - OverflowException
Указывает, что новый элемент не помещается в контейнер. - RangeException
Указывает, что был передан неверный диапозон. - RuntimeException
Специальный класс исключений для ошибок, которые могут происходить только во время выполнения. - UnderflowException
Указывает, что элемент не может быть удален из пустого контейнера. - UnexpectedValueException
Указывает, что данное значение не ожидается.
Список Exception классов на сайте php.net.
@simonenkoEnum, spl и причем тут php
Enum - перечисление, важный тип данных, позволяющий создавать ограниченные последовательности из идентификаторов. Иными словами, это набор всегда строго определенных значений. В слаботипизированных языках, к которым изначально принадлежит и php, этот тип обычно не реализован. И хотя разработчики уже не первый год просят создать enum в php, создатели этого языка пока не спешат обрадовать сообщество этой возможностью.
Enum, spl и php
Так было не всегда. До 7 версии в php была, встроенная в spl (стандартная библиотека PHP), возможность эмулировать enum. Это можно было сделать создав свой класс, наследующий от SplEnum. Но, по мере развития языка и движению к строгой типизации, эту возможность было решено исключить. В релиз php 7.0.0 от 3 декабря 2015 г. этот тип данных включен не был.
Однако, сообщество разработчиков всё равно хотело использовать enum тип и создало свои инструменты для этого. И мы рассмотрим их чуть позже в этой статье, а сейчас хочу рассказать, чем же удобен этот тип и какие проблемы он решает.
Для чего нужен enum
Представьте, что вы разрабатываете приложение для обработки заявок на кредитование. У вас есть разные типы продуктов, например: "сельская ипотека", "автокредит" и "кредит наличными". По техническому заданию, приложение не должно обрабатывать другие типы. То есть, если придет заявка на "бизнес-ипотеку", то её необходимо будет отклонить. Также необходимо создать три формы для каждого типа продуктов, чтобы пользователи могли присылать новые заявки.
Первая идея, которая приходит в голову, поместить все продукты в массив:
<?php $types = [ 'сельская ипотека', 'автокредит', 'кредит наличными', ];
Теперь можно создавать страницы с формами, где будет указан тип программы. Рассмотрим пример с "сельская ипотека":
<form> <input type="text" name="name" placeholder="Имя"> <input type="text" name="tel" placeholder="Телефон"> <input type="text" name="sum" placeholder="Необходимая сумма"> <input type="hidden" name="type" value="cельская ипотека"> <button type="submit">Отправить заявку</button> </form>
Php-скрипт по значению инпута с именем type будет определять разрешенный тип. То есть проводить проверку наличия данной строки в массиве:
<?php if (in_array($_POST['type'], $types)) { // обработка заявки } else { // неверный тип заявки }
И вот тут нас поджидает самая распространенная ошибка с буквой "с". Догадались какая? Да, в созданной форме строка "cельская ипотека" начинается с английской буквы. Это очень неочевидная и частая ошибка, которую сложно отловить. Пока вы догадаетесь в чем причина, ваш заказчик потеряет много клиентов. Вот тут бы нам и пригодился тип enum.
Эмуляция enum в современном php
Сообщество php-разработчиков не сидело без дела все эти годы и разработало прекрасную библиотеку myclabs/php-enum, которая позволяет создавать классы эмулирующие перечисления. На момент написания статьи, у неё набралось почти 2 тысячи звезд на github и 16,5 миллионов скачиваний.
Как и любую другую современную библиотеку, её можно установить с помощью пакетного менеджера composer. Для этого в консоли нужно выполнить:
composer require myclabs/php-enum
Теперь мы сможем создать перечисление наших продуктов, используя enum тип. Для удобства приведу весь код в одном месте:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php // подключение автолодера include "vendor/autoload.php"; // подключение пространства имен use MyCLabs\Enum\Enum; // наш класс, реализующий enum class MortgageTypes extends Enum { private const RURAL = 'сельская ипотека'; private const AUTO = 'автокредит'; private const CASH = 'кредит наличными'; } ?> <form> <input type="text" name="name" placeholder="Имя"> <input type="text" name="tel" placeholder="Телефон"> <input type="text" name="sum" placeholder="Необходимая сумма"> <input type="hidden" name="type" value="<?= new MortgageTypes(MortgageTypes::RURAL())?>"> <button type="submit">Отправить заявку</button> </form> |
Обратите внимание на строку 19, значение аттрибута value будет "сельская ипотека", на этот раз, с правильной буквой "с". А проверить это значение можно с помощью простого кода:
<?php if (MortgageTypes::isValid($_POST['type'])) { // обработка заявки } else { // неверный тип заявки }
Такой код значительно лучше читается и огранизован с помощью классов, что добавляет + в карму и упрощает тестирование. Эмуляция типа enum также позволяет нам оградить своё приложение от возможных багов, а заказчика от непредвиденных потерь. Для этого была использована сторонняя библиотека, хотя в идеальном мире этот тип данных мог бы быть и встроен в php. Надеюсь, разработчики этого языка в ближайшее время услышат сообщество. Ну а мы с вами знаем что с этим делать.
php - Ошибки компиляции Eclipse при включении семантического анализа классов SPL
У меня есть проект PHP, который я разрабатываю с помощью Eclipse. Проект размещен на GitHub: https://github.com/elgervb/compact/.
Когда я включаю семантический анализ ( Окно -> Настройки -> PHP -> Семантический анализ ), я получаю всевозможные ошибки компиляции, касающиеся стандартной библиотеки PHP (SPL).
Кажется, он не может найти все классы SPL. Ошибка обычно отображается в окне просмотра ошибок:
Тип ArrayObject не может быть разрешен FileRepository.php / compact / classes / compact / repository / file line 320 DLTK Проблема
Тип Closure не может быть разрешен Router.php / compact / classes / compact / routing line 33 Проблема DLTK
Тип \ PDO не может быть разрешен AbstractPDORepository.php / compact / classes / compact / repository / pdo line 41 Проблема DLTK
... и многое, многое другое.
У меня Zend Eclipse для разработчиков PHP, версия: 3.2.0. В моем проекте есть поддержка PHP. Библиотека PHP Language Library находится на моем пути сборки, она содержит Core API, в котором есть файл SPL.php.
Кто-нибудь знает, как это решить, так как я явно хочу использовать семантический анализ? Кто-нибудь тоже сталкивался с этими проблемами?
0
Elger van Boxtel 11 Июн 2015 в 22:29
2 ответа
Лучший ответ
Я нашел решение. Когда я включил PHP Core Facet и PHP Facet в своем проекте, это сработало.
Перейти к проекту -> Свойства -> Фасеты проекта и включить оба аспекта.
0
Elger van Boxtel 3 Июл 2015 в 11:40
"Проект> Очистить" Работает у меня работает при включенных фасетах, но есть ошибка.
1
TiagusXP 2 Май 2019 в 19:59
Публичная библиотека Такомы теперь взаимна с Публичной библиотекой Сиэтла
Начиная с понедельника, 29 марта, владельцы карточек публичной библиотеки Такомы могут получить библиотечную карточку в Сиэтлской публичной библиотеке, что открывает новое окно в рамках соглашения о взаимном заимствовании.
Получите карточку публичной библиотеки СиэтлаЧтобы заполнить заявку на получение карты публичной библиотеки Сиэтла, посетителям публичной библиотеки Такомы потребуется:
- Библиотечная плата с проверкой тока TPL
- Библиотечная карточка
- Скриншот моей учетной записи
- Электронная почта с подтверждением электронной карты
Заявление можно заполнить лично в любом отделении SPL или онлайн, открывается новое окно на веб-сайте публичной библиотеки Сиэтла.
Заимствовать материалы из публичной библиотеки Сиэтла
- Удерживать до 50 физических предметов
- Оформить до 50 физических товаров
- Размещение до 25 электронных книг и электронных аудиокниг
- Получите до 25 электронных книг и электронных аудиокниг
Держатели взаимных карт должны забрать свои трюмы в публичной библиотеке Сиэтла, открывается новое окно. Запросы межбиблиотечного абонемента исключаются из взаимных соглашений со всеми библиотечными системами.
Получите карточку публичной библиотеки ТакомыПосетители публичной библиотеки Сиэтла могут получить карточку публичной библиотеки Такомы, посетив любой филиал и предъявив удостоверение личности с фотографией с текущим адресом. Если в их удостоверении личности с фотографией не указан текущий адрес, они могут использовать любой официальный документ или почтовое сообщение со своим текущим адресом. Если они не могут посетить физическое место, они могут подать заявку на получение электронной карты TPL, а затем преобразовать ее в стандартную карту (с повышенными привилегиями заимствования), посетив место публичной библиотеки Такомы.
Заимствовать материалы из публичной библиотеки Такомы
Посетители Публичной библиотеки Сиэтла будут иметь следующие привилегии взаймы в TPL, в зависимости от типа библиотечного билета, который они приобретают:
Стандартная карта
- 60 кассовых касс
- 20 овердрайв касс в месяц
- 10 касс Hoopla в месяц
- 10 игровых кредитов Kanopy в месяц
Электронная карта
- Физические проверки не разрешены
- 20 Overdrive, откроется в новом окне кассы
- 10 Hoopla, откроется в новом окне кассов в месяц
- 10 Kanopy, открывается в новом окне играть кредитов в месяц
Поскольку ни одна из библиотек не взимает просроченные штрафы, никакие сборы не будут связаны с просроченными предметами.Плата будет по-прежнему применяться к любым материалам, которые были потеряны или повреждены.
Дополнительная информацияДля получения информации о текущих услугах в публичной библиотеке Такомы посетите веб-страницу TPL Now. Библиотека Fern Hill и Swasey Library теперь открыты для посещения по предварительной записи или без регистрации.
Спасибо нашим друзьям из Публичной библиотеки Сиэтла за это партнерство. Вместе мы расширяем доступ к библиотекам в нашем регионе.
solana-labs / solana-program-library: Коллекция ончейн-программ, поддерживаемых Solana
Библиотека программ Solana (SPL) - это собрание сетевых программ, ориентированных на параллель уровня моря время выполнения.Эти программы проверены на соответствие реализации Solana Sealevel, solana-runtime и развернут в своей основной сети. По мере того, как другие внедряют Sealevel, мы любезно примет исправления, чтобы гарантировать переносимость программ все реализации.
Полная документация доступна на https://spl.solana.com
Развитие
Настройка среды
- Установите последнюю стабильную версию Rust с https://rustup.rs/
- Установите Solana v1.6.1 или новее с https: // docs.solana.com/cli/install-solana-cli-tools
- Установите пакет разработки
libudev
для вашего дистрибутива (libudev-dev
в дистрибутивах, производных от Debian,libudev-devel
в дистрибутивах, производных от Redhat).
Сборка
Обычная сборка груза доступна для сборки программ на вашей главной машине:
Для создания конкретной программы, такой как SPL Token, для цели Solana BPF:
$ токен CD / программа
$ Cargo build-bpf
Тест
Модульные тесты, содержащиеся во всех проектах, можно запускать с:
$ cargo test # <- запускает тесты на хосте $ cargo test-bpf # <- запускает тесты программы BPF
Для запуска тестов конкретной программы, например SPL Token:
$ токен CD / программа
$ cargo test # <- запускает тесты на хосте
$ cargo test-bpf # <- запускает тесты программы BPF
Интеграционное тестирование может выполняться для каждого проекта.js привязки. Увидеть js-проект токен-программы для примера.
Клиппи
Покрытие
$ ./coverage.sh # Помогите, пожалуйста! Сборка покрытия в настоящее время не работает на MacOS из-за несоответствия XCode `grcov` ...
Процесс выпуска
программ SPL в настоящее время помечены и выпущены вручную. Каждая программа версиями независимо от других, причем все новые разработки происходят на мастер. После тестирования программы и ее готовности к выпуску:
Версия отбойника
- Увеличить номер версии в Cargo.toml
- Создайте новый идентификатор программы и замените его в
/program-id.md /src/lib.rs - Запустите
cargo build-bpf
, чтобы обновить соответствующие привязки C. (Обратите внимание расположение сгенерированногоspl_
для прикрепления к Github выпуск.).so - Откройте PR с этими изменениями версии и объедините после прохождения CI.
Создать тег Github
Программные теги имеют вид <программа> -vX.Ю.З.
.
Создайте новый тег при фиксации версии-bump и нажмите на
репозиторий solana-program-library, например:
$ git tag token-v1.0.0 b24bfe7
$ git push upstream --tags
Опубликовать на Github выпуск
- Перейти к пользовательскому интерфейсу выпуска GitHub
- Щелкните «Черновик новой версии» и введите новый тег в поле «Версия тега».
- Назовите выпуск «SPL vX.Y.Z», завершите описание и прикрепите
spl_
binary.so - Нажмите «Опубликовать релиз»
Публикация в ящиках.io
Перейдите в каталог программы и запустите cargo package
для тестирования сборки. Затем запустите Cargo и опубликуйте
.
Все претензии, содержание, дизайн, алгоритмы, оценки, дорожные карты, спецификации и измерения производительности, описанные в этом проекте выполняются с максимальной отдачей от фонда Solana Foundation («SF»). Это зависит от читатель должен проверить и подтвердить их точность и правдивость. Кроме того, ничто в этом проекте не является приглашением для инвестиции.
Любой контент, созданный SF, или ресурсы разработчика, предоставляемые SF, являются только для образовательных и вдохновляющих целей. SF не поощряет, побуждать или санкционировать развертывание, интеграцию или использование любых таких приложения (включая код, составляющий блокчейн Solana протокол) в нарушение применимых законов или правил и настоящим запрещает любое такое развертывание, интеграцию или использование. Это включает использование любые такие заявки читателя (а) в нарушение экспортного контроля или законы о санкциях США или любые другие применимые юрисдикции, (б) если читатель находится или обычно проживает в страна или территория, в отношении которых применяются комплексные санкции авторства U.S. Управление по контролю за иностранными активами (OFAC), или (c) если читатель является или работает от имени Специально указанного национального (SDN) или лицо, подвергшееся аналогичной блокировке или запрещенной стороне запреты.
Читатель должен знать, что законы США об экспортном контроле и санкциях запретить лицам США (и другим лицам, подпадающим под действие таких законов) от операций с лицами в определенных странах и территориях или которые находятся в списке SDN. Как проект, основанный преимущественно на open-source программного обеспечения, такие санкционированные лица могут, тем не менее, обойти запреты, получить код, составляющий блокчейн Solana протокол (или другой код проекта или приложения) и развернуть, интегрировать, или иным образом использовать его.Соответственно, для людей существует риск, что к другим лицам, использующим протокол блокчейна Solana, могут быть применены санкции лиц, и сделки с такими лицами будут нарушением Закон США об экспортном контроле и санкциях. Этот риск распространяется на частные лица, организации и другие участники экосистемы, которые развертывать, интегрировать или использовать код протокола блокчейна Solana напрямую (например, в качестве оператора узла), а также лица, совершающие транзакции на Solana блокчейн через легкие клиенты, сторонние интерфейсы и / или кошелек программное обеспечение.
Публичная библиотека Сиэтла сообщает, что филиал на Капитолийском холме вновь откроется в воскресенье после более чем года закрытия COVID
Более загруженные дни в библиотеке Капитолийского холма (Изображение: Публичная библиотека Сиэтла)
В анналах истории пандемии некоторые могут проследить истинное открытие Капитолийского холма до 11 июля.
Отделение на Капитолийском холме публичной библиотеки Сиэтла будет вновь открыто для посетителей в воскресенье, согласно последним обновлениям системы «Дорога к открытию».
Поскольку его библиотеки возвращаются к личному обслуживанию, SPL требует, чтобы все оставались замаскированными, а некоторые ресурсы, такие как переговорные, остаются недоступными. Другие жизненно важные ресурсы, такие как компьютеры, Wi-Fi и зарядные станции, будут доступны онлайн вместе с обширными коллекциями библиотеки.
Впервые закрытая в начале пандемии в середине марта 2020 года, библиотека на Капитолийском холме вновь открылась после более чем года ограниченного приема и высадки на объекте E на Гарвардской авеню, что является самым длительным перебоями в обслуживании после капитального ремонта 2015 года. здания.
Филиал на Капитолийском холме по адресу 425 Harvard Ave E будет открыт с полудня до 18:00 по воскресеньям и с 10:00 до 18:00 по понедельникам и четвергам. Узнайте больше на SPL.org.
ПОЛНЫЙ ПЕРЕЧЕНЬ ВНУТРЕННИХ МЕСТ И ЧАСОВ
Вновь открытые библиотеки будут работать по следующему графику. Недавно открытые библиотеки выделены жирным шрифтом. Посетите страницу «Часы работы и местонахождение библиотеки» (www.spl.org/Hours), чтобы получить полный список мест и услуг, доступных в настоящее время, а также посетите нашу страницу приюта (www.spl.org/Shelter) для получения списка библиотек с кондиционированием воздуха (также отмеченных в приведенном ниже списке аббревиатурой A / C).
o Часы работы: с 10:00 до 18:00. Со вторника по субботу
o Часы работы: с 10:00 до 18:00. Со вторника по субботу
o Часы работы: с 10:00 до 18:00. Со вторника по субботу
- Центральная библиотека (уровни 1, 3 и 5) (A / C)
o Часы работы: с 10:00 до 18:00. Со вторника по субботу
- Capitol Hill Branch (A / C)
o Открытие: 11 июля, воскресенье
o Часы работы: 10 а.м. до 18:00 Понедельник и четверг; с полудня до 18:00 Воскресенье.
o Часы работы: с 10:00 до 18:00. Вторник и суббота
o Часы работы: с 10:00 до 18:00. Понедельник и среда
- Отделение Дугласа-Истины (A / C)
o Часы работы: с 10:00 до 18:00. Со вторника по субботу
o Часы работы: с 10:00 до 18:00. Понедельник и четверг
o Часы работы: с 10:00 до 18:00. Среда и пятница; полдень до 6 р.м. по воскресеньям
o Часы работы: с 10:00 до 18:00. Среда и пятница; с полудня до 18:00 по воскресеньям
- Международный район / филиал в китайском квартале (A / C)
o Часы работы: с 10:00 до 18:00. Понедельник; с полудня до 18:00 Воскресенье
o Часы работы: с 10:00 до 18:00. Со вторника по субботу
o Часы работы: с 10:00 до 18:00. Среда и пятница; с полудня до 18:00 по воскресеньям
o Время работы: 10.00.до 18:00 Среда и пятница; с полудня до 18:00 Воскресенье
o Часы работы: с 10:00 до 18:00. Вторник, четверг, суббота
o Часы работы: с 10:00 до 18:00. Вторник и четверг
- Филиал Ренье Бич (A / C)
o Часы работы: с 10:00 до 18:00. Среда и пятница; с полудня до 18:00 по воскресеньям
o Часы работы: с 10:00 до 18:00. Понедельник, четверг и суббота
o Часы работы: 10 а.м. до 18:00 Со вторника по субботу
o Часы работы: с 10:00 до 18:00. Четверг; с полудня до 18:00 Воскресенье
o Часы работы: с 10:00 до 18:00. Вторники; с полудня до 18:00 Воскресенье
Библиотеки без кондиционера иногда закрываются из-за высоких температур; находите обновленные уведомления о статусе на веб-сайте библиотеки www.spl.org.
НОВОСТИ ДЛЯ ВСЕХ - СОХРАНИТЕ CHS PAYWALL-FREE
Заработайте CHS и поддержите местную журналистику, посвященную вашему району. ПОДПИСАТЬСЯ ЗДЕСЬ . Станьте подписчиком за 1 доллар / 5 долларов / 10 долларов в месяц, чтобы помочь CHS предоставлять новости сообщества без платного доступа. Вы также можете оформить единовременный ежегодный платеж.
друзей SPL | Публичная библиотека Стиллуотера (Миннесота)
Друзья публичной библиотеки Стиллуотера - это некоммерческая организация 501 (c) 3, созданная членами сообщества с целью ценить, поддерживать и защищать публичную библиотеку.
Почему друзья публичной библиотеки Стиллуотер?
Потому что хорошие друзья создают отличную библиотеку! Друзья в Публичной библиотеке Стиллуотера были созданы членами сообщества для поддержки Публичной библиотеки Стиллуотера.Наша миссия - ценить, поддерживать и защищать нашу библиотеку, поощряя обучение на протяжении всей жизни. Мы ценим нашу публичную библиотеку как источник идей, комментариев, вдохновения и развлечений, который является бесплатным и доступен каждому жителю. С момента основания в 1999 году «Друзья Публичной библиотеки Стиллуотера» через свое членство и проекты по сбору средств внесли более 80 000 долларов на библиотечные материалы и программы.
Продажа подержанных книг
«Друзья» обычно проводят две многодневные продажи подержанных книг в год.Они также поддерживают постоянную торговую площадку подержанных книг в библиотеке круглый год. Средства, полученные от продаж, идут на поддержку материалов и программ Публичной библиотеки Стиллуотер. Из-за COVID-19 были приостановлены многодневные продажи подержанных книг и текущая распродажа книг. Текущая книжная распродажа планируется возобновить к 1 сентября 2021 года. Осенняя многодневная распродажа подержанных книг запланирована на 10–13 ноября 2021 года.
Пожертвования подержанных книг
В ближайшее время планируется собрать подержанные книги:
- Четверг, 19 августа с 10:00 до 19:00, Пандус парковки библиотеки
- Суббота, 30 октября с 10:30 до 15:00, Пандус парковки библиотеки
- Суббота, 6 ноября с 10:30 до 15:00, Пандус парковки библиотеки
Ни один из следующих предметов не будет принят: энциклопедии, журналы, сокращенные книги Reader's Digest, учебники, религиозные материалы, National Geographic, видео, кассеты, частично использованные сборники головоломок, изношенные, испачканные, покрытые плесенью книги или содержащие плесень, почерк или выделение.
Магазин «Друзья стиллуотера» в публичной библиотеке
Рассмотрим покупку в сувенирном магазине «Друзья стиллуотерской публичной библиотеки»: футболки, книжные сумки и открытки. Все вырученные средства помогают финансировать библиотечные фонды и программирование. За дополнительной информацией обращайтесь в Службу общественного обслуживания в библиотеке.
Присоединяйтесь к нам!
Ваше членство поможет увеличить библиотечные фонды, поддержать библиотечное программирование и обеспечить поддержку библиотеки! Организация «Друзья» - это некоммерческая организация 501 (c) 3.Пожертвования, сделанные Друзьям, не облагаются налогом. Чтобы присоединиться, просто распечатайте и заполните форму членства в публичной библиотеке друзей Стиллуотер и отправьте ее в библиотеку.
Чтобы узнать больше, просмотрите нашу брошюру Друзья публичной библиотеки Стиллуотера. Друзья публичной библиотеки Стиллуотер щедро поддерживаются отдельными людьми и организациями в нашем сообществе. Спасибо всем, кто помогает Друзьям Публичной библиотеки Стиллуотер поддерживать библиотечные материалы и программы.
Свяжитесь с нами
Если вы хотите поговорить с кем-нибудь о Друзьях публичной библиотеки Стиллуотер, пожалуйста, свяжитесь с Мэри Энн Сэндин, президентом Друзей публичной библиотеки Стиллуотер, тел. 651-261-3655, или напишите по электронной почте friends2spl @ gmail.com.
Ежемесячные собрания совета директоров
Из-за COVID-19 ежемесячные собрания были отложены до дальнейшего уведомления. Встречи обычно проводятся во второй понедельник месяца в конференц-зале библиотеки (если не указано иное) в 18:30. Общественности предлагается присутствовать.
Друзья SPL - Публичная библиотека Слейтера
Друзья публичной библиотеки Слейтера - это некоммерческая организация, которая оказывает волонтерскую поддержку и финансирование проектов и мероприятий через публичную библиотеку Слейтера.«Друзья» действуют независимо от библиотеки, и все пожертвования направляются на библиотечные проекты, за которые голосуют члены «Друзей».
- Приходите на встречу! Мы делаем встречи короткими и приятными, поэтому вы приходите и уходите за один час.
- Ставьте лайк публичной библиотеке Слейтера на Facebook и подписывайтесь на них в Instagram.
- Присоединяйтесь к списку рассылки друзей SPL, чтобы быть в курсе событий.
- У вас есть учетная запись Amazon? Рассмотрите возможность совершения покупок через нашу учетную запись Amazon Smile:
- Amazon Smile - это программа, которая жертвует 0.5% ваших подходящих покупок друзьям SPL.
- В браузере введите: smile.amazon.com. Затем войдите в свою обычную учетную запись Amazon.
- Оттуда вам будет предложено выбрать организацию, с которой вы хотите синхронизироваться, в данном случае это будет «Друзья публичной библиотеки Слейтера».
- Как только вы совершите покупку, 0,5% автоматически будет передано в дар библиотеке.
- Сделайте пожертвование наличными, чеком или через PayPal.
Имя учетной записи PayPal: friendsofspl @ slaterlibrary.org
Друзья уровня доноров SPL
$ 20.00: друг
50,00 $: Хороший друг
100,00 $: Дорогой друг
$ 250.00: отличный друг
$ 500.00: лучший друг
$ 1000+: V.I.P. Друг
Воспользуйтесь указанной выше ссылкой для пожертвования или отправьте чек на номер:
Друзья публичной библиотеки Слейтера
105 Н. Тама П.О. Box 598
Slater, IA 50244-0598
Сопрезидент - Лора Гибсон
Сопрезидент - Меган Батц
Секретарь - Тиффани Бренделанд
Казначей - Дженнифер Швери
Новая библиотека и общественный центр
«Друзья» работают с библиотекой, общественным клубом Слейтера и городом Слейтер, чтобы помочь собрать средства для новой библиотеки и общественного центра, уделяя основное внимание мебели и технологиям для постоянных посетителей.Для получения дополнительной информации о строительном проекте щелкните здесь.
Бесплатные маленькие библиотеки
Осенью 2020 года Друзья совместно с Raising Readers of Story County установили бесплатные маленькие библиотеки в Слейтере и Келли. Друзья будут использовать пожертвования книг для наполнения библиотек материалами для чтения для детей и взрослых. Маленькая библиотека Слейтера находится на детской площадке в парке Нельсон, а в Келли вы найдете одну, расположенную рядом с остановкой школьного автобуса.
Весенне-осенняя распродажа книг и выпечки
У Друзей в последнее время не было продаж книг из-за COVID.Пожертвования книг также ограничены в настоящее время. Пожалуйста, следите за информацией о будущих событиях.
Охота за пасхальными яйцами
В 2021 году Друзья раздали около 200 книг и призов детям, посетившим «Охоту за пасхальными яйцами».
Программа летнего чтения
Друзья финансируют специальные программы и некоторые из призов Летней библиотечной программы для детей младшего и дошкольного возраста. Специальные живые презентации носят познавательный и развлекательный характер.Поощрение к чтению присутствует повсюду.
Подробная информация о временном местонахожденииSPL - Публичная библиотека Сэндвич, Сэндвич, Массачусетс,
Посетите нас на нашем временном месте
Общественный центр Sand Hill School
16 Dewey Ave., Sandwich, MA 02563
508-888-0625
ЧАСЫ БИБЛИОТЕКИ: с понедельника по субботу с 9:30 до 5
Мы прекращаем вечерние часы во временном месте, но добавили часы понедельника.
- Вход в библиотеку через дверь с надписью Library Entrance.
- При входе верните материалы из библиотеки в синюю корзину, расположенную за углом слева.
- Пожалуйста, не возвращайте товары в кассу.
- Мы снимаем все просроченные штрафы за библиотечные материалы.
- Мы не можем предложить общественные компьютеры, услуги печати / факса, встречи или билеты в музеи
- Городской архив остается закрытым, и у нас очень ограниченная коллекция ресурсов.Для помощи в архивах, пожалуйста, этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. Деб Рич, архивариус.
- Парковка имеется сбоку от дома
- Чтобы узнать, как проехать, проверьте карту на веб-сайте библиотеки или выполните поиск, 16 Dewey Ave., в приложении для навигации.
- Свяжитесь с нами по телефону 508-888-0625. У нас временно только одна телефонная линия. Если мы заняты другим звонком, оставьте голосовое сообщение, и мы перезвоним вам как можно скорее.
У нас и дальше будет сбор данных, и вы сможете забрать свои заезды.
Если вам требуется помощь с доступом к любому из наших цифровых ресурсов, мы рекомендуем вам позвонить нам для получения технической поддержки.
Мы будем применять протоколы социального дистанцирования в нашем новом пространстве, которое значительно меньше, чем место на главной улице. Вас могут попросить подождать, пока вам будет разрешен вход в здание, в зависимости от занятости.
City of Seattle, Public Library (SPL), Main Library # 1, Downtown, Seattle, WA
1000 4th Avenue
Downtown, Seattle, WA 98104-1109
Google Map (новая вкладка)
Google Streetview (новый tab)
Четвертая авеню между Спринг-стрит и Мэдисон-стрит.
Обзор
Корпорация Карнеги в Нью-Йорке профинансировала строительство тысяч публичных библиотек в США в последние годы девятнадцатого и первые десятилетия двадцатого века. Для многих мест строительство новой публичной библиотеки стало признаком культурной зрелости, заменив импровизированные или импровизированные пространства специализированным и технологически современным помещением. Для Сиэтла этот сдвиг был огромным, поскольку предыдущая основная библиотека располагалась в старом особняке Генри Еслера в стиле королевы Анны, который сгорел в 1901 году.Это современное стилистически современное здание изящного искусства, спроектированное двумя хорошо образованными и выдающимися архитекторами, У. Марбери Сомервеллом (1872-1936) и Джозефом С. Коте (1874-1957), стало культурным центром города. много лет. Здесь располагалось первое публичное выставочное пространство Сиэтла (предшественник Художественного музея Сиэтла).
История строительства
Грандиозная библиотека Карнеги в стиле изящных искусств, первая главная центральная библиотека Сиэтла, открытая для публики 19.12.1906, расположенная на участке района Мичем в центре Сиэтла, штат Вашингтон; Карнеги пожертвовал 220 000 долларов, чтобы город смог построить свою первую главную библиотеку; ранее Публичная библиотека Сиэтла занимала места на пятом этаже блока Коллинз (1894-1896), втором этаже здания Риальто (1896-1899) и в доме Генри и Сары Еслер (1899-1901).Потеря 25000 томов, хранившихся в особняке Еслера в 1901 году, потрясла общину, побудив ее искать средства на восстановление у Карнеги.
Чарльз Уэсли Смит (1887–1956), выросший в штате Нью-Йорк, юрист по образованию, с 1895–1907 гг. Работал библиотекарем Публичной библиотеки Сиэтла, и именно он проводил наиболее энергичную кампанию за строительство нового здания. Смит ушел в отставку 30.09.1907, сразу после строительства новой городской библиотеки Карнеги, чтобы работать в качестве государственного экзаменатора муниципальных корпораций штата Вашингтон.Его преемник на посту городского библиотекаря G.A.C. Рочестер, сказал о Смите: «Мистер Решение Смита оставить библиотечную работу и возобновить юридическую практику было глубоко сожалеть его друзья в Сиэтле и в библиотечном мире. Великолепный рост библиотеки за двенадцать лет его правления и нынешнее высокое положение учреждения в обществе - лучшая дань его верному и энергичному служению »(см. , семнадцатый годовой отчет Публичной библиотеки Сиэтла, ). , [Дирборн Типография, 1908], стр.5.)
Примечания к зданию
В 17-м годовом отчете Публичной библиотеки Сиэтла, написанном Рочестером, отражен первый год работы Главной библиотеки SPL, 1906–1907: «Новое здание центральной библиотеки было официально открыто для общественности 19 декабря 1906 года, и поэтому настоящий отчет охватывает первый полный год в новых кварталах. Тираж книг для домашнего использования увеличился с 302 203 в 1906 году до 454 735 в 1907 году, т.е. на 50 процентов. является, пожалуй, наиболее ощутимым свидетельством роста и полезности библиотеки, другие отделы работы демонстрируют соответствующий рост.Шесть читальных залов для общественного пользования были переполнены с самого начала, и мудрость Правления, последовавшего совету г-на Карнеги спланировать здание для будущего расширения, уже очевидна. Такое увеличение использования библиотеки - лучшее из возможных свидетельств того, что щедрость г-на Карнеги ценится жителями Сиэтла. Это также доказывает, что простой перевод библиотеки в красивый и адекватный дом, правильно расположенный, в значительной степени повышает ее эффективность ». (См. Seventeen Annual Report of the Seattle Public Library , [Dearborn Printing Company, 1908], p.6.)
Изменения
Фундамент этого грандиозного здания был разрушен в результате проходки туннелей Великой Северной железной дороги, принадлежащей Джеймсу Дж. Хиллу (1838-1916). Библиотека города Сиэтла подала иск о возмещении ущерба. Необходимо было построить новую парадную лестницу c. 1908, чтобы позволить пешеходам добраться до библиотеки во время проекта реконструкции 4-й авеню. В то время городской инженер Р.Х. Томсон (1856-1949) понизил уровень 4-й авеню на десять футов. Архитекторы Сомервелл и Коте были выбраны для проектирования двух новых террасных лестниц и входов в Публичную библиотеку Сиэтла во время проекта 1908–1909 годов.Somervell and Coté была одной из семи фирм, представивших проекты новых лестниц и подъездов. Их лестница должна была быть построена из камня Тенино. Кустарник был посажен в задней части центральной библиотеки ландшафтным садовником в 1914 году. (См. Даниэль Б. Трефетен, , Двадцать четвертый годовой отчет публичной библиотеки Сиэтла, 1914, , [Dearborn Printing Company, 1914], стр. 6 .) Два уровня подземных хранилищ были добавлены под главную библиотеку Карнеги в Сиэтле c. 1946-1947; стопки охватывали расстояние от Мэдисон-стрит до Спринг-стрит и на полпути от Четвертой авеню до Пятой авеню;
Demolition
Первая специально построенная главная библиотека Сиэтла была снесена в 09/1957.
Идентификатор PCAD: 4097
Кроли, Герберт, «Сиэтлское здание: город великих архитектурных надежд», Architectural Record , 32: 1, 13, 20, 07/1912. «Публичная библиотека в Сиэтле, Вашингтон», Inland Architect and News Record , 51: табличка после стр.