Яйца!
А вот и мои яйцы. Не удержалась.
А вот и мои яйцы. Не удержалась.
Всем привет, Пикабу!
Наверное, это будет самый сложный пост в моей жизни, так как я никогда ранее не вел блог или что-то подобное. Я хочу начать серию постов, которая будет содержать реальные проекты по программированию на фрилансе.
Зачем это? Просто хочется делиться любым опытом с сообществом. Возможно кому-то даже удастся помочь или просто обсудить проект.
Сразу скажу, я не профессиональный программист. Все, что я знаю - черпал в разное время из книг и Youtube. Да, когда-то начинал по книге изучать Delphi, а с помощью форумов и HTML писал для себя простенькие сайты. Прошло довольно много времени, изучение было успешно отложено. Около года назад снова заинтересовало написание кода, выбор пал на распиаренный Python. В общем сейчас владею небольшим багажом знаний по Python, HTML верстке с CSS, JavaScript и немного C# (На C# имеется опыт в написании плагинов для игры Rust).
В данный момент есть огромное желание практиковаться, сталкиваться с трудностями и искать решения. Именно поэтому подался на фриланс. Конечно, я не буду рекламировать площадки при публикации проектов.
Ну и чтобы завершить данный поток написанных слов, расскажу о своем первом опыте на фрилансе. Как и ожидалось мной, опыт был негативным в силу моего доверия к людям. Мне удалось взять задание по редактированию шаблона сайта на Joomla. Ранее я уже сталкивался с этой CMS и базовые принципы работы имелись. Как это обычно бывает, заказчику потребовалось больше, чем было указано в описании задания. Я согласился, так как хотелось получить опыт в реальном заказе. Сейчас я не буду описывать в чем конкретно заключалась задача и ее многочисленные подзадачи в виде "мелких" правок и какова была реализация. Скажу только итог - я выполнил всю работу и не получил за свою работу ни копейки. Да, таков был первый опыт.
Я очень надеюсь, что найдутся те, кому это будет интересно. Надеюсь, что найдутся и те, кто будет тоже делиться своими знаниями. В общем, Пикабу, не кидай камни)
"Лаборатория Касперского" выпустила обновленную операционную систему для тонких клиентов Kaspersky Thin Client 2.0.
Эта платформа предлагает защищенную архитектуру и полезна для компаний с крупной филиальной сетью и географически распределенной инфраструктурой.
Управление инфраструктурой тонких клиентов осуществляется через единую консоль Kaspersky Security Center.
Для входа клиентов в консоль предусмотрен модуль расширения Kaspersky Security Management Suite.Новая версия Kaspersky Thin Client позволяет подключаться к удаленным средам на платформах Citrix Workspace и VMware Horizon через HTML5.
Также поддерживается присоединение к бизнес-приложениям на инфраструктуре Microsoft Remote Desktop Services, Windows Server и терминальных серверах с Windows 10/11.
Увеличена скорость доставки приложений и обновлений. Kaspersky Thin Client 2.0 теперь поддерживает аудиоконференции и печать документов из гостевой ОС.
Изменён дизайн панели подключения к удаленной среде, добавлена персонализация интерфейса и улучшены уведомления с детальными сообщениями об ошибках и советами по их устранению.
2015 Была создана игра agar.io, бразильским разработчиком Матеус Валадарес, спустя 9 лет мира io 2d, многое изменилось, ну например заблокировали в agar.io всех Русскоязычных пользователей из-за СВО, люди донатили а их взяли и удалили...
На этом люди не опустили руки, ведь в поисковике на слову агар заменила их agario.fun - создателем которым был француз ( не помню его имя и фамилию, в твитере раньше с ним общался), сейчас он пропал, но даже это... онлайн есть - игра не развивается, ибо он просто оплатил сервер на 10лет вперёд и забил на неё.
Замена agar.io - Клоны.
1) petridish.pw (рекордным онлайном 7к людей, сейчас там от силы 200человек остальные боты)
2) agma alis gota ogrium sigmally senpa - это все сплошные клоны с одной физикой, с одним движком, и где онлайн от силы +-300 человек, основа этих проектов донат и вечная реклама.
Ну и мы тут так подумали, мы же игроки агар, зачем нам другая стилистика, зачем нам реклама, мы просто хотим ловить вайб 2015 года - поэтому была принято решение просто возродить олд агар с улучшениями под новый домен www.agario.su
Что из этого выйдет я пока не знаю.
Если честно, мне нужна помощь, ибо я не программист, знаю базово nodejs + html + css и конечно же умею юзать chat gpt, но это все не-то!!!
например как поставить такую защиту веб сокета чтоб никто не мог ботоводить, ибо боты убивают игру, убивают интерес - онлайн.
Сейчас игра Agario Official Clone Agar.io сырая полностью, ну например сервер vps имеет 1гб озу 1ghz короче самый дешевый сервер и расположен в Москве. И он один.... то-есть может лагать если будет большой онлайн...
Но онлайна нету прям такого большого, поэтому я пока что не думаю над тем как улучшить конфиг....
И еще у нас нету ssl сертификата то-есть у нас http:// а не https://, это значит что браузер будет писать что это небезопасный сайт и 90% людей не будут посещать его ибо будут боятся, мда...
Но как получить сертификат если у нас клиент index.html не на хостинге даже...
чисто 1 vps сервер где есть игра
То-есть: (server/index.js + client/index.html) = http://agario.su/
Друзья! Много ли платформ вы знаете, где для написания пользовательских приложений используется стек… веб-технологий, причём это единственный нативный способ писать программы? Услышав о HTML5 + CSS + JS, на ум приходит разве что webOS — которая используется в современных телевизорах от LG (а ранее использовалась ещё и в Palm Pre — уникальный смартфон, единственный в своём роде), а олды вспомнят ещё и про FireFox OS, в которой вся оболочка (включая многозадачность, шторку уведомлений и все приложения) также была реализована на JS. Но ни webOS, ни FFOS в своё время не суждено было стать массовыми ОС на смартфонах: сказывались аппаратные ограничения устройств, да и проблемы с портированием уже существующих приложений с других платформ (например, игр). Однако несколько лет назад, проект FireFox OS был форкнут и на свет появилась новая система, предназначенная для… умных кнопочных телефонов с LTE! И имя ей — KaiOS. Вероятно, многие мои читатели слышали о ней и о новых умных кнопочниках от Nokia. Но что из себя представляет система под капотом и чем она может быть интересна гику? Читайте в новом материале!
В наше время, стек веб-технологий стал чуть ли не вторым по важности для разработки клиентских приложений. С появлением PWA и модных MVC-фреймворков, а также таких проектов, как Electron, визуальная составляющая многих приложений радикально поменялась: стало возможным реализовывать кастомный, гибкий и адаптивный интерфейс с поддержкой тем и анимаций буквально в несколько строчек кода. Такой подход значительно упрощает и удешевляет разработку клиентских приложений для популярных сервисов: например, «набросать» своё приложение для MP3-плеера может даже зелёный джун, который только начал писать код.
Первой попыткой сделать PWA-приложения «нативными» был, как ни странно, первый iPhone. iOS 1.0, которая в те годы ещё называлась iPhone OS, не имела AppStore и поддержки нативных ipa-приложений и предлагала просто выносить значки нужных сайтов на рабочий стол. При этом возможность отображения полноценных десктопных сайтов была одна из самых сильных сторон iPhone в те годы! Как показала практика, Стив Джобс немного поспешил с интеграцией PWA на смартфонах и в iOS 2.0 уже был добавлен AppStore, куда разработчики могли публиковать нативные и быстрые приложения!
Alcatel OneTouch Fire E — один из двух смартфонов на FireFox OS в моей коллекции!
Но всё это итак знакомо многим моим читателям: подписчики часто жалуются на то, что современные приложения жиреют и лагают, а ещё тащат за собой целый CEF и миллион npm-пакетов из-за чего даже какие-то простые приложения начинают требовать слишком большие ресурсы. Но кто бы мог подумать, что веб-стек найдет своё место на… кнопочных мобильниках! Казалось бы, дешевые кнопочники не имеют ресурсов для запуска полноценного браузера, их главная задача — именно звонить. Но ведь на складах всё ещё лежат, полагаю, целые стеллажи бюджетных смартфонных процессоров 10-летней давности, которые вполне способы запустить Android… смекаете, к чему я? :)
KaiOS появилась как форк и концептуальное продолжение провалившейся FireFox OS: система от Mozilla предлагала множество интересных концепций и шустро работала даже на очень-очень бюджетных смартфонах, несмотря на веб-направленность. Минимальные требования системы были скромными: ОС шустро работала на бюджетном ZTE Open с 256Мб ОЗУ и чипсетом MSM7225A из 2012 года. FireFox OS работала на ядре Linux, основой был браузерный движок Gecko, а поскольку Mozilla, полагаю, не смогла заручиться поддержкой вендоров чипсетов и хотела, чтобы систему мог портировать на своё устройство любой желающий, для взаимодействия с железом устройства система использовала драйвера для… Android! Поскольку Gecko собирался с использованием стандартного libc, а драйверы использовали bionic, FireFox OS активно использовала библиотеку libHybris, что позволяло портировать систему на уже существующие смартфоны с любыми чипсетами.
LG fx0 — редчайший смартфон на FireFox OS. Правда на фото он на Android :)
Идея системы простая: формально, это один большой браузер (оболочка Gaia), который при запуске приложений создаёт ещё маленькие «браузеры» (элемент webview, это не iframe). Плюсы такого подхода очевидны: отказоустойчивость (потенциально, весь рестарт Gaia — это WebView.Refresh. В случае Android — это закрытие всех приложений и перезапуск app_process), безопасность (нельзя вызвать Private API), лёгкость отладки и малый вес конечных приложений (причём вес — основной критерий для публикации приложения в официальном магазине KaiOS, пакет до 20Мб). Стоит ли говорить о том, что приложение на такое устройство сможет написать даже ребенок, а игру в стиле «Змейки» можно реализовать за пару часов? Порог вхождения значительно ниже даже чем на Android!
В основном, KaiOS разрабатывалась как система, которая должна вывести кнопочные телефоны из разряда «просто-звонилок» и позволить использовать на привычных устройствах современные мессенджеры и различные сервисы (например, тот-же YouTube). Пожалуй, это отнюдь не «прокачанные бабушкофоны», как некоторые могут подумать, а перспективные девайсы с современным железом (поддержка дисплеев высокого разрешения, 3D GPU, LTE) и заделом на будущее, пусть пока и без крутых девайсов в стиле Nokia N-серии. Концепция умных кнопочников не ограничена KaiOS: выходят различные девайсы и на Android, об одном из таких смартфонов я даже писал две отдельные статьи с обзором и моддингом.
Сейчас на барахолках можно найти дешевые девайсы на KaiOS до 2х тысяч рублей, правда свежие Nokia ценятся обычно выше. Мне же достался в подарок Nobby 240 LTE от моего читателя jameskod007, за что ему большое спасибо! Чем такие девайсы могут быть интересны гику? Давайте посмотрим!
Под капотом у устройств на KaiOS трудятся старые и такие знакомые многим читателям бюджетные чипсеты, как MediaTek MT6572 (использовался в смартфонах до 3-4х тысяч рублей в 2014-2015), SpreadTrum SC7731E (наследник SC7731 2014 года с другим GPU) и Qualcomm 205 (судя по всему, наследник Snapdragon 200 — популярного чипсета 2014-2015 года, который использовался, например, в Lumia 520). Само собой, это позитивно сказывается на цене устройства: зачем в девайс с дисплеем 240x320 ставить 800'ый Snapdragon? :)
Значительным плюсом подобных устройств является простота обслуживания. По правде сказать, здесь и ломаться то особо нечему: дисплей относительно надежно защищен от внешнего влияния с помощью воздушной прослойки и защитного стекла, а элементная база смартфона весьма маленькая и «не ломучая». Разбирается смартфон просто: достаточно лишь открутить несколько винтов с обратной стороны корпуса и расщелкнуть телефон пластиковой картой. Что забавно — такие формы корпусов будто «унифицированы» среди производителей дешевых телефонов, никто, почему-то, не экспериментирует с корпусами в стиле а-ля Nokia N-серий.
Перед нашим взором открывается плата. К сожалению, я пока не видел на кнопочных смартфонах UART в открытом виде, иначе давно бы реализовал что-то типа такого. На плате мы можем заметить, что LTE-версия Nobby 240 работает на достаточно свежем Spreadtrum SC9820E с двумя 64-битными ARMv8 ядрами Cortex-A53 на частоте 1.3ГГц и GPU Mali T820 MP1, а также с LTE модемом. Чип выполнен по техпроцессу 28Нм, максимальное разрешение дисплея — 480x854 (т. е. DSI матрицы всё таки поддерживаются, параллельно с DBI). Весьма шустрый чипсет для девайса такого класса, его едва ли можно назвать «бабушкофонским», подобные характеристики были флагманскими для смартфонов ~2012 года. Для сравнения — простые кнопочники все еще работают на ARMv5 ядрах на частоте около 200-300МГц.
Дисплей припаян и приклеен к плате, подключен к процессору при помощи 16-битного протокола 8080, а не MIPI DSI, как в современных смартфонах. Его разрешение — классические 240x320. Поиск его замены скорее всего не составит труда, хотя точная модель контроллера мне пока неизвестна (предполагаю, либо ILI9341/ILI9325, либо ST7731, либо так любимый китайцами GC9306).
А вот клавиатура — болячка таких девайсов. По каким-то причинам, пластиковые толкатели кнопок очень быстро изнашиваются и кнопки начинают дребезжать (нажиматься несколько раз одновременно), либо не прожиматься. Это очень обидно и неприятно, но быстрофикс есть — напечатать крохотные проставки на 3D-принтере.
В остальном, конструктивно девайс вполне хорош и надежен. Корпус почти не поддается трещинам и царапкам, при аппаратных болячек его относительно легко диагностировать. Ну не замечательно ли? Давайте глянем, чем интересен девайс с точки зрения веб-разработчика!
Для разработки нам потребуется совсем немного: любой текстовый редактор (хоть блокнот), FireFox 59 и platform-tools с adb для Android.
В первую очередь, на смартфоне необходимо включить режим отладки, который активируется набором кода *#*#33284#*#* (DEBUG) в номеронабирателе. После этого, в шторке уведомлений появится значок «жука». На некоторых устройствах, режим отладки активируется прямо в настройках. После этого, смартфон будет виден через adb и мы сможем дебажить на нем свои приложения!
Теперь нам необходимо накатить «древний» FireFox 59, это последняя версия с поддержкой WebIDE и возможностью деплоя под FireFox OS от 2018 года. WebIDE — это дебаггер и менеджер приложений для экосистемы Mozilla, активируется с помощью хоткея Shift + F8. Не забудьте отключить авто-обновление в настройках браузера!
После этого, нам необходимо связать WebIDE с нашим смартфоном с помощью «Remote Runtime». Однако перед этим, нам необходимо форварднуть adb-сокет с помощью команды:
adb forward tcp:6000 localfilesystem:/data/local/debugger-socket
После этого, мы жмем «Remote Runtime» и «Runtime Info», дабы получить информацию о нашем девайсе и убедится что всё нормально:
Создаём новое приложение и вперед творить! По правде сказать, я практически не знаю, каких приложений особо не хватает на KaiOS. ВК частично есть, YouTube почти полноценный, WhatsApp тоже реализован… не хватает разве что Telegram? Но я лично не смог бы полноценно чатится с телефона такого типа (и дело не в форм-факторе), поэтому я решил запилить ради прикола приложение-виджет для просмотра погоды в моём городе :)
У каждого приложения есть манифест, который объявляет используемые разрешения, значки и различные данные, необходимые для публикации приложения в магазине приложений. Существует три типа приложений: «web» (Hosted web apps — или, фактически, PWA), «privileged», и «certified» (приложения с доступом к критичным функциям смартфона типа СМС. В привилегерованном режиме, приложения могут обращаться к службам KaiOS, таким, как например Bluetooth и настройках сети.
{
"name": "WeatherApp",
"description": "Погода OpenWeatherMap",
"launch_path": "/index.html",
"type": "certified",
"icons": {
"16": "/icons/icon16x16.png",
"48": "/icons/icon48x48.png",
"60": "/icons/icon60x60.png",
"128": "/icons/icon128x128.png"
},
"developer": {
"name": "monobogdan",
"url": "http://example.com"
}
}
Сначала я сверстал простенький интерфейс для приложения. Логика простая: поскольку это приложение-виджет, при его запуске отображается прелоадер (анимация загрузки), а как только данные загружены — программа показывает блок content и скрывает анимацию загрузки. Никаких фреймворков типа React я тащить не стал, но для более сложных приложений придётся продумывать более сложную логику для реализации диалогов.
Не ругайте за <center>! Я не веб-разработчик, адаптивные верстки делать не умею :))
<body>
<center>
<img id="loader" src="progress.gif" width="32" height="32" style="margin-top: 50%;" />
</center>-
<div id="content" style="display: none;">
<center>
<img id="weather" src="rainy.png" />
<h4 id="weatherText">Плейсхолдер</h3>
</center>
<div style="margin: 5px">
<h4 id="temperature">Температура: </h3>
<h4 id="wind">Ветер: </h3>
</div>
</div>
</body>
Фетчить данные мы будем с OpenWeatherMap, хотя можно попросить доступ к API и у Gismeteo. Формат запросов у API очень простой — фетчим данные о погоде в локации относительно координат широты/долготы, при этом встроенный API для геокодинга поможет найти координаты того или иного района в городе. Делаем вот такой GET-запрос:
queryWeather(onReady)
{
var req = new XMLHttpRequest();
req.onreadystatechange = () => {
if(req.readyState == XMLHttpRequest.DONE) {
var json = JSON.parse(req.responseText);
if(json != null)
onReady(json);
}
};
req.open("GET", "https://api.openweathermap.org/data/2.5/weather?lat=" + this.lat + "&lon=" + this.lon + "&appid=" + this.APIKey + "&units=metric&lang=ru");
req.send();
}
И получаем вот такой ответ:
{
"coord": {
"lon": 46.7129,
"lat": 38.2741
},
"weather": [
{
"id": 804,
"main": "Clouds",
"description": "пасмурно",
"icon": "04n"
}
],
"base": "stations",
"main": {
"temp": 280.43,
"feels_like": 277.88,
"temp_min": 280.43,
"temp_max": 280.43,
"pressure": 1016,
"humidity": 86,
"sea_level": 1016,
"grnd_level": 822
},
"visibility": 10000,
"wind": {
"speed": 3.87,
"deg": 37,
"gust": 6.15
},
"clouds": {
"all": 100
},
"dt": 1713137075,
"sys": {
"type": 1,
"id": 7509,
"country": "IR",
"sunrise": 1713147419,
"sunset": 1713194930
},
"timezone": 12600,
"id": 142549,
"name": "East Azerbaijan",
"cod": 200
}
Конечно, разобрать его очень и очень легко. Обновляем представление нашего приложения (я не юзал селекторы):
updateWeatherData()
{
this.api.queryWeather((response) => {
this.loader.style.display = "none";
this.content.style.animation = "myAnim 2s ease 0s 1 normal forwards";
this.content.style.display = "block";
var weather = "sunny";
if(response.weather[0].main.includes("Rain"))
weather = "rainy";
if(response.weather[0].main.includes("Cloud"))
weather = "cloudy";
this.weatherIcon.src = weather + ".png";
var textDesc = response.weather[0].description;
textDesc = textDesc.charAt(0).toUpperCase() + textDesc.substring(1);
this.weatherText.innerHTML = textDesc;
this.temperatureText.innerHTML += response.main.temp + '℃';
this.windText.innerHTML += response.wind.speed + "м/с";
});
}
И получаем следующий результат:
Вся логика программы уложилась в 85 строк кода. Преимущества веб-подхода и «жабоскрипта» при грамотном использовании очевидны, согласитесь? Опять-же повторюсь, я не веб-разработчик, мои познания в JS ограничиваются «олдовым» стилем уровня начала-середины 2010х годов, я, вон, даже jquery тащить не стал.
Изначально материал должен был состоять из двух частей: обзор «клиентской» части девайса с приложениями на веб-стеке и выкидывание B2G, дабы реализовать нечто подобное одной из моих более ранних статей. Но вендор смартфона подложил «свинью»: у устройства залочен загрузчик и разблокировать его штатными средствами невозможно. Вообще, инфраструктура FireFox OS имеет много общего с Android изнутри, так что я попробовал с помощью патчера magisk'а пропатчить бут и залить в него su… но увы, девайс валился на верификации signed-образа и отказывался прошивать раздел! За это жирнющий минус вендору.
Если хотите взять подобный девайс для моддинга и экспериментов, присмотритесь к девайсам на Android, или KaiOS на базе MT6572/SC7731 — те обычно разблокированы с завода. Например, год назад я сделал первую кастомную прошивку для Android-кнопочника и написал для него кастомный лаунчер.
Я лично буду очень рад, если ЕС обяжет вендоров смартфонов давать возможность заводской разлочки загрузчиков, иначе это ущемление в правах тех людей, которые покупают смартфон с изначально открытой системой!
Вот такой материал про KaiOS у нас с вами получился. Теперь вы и сами знаете, что девайс может быть интересен не только как «бабушкофон» или продвинутая звонилка, но и как платформа для реализации каких-то собственных прикольных фишек :)
Какие применения могут быть у такого девайса? Да самые разные! Например:
Маленький фронтэнд для данных с микроконтроллера: тут уже и дисплейчик небольшой есть, и кнопки, а также GPU, если нужно показывать какие-то данные в 3D. Почему-бы и нет?
BT-плеер в машину: пилим фронтэнд к ВК Музыке/Спотику или еще какому-либо сервису, коннектим по BT и получаем миниатюрный автомобильный самодостаточный плеер, который еще и аккумулятор относительно долго держит :)
Часы с погодой: частичную реализацию этого проекта я уже представил в статье. Собственно, а почему-бы и нет? Многие смартфоны от Motorola и Sony с док-станциями сейчас так и используют. Почему бы не заюзать для этого и девайс на KaiOS?
Надеюсь вам было интересно! Пишите своё мнение, есть ли перспективы у смартфонов на KaiOS? Также у меня есть свой Telegram-канал, куда я выкладываю бэкстейдж со статей, различные заметки о ремонте, моддинге и программировании под девайсы прошлых лет и вовремя публикую линки на новые статьи. Подписывайтесь!
Насчёт машины
Друзья! Те читатели, которые подписаны на меня наверняка знают о том, что я коплю на покупку ТАЗика, дабы реализовать интересный проект с разработкой самопального ГУ "из того что было" по самому дешману. Сейчас у меня есть чуть более 100.000 рублей, из которых 8.000 рублей - донаты читателей! В Ейске, на юге, за такие деньги купить относительно живой по мотору и, что немаловажно, с +- целым дном тазик сложновато. Я даже Волгу и Москвич рассматривал как вариант, но Волга ушла, а у Москвича мотор не родной. Если вам нравятся мои статьи и вы хотите помочь материально будущему проекту - с помощью формы ниже можно помочь проспонсировать проект!
Если вы вдруг живете в Ейске или в 50км от Ейска и вы или ваши знакомые продают относительно живой ТАЗик (кроме классики, критерии - на ходу, чистые документы и не совсем панорамное дно. Машинка может быть помята, с плохим ЛКП и конечно другими косяками, машина ведь не новая!) - пишите в ТГ @monobogdan!
Статья подготовлена при активной финансовой поддержке TimeWeb Cloud. Не стесняйтесь пользоваться их услугами, если вам нужен VDS, выделенный сервер или иные облачные услуги. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать интересные технические статьи каждую неделю!
Всем привет. Возможно я выложу таких несколько постов. Мы ищем программиста готового повторить старую .mobi игру. Как раньше существовали порталы Wap на которых и игры размещались и тд по типу Tegos. Нужно создать онлайн игру вот как она должна выглядеть:
Сделать нужно красиво, чтобы смотрелось не вырвиглазно. Был интузиаст который пытался разрабатывать игру один, но вот результат
ЕСЛИ ВЫ ГОТОВЫ ВЗЯТЬСЯ ЗА РАБОТУ. НАПИШИТЕ СВОЙ ТЕЛЕГРАММ ПОД ЭТИМ ПОСТОМ. РЕШИМ ВОПРОС С ЦЕНОЙ.ЖДУ НАДЕЮСЬ НАЙДЁТСЯ ЧЕЛОВЕК.
Руководство для «чайников» (с примерами и картинками)
Так уж получилось, времени свободного у меня много, да и делать я особо ничего не умею, но чем-то же надо заняться.
Вот и маюсь от безделья, пример ниже, сойдет за картинку для привлечения внимания.
Давеча, снизошла на меня благодать, озарение, поучу-ка я других чему-нибудь несложному, напишу статью попроще, буду её перечитывать, самодовольно приговаривая: «Вот, можно же рассказать всё простым человеческим языком, не то, что в этих ваших интернетах».
Поговорим о том, как написать книгу, проиллюстрировать и найти своего читателя. Да, тема избитая, ну и что? Новый контент мало кто генерит, больше переводами промышляют или мусолят одно по одному, а я что, рыжий?
По закону удержания внимания, который я только что выдумал сам, читателей надо заинтересовать с самого начала, не то разбегутся. Картинку все посмотрели? О ней позже, пока же держите кинцо, оно тяжеленькое, но того стоит.
Можете пересмотреть на два раза, мне не жалко.
Перейдем к делу. Букв будет много, кому видосик понравился, домучают из любопытства, а нет – меня не колышет, уж извините, поведу от простого к сложному, потом обратно, далее влево, вправо и кругами, то есть хаотично и бессистемно, на то есть причина. Если излагать строго по порядку, то всё равно что-то да упустишь и непременно какой-нибудь деятель с «камчатки» поднимет руку и ляпнет «Александр Васильевич, а тут вы …» и начнёт умничать.
Встал и вышел из аудитории!!!
‼! Коснёмся иллюстраций: разглагольствовать можно о чем угодно, но помните, самая лютая дичь канет в Лету, а жопу кошки запомнят. Вывод: графический материал обязателен
Обмарать бумагу – полдела, текст требуется оформить подобающе и тут нам поможет связка «HTML-CSS-скрипты», помогающая вашему творчеству заиграть в интернете всеми красками, так что рассмотрим писательство через призму веб-дизайна и программирования, кратенько, без фанатизма, зато с примерами.
Можете меня бить или наоборот похвалить, но кода не будет почитай вовсе и на то есть резоны.
Во-первых, статья не для гениев писана, сыщется Моцарт, способный с листа силой мысли компилировать партитуру в исполняемый файл, затеет нудёж, тут скобочку не закрыл, пропустил точку с запятой, а это ха-ха-ха, делается иначе, станет прилюдно высмеивать, ненавижу, пусть выпьет яду и топает с миром.
Во-вторых, я – говнокодер, самый настоящий и осознаю это. Оправдание имеется – кодирую редко, мало, просто и листингов никому не показываю, чего уж позориться. Короче умному пошаговый алгоритм не нужен, а дураку бесполезен и, так как мы все тут люди не глупые, пояснять принципы буду тезисно. Простое и без слов ясно, а где чуть сложнее, сам разбираюсь смутно, самописного-то фиг да нифига, остальное украдено.
Раз уж зашла речь про авторское право, скажу прямо, Интернет без границ, хожу, где хочу, что увижу – прихвачу. Как всем известно – быстро схваченное украденным не считается, в руки попало – значит моё, спёр как те галоши из парадной, не верну и не жалею ни о чём.
В общем с правами всё просто, чужого не жалко, а своего и нет ничего: кому код понадобится, картинка приглянулась или скрипт какой поглядеть приспичит - заходите на сайт и берите, что хотите.
С затянувшимся вступлением покончено. Перейдем к сути.
Итак, что же делать, если твёрдо решил написать книгу? Решил и решил, молодец, возьми с полки пирожок, а теперь садишь и пиши. Написал? Ну и чудненько. Возьми еще пирожок. На этом всё. Точка.
Как видите ничего сложного в литературе нет, главное начать да кончить, плевое дело.
Как? И на этом всё?!? – воскликнет читатель.
В принципе да. Ладно-ладно, вот подсказка: хода нет – ходи с бубей, не знаешь с чего начать – не мудри, начинай с начала, например так:
Давным-давно, в далекой-далекой Сибири жил-был маленький я, слушался маму, ел кашу до последней ложки, ездил на электричке, напевал себе под нос песенку про «Голубой вагон», считал столбы и таращил детские глазёнки через прорезанную в картинке дырочку-окошко на проплывающий за окном пейзаж background-image + animation: scrollBackground 20s linear infinite; @keyframes scrollBackground {.... и так далее .
Голубой вагон детства промелькнул и умчался стремительно, повзрослевший я в окно уже не таращился, эка невидаль, краем глаза считал столбы, свёрстанные отдельными div’ами, недоумевал, какого чёрта нужно мучиться с Эксплорером, почему нельзя сразу как у людей сделать под Windows 3.1 нормальный Хром последней версии, гадал, когда же, наконец, изобретут поддержку множественных background’ов, взвешивал, зачем всё это нужно, если инет устроен просто - берёте картиночки и двигаете друг относительно друга как подскажет фантазия, а между делом злился на каких-то испортивших кадр старперов, вместо собеса прущихся на Завод.
Тащился на Завод вкалывать и я, обладающий зачатками цифрового интеллекта молодой специалист, рос над собой и попутно учил своих возрастных коллег работать на современной, стоившей как самолёт, компьютерной технике, вот такой. грудившись дружным коллективом вокруг заморского девайса мы завороженно считали проходы бегающей туда-сюда каретки и плодили много нужных и полезных для производства распечаток. Работа спорилась.
Неужели эту нудятину будут читать? – удивитесь вы. – Что это вообще было?
Да! Я написал автобиографию. А что?! Жанр не затертый, с положительным харизматичным героем проблемы отпадают сами собой, выдумывать ничего не надо, выкладывай, как оно есть на самом деле и точка.
Хорошо, вильнём немного в сторону и обсудим, о чём же писать книгу, коли сподобитесь, чтобы было интересно.
Страдания, метания, терзания героев, становление чистых душ… бр... Все мы в детстве усвоили из правильной литературы – мальчиш-кибальчиш хороший, а плохиш, ясен пень, плохой, быть плохим – плохо, поэтому вот вам восьмой сон Веры Павловны, юноша с топором от философа-девианта, да Повесть о настоящем человеке, как вишенка на торт. Духовность в гору. И как вам результат?
Серьёзная литература не учит ничему, бесполезная депрессивная тягомотина, моё мнение, никому не навязываю.
Так о чём же? О колдунах, эльфах и зомби? Есть желание – спасите принцессу и пусть себе гуляет какая бабочками, осчастливьте её, наворотив целый мир, населите его единорогами и розовыми пони. Может быть сваяете женский роман?
Типичный женский роман
Прогрессирующая по сюжетной линии героиня, назовём её, допустим, Мэри, академия одна штука, гонка за лутом, фраг-другой и вот оно – тыдыщь, над головой красотки воссияет заветная цифра «мадемуазель Сью, уровень повышен, вы переходите…». Хотите – творите, хозяин-барин.
Можете накалякать о жучках-козявочках. Ищете известности в узких кругах насекомых или ваша фамилия Даррелл, шевелите усиками и подсекайте за животным миром, но помните, люди по натуре своей эгоцентричны, любят читать о человеках, для них и старайтесь, а чтобы уж совсем окончательно разобраться с целевой аудиторией, знайте, самое употребимое местоимение – «Я», поэтому не мудрите, пишите о себе, для себя и сами же и читайте, будьте самодостаточны.
Про самого-то себя почитать всякому интересно.
Вот таков мой совет, да.
С целевой аудиторией худо-бедно определились, ставим крыжик.
Важно! Без любовной линии читать не будут! Должно быть про любовь и секс даже если требуется FAQ к инсталляции принтера. Удерживайте внимание читателя!
Вставьте в текст бабу, а лучше двух-трех, книгу бабой не испортишь, есть такая поговорочка и делайте с ними что хотите. Не знаете как? Я покажу!
Женщины – прекрасная половина человечества, общеизвестный факт.
Как же выбрать лучшую, достойную вашего пера?
Люди, получившие хорошее образование, изъясняющиеся матаном и умеющие писать «регулярки», несомненно знают немало способов прошерстить выборку из генеральной четырехмиллиардной совокупности, но уверяю, мудрить не надо, выбирайте в пределах досягаемости ту, у которой юбка короче.
Вот, например, едешь ты такой в электричке и вместо того, чтобы считать столбы, коси глазом по сторонам. На Заводе девки тоже водятся, ловко маскируются, но, если присмотреться, опытный глаз безошибочно выделит среди одинаковых фуфаек, краг, касок и суконных штанов с ватным подбоем, хорошенькую особь.
Глаз мужчины – око хищника, реагирует на движение, то бишь выбираем самую вертлявую, девчата это знают, по натуре еще те выдерги и кривляки, стараются как могут, но если вам маловато будет, то гибкости можно и добавить.
Как? Я покажу!
Приметим подходящую девушку и
Лютая расчленёнка, женщина, разрезанная на две половины, где вы еще такое увидите?
руководствуясь наставлениями великого Леонардо, разрежем её по горизонтальной оси, проще говоря по пупку, получим две неравноценные половины прекрасной половины – верхнюю и нижнюю.
Какая из них лучше – вопрос дискуссионный, не будем его касаться. После успешно проведённой расчленёнки обратим внимание на редко используемое свойство transform: matrix(), позволяющее с изначально прямоугольной картинкой проделывать интересные штуки: зеркалить, смещать, вращать, превращать в параллелограмм. Свойство анимируется, если удачно подобрать коэффициенты и временные рамки, то ополовиненная девка станцует вальс, тверк, ламбаду или твист, тот самый, где «носком правой ноги вы как будто давите окурок… Оп-оп-оп-оп-оп! Второй окурок давите носком левой ноги… Теперь оба окурка вместе».
Пишем соответствующе подобранную анимацию, для другого фрагмента тела,
@keyframes lambada_top {
0% {transform: matrix(1, 0, -0.07, 1, 0, 0);}
50% {transform: matrix(1, 0, 0.07, 1, 0, 0); }
100% { transform: matrix(1, 0, -0.07, 1, 0, 0); }
}
не забывая про точку трансформации transform-origin: ();, относительно которой идёт джига-дрыга, объединяем обе части в единое целое и получаем ожившую картинку достойного качества. Пример - в заголовке, кто не рассмотрел - вот оно живьем по ссылочке.
‼! Поэкспериментируйте на фотографиях коллег с последнего корпоратива. Кому интересны протокольные рожи в разделе «О компании». Добавьте коллективу гибкости и драйва. Шефу понравится.
Кстати, если кому-то любопытно, чем занята девушка, расскажу. Она – крановщица и готовится помогать мне в проведении ремонта подшефного оборудования – выбирает устойчивую позицию. Я – юный ремонтник, в электрических цепях релейки пропал контакт и мостовой двухбалочный кран встал намертво, от опытных товарищей известно – искра может появиться, если постучать по шкафу с электрикой. Сейчас совместными усилиями будем качать и трясти шкаф. Где не ясно?
с разливочным ковшом на подвеске. Ничем не примечательная картинка, налагаем скриптовую магию и вуа-ля. Колдунство тут, а кому не видно – выбросьте свой девайс и пользуйтесь взрослым компьютером.
Эх, молодость. Когда-то я выглядел так:
Я в юности
худой, веселый и задорный, офисной креветкой сидел за обычным канцелярским столом, тщился вырасти в акулу бизнеса. В обязанности технического специалиста, уверенно отличающего болт от винта, входила работа с другими конторскими служащими, разницу между метизными изделиями не ощущающими и помимо инвентаризации думающими о всякой ерунде, например о югославских сапогах.
Дамочка мечтает об импортных сапогах
Дефицитнейшая вещь! Ох, были времена, очереди, сапоги по блату с чёрного входа одна пара в руки по талонам… на два размера меньше… номерок на ладошке… вас здесь не стояло… ы…, такую страну просрали, у… Целый этаж женщин, все в одинаковых сапогах и все счастливы! Югославия! Это вам не войлочные боты какие или говнодавы от фабрики «Скороход», понимать надо, импорт! Хромированные пряжки из нержавеющей стали, здоровенные, острющие, вся спина в порезах, чудом уши сберёг.
Мда…
Так, о чем это я? Ах да, стол. Если вы молоды и у вас есть стол, то вы – подающий надежды бюрократ-столоначальник и по правилам игры вам полагается двигаться в гору по служебной лестнице, а чтобы дело шло веселее, приданный подчиненный персонал надо перетряхивать, дабы не залёживался.
Двигать мебель и не только сподручно при помощи свойств transform: translate() rotate() scale();, которые анимируются. И еще всякие имеются, кому интересно, пусть разбираются.
Итак, использовав несколько строчек кода, на выходе вместо двух аватарок мальчика и девочки, рандомного офисного стола и безымянных сапог, получаем вполне годную композицию для иллюстрации здоровой атмосферы в трудовом коллективе.
Да, чуть не забыл! Не пренебрегайте порядком расположения div’ов в HTML- коде! Позиция в некоторых вопросах имеет очень важное значение, смотрите не перепутайте!
И напоследок, чтобы закрыть женский вопрос, посмотрим картиночку.
Посмотреть как оно устроено, можно тут
Всё тот же едущий слева направо передним планом background, имеется шторка-дверка и за ней скрывается демонстратор картинок с хороводом тёток, по молодости и не такое бывает. Подсчитывать девушек пошло, глупо и в чём-то даже оскорбительно для партнерш, но тут не виноват, нумеровать кабинеты придумал не я, инвентаризация – дело серьёзное, требует систематичности, значит работаем по списку согласно утвержденного графика и если цифры идут в восходящем порядке, то всё как-то получается само собой.
***
Эх, времена, приятно вспомнить.
Продолжение отложим на следующий пост, и так длинновато получилось, наговорил много, запишите, иначе всё позабудете.
Записывайте себе в заметки, со временем наберется на книжечку, например такую
Книжка необычная, называется Руттер. Ведьма одна писала
На этом пока всё. Кому видео понравилось, как оно устроено на самом деле можно поглядеть тут,
Щелкайте по плюсикам, по оглавлению, выбирайте картиночку :-)
У банера верстка поехала или они слишком много денег заплатили?)
Тогда этот вызов для вас! Мы зашифровали звездных капитанов команд нового юмористического шоу, ваша задача — угадать, кто возглавил каждую из них.
Переходите по ссылке и проверьте свою юмористическую интуицию!