Стинг. Сломанная музыка. Автобиография «Читай-город»
Купить офлайн
Цена на сайте может отличаться от цены в магазинах сети. Внешний вид книги может отличаться от изображения на
сайте.
Цена на сайте может отличаться от цены в магазинах сети. Внешний вид книги может отличаться от изображения на
сайте.
Бестселлер The New York Times.
Искренняя, интеллектуальная и утонченная автобиография автора всемирно известных хитов Shape Of My Heart, Desert Rose и Englishman In New York.
Стинг — музыкант, мультиинструменталист, певец, общественный деятель. Семнадцатикратный обладатель премии «Грэмми», а также лауреат «Золотого глобуса» и «Эмми». Четыре раза номинировался на «Оскар» в категории «Лучшая песня».
Его мемуары рассказывают о детстве в захолустном городке, где он впервые влюбился в музыку, о том, как была создана группа The Police и как она распалась, о первых песнях, о дорогих ему людях и событиях, повлиявших на все творчество Стинга, и, конечно, о признании и предназначении. Он отправляет читателя в затягивающее путешествие по Ньюкаслу 50-х, 60-х и 70-х годов, рассказывая закулисную жизнь британского шоу-бизнеса. Проникновенная история от первого лица, позволяющая увидеть, почему песни Стинга столь мистичны и поучительны, и понять, кто же такой Гордон Самнер на самом деле.
«Каждую страницу книги украшает мастерское владение словом и глубокое уважение к языку, мало чем уступающим музыкальному гению Стинга. Даже описание юношеской жизни начинающего рок-н-рольщика напоминает классическую литературу, лишенную вульгарностей, присущих поп-музыке». — Rolling Stone
«“Сломанная музыка” оставляет ощущение личного катарсиса, что редко встречается в изданиях этого жанра… Вдумчивая и удивительная». — London Spectator
Описание
Характеристики
Бестселлер The New York Times.
Искренняя, интеллектуальная и утонченная автобиография автора всемирно известных хитов Shape Of My Heart, Desert Rose и Englishman In New York.
Стинг — музыкант, мультиинструменталист, певец, общественный деятель. Семнадцатикратный обладатель премии «Грэмми», а также лауреат «Золотого глобуса» и «Эмми». Четыре раза номинировался на «Оскар» в категории «Лучшая песня».
Его мемуары рассказывают о детстве в захолустном городке, где он впервые влюбился в музыку, о том, как была создана группа The Police и как она распалась, о первых песнях, о дорогих ему людях и событиях, повлиявших на все творчество Стинга, и, конечно, о признании и предназначении. Он отправляет читателя в затягивающее путешествие по Ньюкаслу 50-х, 60-х и 70-х годов, рассказывая закулисную жизнь британского шоу-бизнеса. Проникновенная история от первого лица, позволяющая увидеть, почему песни Стинга столь мистичны и поучительны, и понять, кто же такой Гордон Самнер на самом деле.
«Каждую страницу книги украшает мастерское владение словом и глубокое уважение к языку, мало чем уступающим музыкальному гению Стинга. Даже описание юношеской жизни начинающего рок-н-рольщика напоминает классическую литературу, лишенную вульгарностей, присущих поп-музыке». — Rolling Stone
«“Сломанная музыка” оставляет ощущение личного катарсиса, что редко встречается в изданиях этого жанра… Вдумчивая и удивительная». — London Spectator
Эксмо
Как получить бонусы за отзыв о товаре
1
Сделайте заказ в интернет-магазине
2
Напишите развёрнутый отзыв от 300 символов только на то, что вы купили
3
Дождитесь, пока отзыв опубликуют.
Если он окажется среди первых десяти, вы получите 30 бонусов на Карту Любимого Покупателя. Можно писать
неограниченное количество отзывов к разным покупкам – мы начислим бонусы за каждый, опубликованный в
первой десятке.
Правила начисления бонусов
Если он окажется среди первых десяти, вы получите 30 бонусов на Карту Любимого Покупателя. Можно писать
неограниченное количество отзывов к разным покупкам – мы начислим бонусы за каждый, опубликованный в
первой десятке.
Правила начисления бонусов
Исполнитель подобных песен о музыке говорит только с любовью
книга — просто подарок для каждого фаната
Плюсы
шикарный слог;
необычное повествование.
Минусы
—
Стинг
Плюсы
Качественное издание, твердый переплет.
Минусы
Нет.
Первые отзывы об НФ-сборнике «Сломанные звезды»
Этим летом на русском языке вышел сборник рассказов «Сломанные звезды», составителем которого стал писатель Кен Лю. Он же переводил на английский язык книги Лю Цысиня — то есть в значительной степени открыл для Запада китайскую фантастику.
Приводим вам первые отзывы русскоязычных рецензентов о книге.
И вот что я скажу за китайскую фантастику по итогу прочтения этой антологии. Возможно, к именам и названиям не сразу привыкаешь, и философии тут чуть-чуть больше, чем у западных коллег. Но полет фантазии у китайских авторов нормальный, темы общечеловеческие, на эмоциях читателей играют мастерски, с кругозором и образованием тоже все в порядке.
kvadratic
Сейчас в Китае идет время становления своей традиции научно-фантастической литературы. Её невозможно скопировать так же, как чертежи нового холодильника, а можно только взрастить, создать, воспитать.
И тут видится тонкая разница между исторической и прогностической традициями. Своя традиция фэнтези — у Китая есть априори. Громадная история с сотнями придуманных чиновниками и бродягами мифов и предрассудков. Все это погружено в мистику всевозможных оттенков и консистенций — от даосских подмигиваний до буддистских рассуждений. Создать на это почве что-то своё — сравнительно просто. Что вполне наблюдается последние десятилетия в китайском кинематографе. Но как придумать будущее?
В «Сломанных звездах» — авторы пытаются нащупать свою новизну. Они еще, имхо, не лучшим образом умеют отличать её от китайской специфики, потому над ними постоянно висит искушение сделать европейский рассказ с китайскими именами. Но кроме обобщенного «западного» будущего, они начинают думать о своём.
И это разнообразие — вдохновляет.
beskarss78
Некоторые произведения мне напомнили по стилю рассказы Рэя Бредбери, некоторые — Артура Кларка или Айзека Азимова. Это не про космические полеты с приключениями и даже не про далекое будущее, это, в общем, про современную жизнь, в которой привычные нам вещи и процессы вдруг идут по-другому. Некоторые рассказы даже можно и не называть фантастикой, она там играет второстепенную и незначительную роль. Пара рассказов, правда, довольно слабые, но учитывайте, что их авторы только начинают себя пробовать в этом жанре и скорее всего мы скоро увидим много новых и лучших произведений от них.
На мой взгляд, центральное произведение в этой книге — это «Что пройдет, то будет мило» Баошу. Оно выделяется и более сильным сюжетом и оно к тому же тут самое длинное. Однако рассказы позволяют познакомиться нам с новыми авторами в жанре НФ и это очень здорово.
Степанов Сергей
Своеобразный стиль изложения, как, собственно, и язык. Научная фантастика в чистом виде. Читается легко, несмотря на то что в тексте поднимаются серьезные вопросы, которые вольно невольно заставляют задуматься. Очень хорошо и подробно описан Китай, его история и культура. Читаешь и самому хочется оказаться в придуманном мире автора.
Александр Гаврилов
Читайте также:
-
Как Лю Цысинь завоевал популярность на Западе
-
Экранизация «Задачи трех тел»: кто снимается в сериале?
python — BrokenPipeError на сокете
Я создал мессенджер с помощью Python Socket, при использовании двух клиентов, например, когда один пользователь выходит из чата, второй пользователь может отправить еще 1-2 сообщения и после этого сервер перестает принимать сообщения от других пользователей, то есть есть известная ошибка Broken pipe 32. Я понимаю терминологию ошибки, возможно ошибка кроется на моем сервере в цикле While True (цикл, который включает в себя все действия, которые пользователи выполняют среди сами), ведь есть сказочный код в виде:
если не данные: print(f'Пользователь {name1} уходит') перерыв
но он мне нужен, так как без него сервер улетит в прямом смысле, а если сделать подобный механизм, то сервер все равно сможет получать информацию от пользователей.
Надеемся на взаимопонимание, любая помощь будет принята и оценена. Код сервера и клиента ниже:
server: импортный сокет импорт потоков время импорта ХОСТ = '127.0.0.1' ПОРТ = 8888 сервер = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind((ХОСТ, ПОРТ)) server.listen(15) print(f'Сервер {HOST}:{PORT} start.') пользователи = [] сортировка = [] def crypto(текст, ключ): зашифровать = '' для я в тексте: зашифровать += chr(ord(i) + ключ) вернуть шифрование def listen_decode (пользователь, адрес): print(f'IP-адрес пользователя {addr[0]} логин. .') sort.append(пользователь) user.send('Кодировать'.encode('utf-8')) user.send('Имя'.encode('utf-8')) name1 = user.recv(1024).decode('utf-8') пользователи .append (имя1) пока верно: данные = user.recv(1024).decode('utf-8') b1 = время.ctime() атрибут = ' | ' data_crypto = крипто(данные, 4) print(f'{name1} отправил сообщение: {data_crypto} ' + атрибут + '' + b1 + ' ') для я в сортировке: if(i != сервер и я != пользователь): i.sendall(f'{name1} > {data}'.encode('utf-8')) если не данные: print(f'Пользователь {name1} уходит') перерыв защита start_server(): пока верно: user_socket, адрес = server.accept() potok_info = threading.Thread(target=listen_decode, args=(user_socket, addr)) potok_info.start() если __name__ == '__main__': start_server()
клиент:
из окна сообщений импорта tkinter из импорта tkinter * импортировать _tkinter импортный сокет импорт потоков импорт ОС окно = Тк() window. title('Войти') window.geometry('320x200') window.resizable(Истина, Истина) ХОСТ = '127.0.0.1' ПОРТ = 8888 клиент = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((ХОСТ, ПОРТ)) имя = StringVar() пароль = StringVar() def encrypt(текст, ключ): зашифровать1 = '' для я в тексте: encrypt1 += chr(ord(i) - ключ) вернуть шифрование1 защита send_message(): пока верно: данные = клиент.recv(1024) print('\r\r' + data.decode('utf-8') + '\n' + f'you: ', end='') деф чат(): string_name = имя.получить() if('Имя' в client.recv(1024).decode('utf-8')): имя1 = имя_строки client.send(name1.encode('utf-8')) potok = threading.Thread(target=send_message) поток.старт() пока верно: msg = input('вы:') client.send(msg.encode('utf-8')) деф крипт(): string_name = имя.получить() string_password = пароль.получить() пытаться: user_encryption_selection = (encryption_listbox. get(encryption_listbox.curselection()))) кроме _tkinter.TclError: messagebox.showerror('Ошибка', 'Введите тип сообщения') если string_name == 'Джон': если string_password == '5555': если user_encryption_selection == 'Использовать шифрование': window.after(1000, лямбда: window.destroy()) меню = Тк() menu.title('Меню чата') menu.geometry('500x350') menu.resizable(Ложь, Ложь) menu_button = Кнопка (меню, текст = 'Глобальный чат', команда = чат, высота = 1, ширина = 18) menu_button.grid(padx=150) меню.mainloop() еще: messagebox.showerror('Ошибка', 'Ошибка пароля') еще: messagebox.showerror('Ошибка', 'Имя ошибки') запись = запись (окно, текстовая переменная = имя, ширина = 10) entry.grid (столбец = 1, pady = 7, padx = 4) label = Label(window, text='Введите имя:') label.grid (строка = 0, padx = 1) entry1 = Вход(окно, текстовая переменная=пароль, ширина=10) entry1. grid (столбец = 1, pady = 7, padx = 2) label1 = Метка (окно, текст = 'Введите пароль:') label1.grid(строка=1, padx=1) listbox = Listbox (окно, selectmode = SINGLE, ширина = 12, высота = 2) listbox.grid (столбец = 1, строка = 2, pady = 7, padx = 2) Encryption_options = ['Использовать зашифрованное'] шифрование_listbox = Список (окно, selectmode = SINGLE, ширина = 10, высота = 1) шифрование_listbox.grid (столбец = 1, строка = 2, pady = 7, padx = 2) для i в параметрах шифрования: шифрование_listbox.insert(END, я) label_crypto = Label(window, text='Введите сообщение: ', bg='черный', fg='красный') label_crypto.grid (строка = 2) кнопка = Кнопка (окно, текст = 'Ввод', команда = крипта) button.grid (pady = 30) окно.mainloop()
держите сокет, прослушивающий python, избегайте ошибки сломанной трубы
Задавать вопрос
спросил
Изменено
5 лет, 1 месяц назад
Просмотрено
1к раз
Пытался найти решение, но не нашел ни в одном посте.
Я пытаюсь создать систему обмена файлами между двумя сокетами, но когда мой клиент подключается к серверу, при первой отправке сервером я получаю ошибку сломанного канала.
Есть ли что-то, что я должен сделать, чтобы сокет прослушивал или каким-либо другим способом я могу сделать эту передачу?
Я также использую центральный сервер, который делает этих двух своих клиентов парой сервер-клиент на том же IP-адресе, что и один из сокетов. может ли это вызвать эту проблему (я перевел его в спящий режим после создания временной пары)
вот код сервера:
def create_server(self,ip,path): #ip принадлежит серверу список_соединений = [] печать (ip) носок = сокет.сокет (сокет.AF_INET, сокет.SOCK_STREAM) sock.bind((ip, 12345)) print("сервер создан") connection_list.append (носок) носок.слушай(1) # смещение = 0 файл = открыть (путь, "rb") распечатать("файл открыт") пока верно: print("ожидание соединения...") соединение, адрес = sock.accept() print('Новое соединение с %s:%d' % (addr[0], addr[1])) print("принято соединение") connection_list. append(подключение) sock.send(str("Start").encode()) # ЭТО ВЫЗЫВАЕТ ОШИБКУ BROKEN PIPE чанк = файл.чтение(4096) print("Читать фрагмент") если не кусок: перерыв # EOF sock.send(чанк) print("фрагмент отправлен") sock.send(str("ЗАВЕРШЕНО").encode()) print("Перевод завершен") носок.закрыть()
это код клиента:
def create_client(self,ip,file): #ip сервера печать (ip) print("идет скачивание",str(файл)) пытаться: клиент = socket.create_connection ((IP, 12345)) кроме: клиент = socket.create_connection ((IP, 12346)) print("Клиент создан") с open(str(файл), 'wb') как f: socket_list = [клиент] распечатать("файл открыт") данные = клиент.recv (4096) в то время как data.decode()! = "Начать": данные = клиент.recv (4096) пока верно: распечатать("начало") данные = клиент.recv (4096) распечатать("полученные данные") если data. decode()=="ЗАВЕРШЕНО": перерыв f.запись (данные) print("Перевод завершен") е.закрыть() время сна(5) клиент.закрыть()
- python
- python-3.x
- сокеты
- сеть
- сетевое программирование
Проблема в том, что в вашей серверной программе вы пытаетесь отправить данные не в тот сокет.
sock
— это сокет сервера (или главного, если хотите). Это используется только для прослушивания входящих соединений.
[Python]: сокет. принять () в документации указано:
Принять соединение. Сокет должен быть привязан к адресу и прослушивать соединения. Возвращаемое значение представляет собой пару
(подключение, адрес)
, где conn — это новый объект сокета , который можно использовать для отправки и получения данных по соединению , а адрес — это адрес, привязанный к сокету на другом конце соединения.
Измените свою линию (и все другие строки, которые имеют
sock.send
) с:sock.send(str("Старт").encode())
до:
conn.send("Старт".encode())
Строки:
conn.send("ЗАВЕРШЕНО".encode()) print("Перевод завершен")
следует переместить внутрь цикла
while
(с отступом), и, возможно, вы могли бы добавитьconn.close()
в конце цикла.
В вашей клиентской программе:
- Предложение
try
/, кроме
, бесполезно, поскольку сервер не прослушивает порт 12346 - Если файл содержит строку «ENDED» , вы не получите полное содержимое. Я бы предложил сделать ваш конечный тег более сложным (чтобы у него было как можно меньше шансов присутствовать в файле) или лучше:
- Сначала отправьте размер файла, а затем на клиенте, ожидайте именно это количество байтов (может потребоваться проверить [SO]: множественная отправка с сервера на клиентский python (@ответ CristiFati))
.
2
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.