Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 2 months, 1 week ago
? Trust me. I'm an engineer
? Доверься мне. Я инженер
Уровень: Бытовой ?
‣ Для меня грамматика является очень важным аспектом в переписке и написании постов. Ошибки есть и неизбежно будут, я все же не лингвист. Но правильное написание слов и пунктуация, хоть и по наитию, сильно упрощает восприятие информации в тексте. Пусть база подписчиков у меня небольшая, а читающих и по пальцам можно пересчитать, я считаю важным не только писать грамотно, но и излагать мысли в логическом порядке и красиво оформлять посты. Поэтому я не перегружаю их яркими раздражающими эмодзи, не кричу капсом и ставлю запятую перед пробелом ,а не после?
Еще одна мелочь, которой я стараюсь придерживаться — укорачивать длинные ссылки. Мои посты просто нафаршированы обилием ссылок на источники и разные ресурсы. Telegram и Slack предоставляют возможность сделать из обычного слова ссылку, что делает текст лаконичным и не перегруженным. Представьте, что бы было, вставляй я ссылки как есть ?
На создание и оформление поста уходит от одного часа и более. В этом всем, я считаю, выражается уважение к читателю и моему собеседнику. Я на своем опыте ощутил, насколько сложно читать текст без запятых и прочих знаков препинания. Я не требую от своих собеседников соблюдения грамматики, но, порой, очень сложно уловить, что хотел сказать автор. Иногда даже приходится переспрашивать. А безобразно оформленные посты и статьи я вообще не читаю. В этом плане культура и политика Хабра мне нравится: публикации с плохой грамматикой либо не проходят модерацию, либо удаляются, либо закидываются дизлайками, что портит репутацию и даже карму аккаунта
———
Хотите больше грамотных и хорошо оформленных постов? Тогда оставайтесь на связи ?
? #SearchingForHolyGrail#SearchingForHolyGrailPHP ♯2.2 В поисках святого Грааля. PHP pt 2
Уровень: Сложный ?
Продолжение предыдущего поста. Сегодня поговорим только о преимуществах PHP, ибо недостатки уже не влезли ?
(Пост крайне технический, не пугайтесь)
⊶ Мои хотелки. Преимущества
⊕ Сравнительно строгая типизация. Сейчас можно цеплять типы на много что: аргументы и возвращаемое значение функций, свойства классов. Но нельзя на переменные, что очень большой промах…
⊕ Экосистема. Есть форматтеры, язык хорошо поддается статическому анализу, описаны некоторые стандарты PSR, которые покрывают большинство базовых потребностей: логгирование, кэширование, автозагрузка и п.р. — и которых придерживаются все разработчики крупных фреймворков и библиотек. Экосистема языка может потягаться с NodeJS и JVM. Принятый обществом стандарт кода вообще задает единый стиль, что очень помогает при чтении чужой писанины
⊕ IDE PHPStorm ни разу не уступает аналогам для других ЯП. Я думаю, что особенности языка, единый стандарт и устоявшиеся подходы дают больше комфорта в написании кода, чем работа с JS/TS. Правда, на моей практике PHPStorm гораздо лучше справляется с PHP, чем WebStorm с JS и PyCharm с Python
⊕ Интерпретатор невероятно шустрый. Его оптимизировали по полной. Запуск целого фреймворка с нуля занимает миллисекунды, чем не могут похвастаться большинство современных популярных языков. Принцип "скрипт запускается на время запроса и умирает после ответа" требует очень эффективной работы интерпретатора, с чем PHP отлично справляется
⊕ Концепция умирающего скрипта упрощает понимание флоу у приложения и дает некую гарантию от утечек памяти.
⊕ Сильная рефлексия дает мощные возможности для разработчиков библиотек. Например, атрибуты дают возможность настраивать роутинг прям на методах, а возможность разобрать класс на запчасти породила мощнейшие DI контейнеры и ORM библиотеки.
⊕ Приятный синтаксис. Не шумный, легко читается. Особенно очень нравится разделение неймспейсов обратным слешем (\My\Namespace
) и объявление переменных долларом ($myVariable
). Но это так, вкусовщина
⊕ Дебаггер Xdebug прекрасно интегрируется с PHPStorm. Их дуэт дает шикарные возможности для построчного исследования приложения с доступом к содержимому переменных и стеком вызовов
⊕ Синхронность скриптов значительно упрощает дебаг и устраняет проблему с гонкой данных. Что одновременно является недостатком, но об этом потом
———
Преимуществ много. По крайней мере из того, что я вспомнил. Но и недостатков немало — где-то столько же, может больше ? Будет интересно, оставайтесь на связи ?
« Предыдущий | Оглавление | Следующий [WIP] »
? #SearchingForHolyGrail#SearchingForHolyGrailPHP ♯2.1 В поисках святого Грааля. PHP pt 1
Уровень: Простой ?
С этим языком у меня гораздо больше всего опыта в коммерческой разработке, поэтому мне есть, что сказать. Поэтому выйдет не один пост, а целая подсерия из нескольких, потому что в один не умещается ?♀️
⊶ Моя история отношений с языком
В классе 8 учитель по информатике предложил мне реализовать один достаточно интересный проект. Перед летними каникулами мы разработали идею, обсудили все и дали проекту гордое название "GameTest"
. Учитель дал мне учебник по PHP 5.7
(возможно это была она). Этого было достаточно, чтобы сделать первую альфа версию приложения. Ужаснее кода я никогда не писал. С этого и началась моя карьера веб-разработчика. После школы с этим опытом меня пригласил мой друг (подписывайтесь, кстати), который поднатаскал меня по языку на самописном фреймворке Macropod. Затем был Molticlub (который сейчас не работает), на котором я освоил ООП через Yii2. И в конце был Axmit, где я уже познакомился с Laгavel, что подтолкнуло меня к уходу из разработки.
РНР стал мемом — язык, который незаслуженно все ненавидят и высмеивают. Но, откровенно говоря, с 7й версией он стал языком энтерпрайз уровня. 8я версия вообще огонь. Вы только посмотрите! 5я версия, Wordpress и низкий порог входа создали языку незаслуженно плохую репутацию. Но экосистема развилась знатно. Хотя phpsadness.com вполне объективно обозначает недостатки языка.
Посмотрите на эти занятные диаграммы. Плохому языку такую красоту не нарисуют?
———
Это первый из (возможно) четырех постов. Как я говорил, мне есть что сказать☺️ Оставайтесь на связи ?
Уровень: Бытовой ?
Я тут заметил одну вещицу. Может вы подтвердите мои наблюдения. У некоторых людей есть несколько особенностей, которые ярко выражены именно у определенной возрастной группы:
‣ Использование Viber. Есть ли кто-то, кто на полном серьёзе использует Вайбер? Есть ощущение, будто это социальная сеть исключительно для "молодых душой"
‣ Отправление электронных открыток отвратительного качества. Со всякими "доброе утро", "хорошего дня" или "жизнь прекрасна". Нередко анимированных какими-то блестками
‣ Просмотр и распространение длиннющих 10-15 минутных видео со слайдами картинок, частенько сопровождающимися авторскими душещипательными песнями качества "караоке"
‣ Нередко эти видео отправляются не как видео, а как файл, который нужно еще скачать и посмотреть средствами ОС
‣ Просмотр YouTube, TikTok или отправленных сообщений в общественных местах на полную громкость
Список наверняка не полный, может вам найдется, что добавить? Кажется, будто это настигает многих в определенном возрасте. Надо бы написать нотариально заверенное волеизъявление, чтобы, если у меня такое начнется, мне ограничили доступ в интернет ?
Как всегда, оставайтесь на связи ?
? #SoftwareRecommendation — Universal Android Debloater GUI
Уровень: Средний ?
Хочу поделиться одним инструментом, которым пользуюсь после каждой покупки очередного Android'a: Universal Android Debloater GUI
Эта штука использует различные обходные пути, позволяющие отключать встроенные неудаляемые приложения. В их базе 2400 проверенных приложений, 1341 которые рекомендованы к удалению. Я, конечно, удаляю не все. Ведь в списке у них не только то, что бесполезно, но и то, чем я пользуюсь. Google Maps и Chrome (хотя кого я обманываю, их я тоже удаляю), например. Но на слабых телефонах с маленькой памятью это позволяет и батарею сэкономить, и место. Пусть он не удаляет сам пакет, но не дает приложению больше работать и генерировать ненужный мусор.
Первые на выселение у меня "Ok Google" подслушиватель и Гугловый Ассистент. Также всяческие Google Drive, Google Toolbox и com.facebook.appmanager
*, который с какого-то перепугу стоит в каждом телефоне (зачем он мне вообще, если я даже трогать их продукты не хочу).
Также есть софт, который идет вместе с линейкой определенного производителя: браузер, заметки и прочая мишура. Самый яркий пример, это Realme "App Market". Мало того, что он неудобный и ничего там стоящего нет кроме каких-то сомнительных игр, так еще и открывает все Google Play ссылки. Theme Store тоже в топку. С последней моей очистки, я удалил более 20ти приложений. 20 бесполезных приложений, Карл! Хорошо, что эту возможность еще не прикрыли.
Правда приложение не для домохозяек. Документация на английском, установка может быть совсем не тривиальной, а удаление пакетов вообще рискованным. Ничто не мешает случайно поломать систему, удалив даже "рекомендованный к удалению" приложение. Но если ты знаешь, что делать, и готов рискнуть, то можно получить гораздо более шустрое устройство без лишнего мусора.
Печалит один момент: последний коммит был 10 апреля (9 месяцев назад), что наводит на мысль, что проект заброшен. Однако есть многообещающий форк, где контрибьютят минимум каждую неделю. Уверен, что такой инструмент не останется без мейнтейнеров. Чтобы не пропустить другие рекомендации, оставайтесь на связи ?
* Компания Meta Platforms Inc., владеющая социальными сетями Facebook и Instagram, по решению суда от 21.03.2022 признана экстремистской организацией, ее деятельность на территории России запрещена.
#SoftwareRecommendation #AndroidApps
GitHub
GitHub - 0x192/universal-android-debloater: Cross-platform GUI written in Rust using ADB to debloat non-rooted android devices.…
Cross-platform GUI written in Rust using ADB to debloat non-rooted android devices. Improve your privacy, the security and battery life of your device. - 0x192/universal-android-debloater
*?#SearchingForHolyGrail
*♯1 В поисках святого Грааля. Pascal
Рубрику откроет Pascal. Олдскулы не свело?) Это мой первый настоящий язык программирования со школьных времен, если не считать робота и черепашку, конечно. Дальше выполнения олимпиадных задач я ничего на нем не делал. Моим Паскалем был FreePascal. Я до сих пор не знаю, чем он отличается от TurboPascal ? Есть Delphi, который либо является неким подмножеством, либо очень похожим языком на Pascal, который используется в более серьезных кейсах. Можно еще посмотреть на Lazarus, интересный проект
Язык был создан для обучения школьников и студентов программированию. И со своей задачей он справляется на все ? . Он интуитивно понятен и очень читабелен. У него есть все примитивы для выполнения полного спектра задач, но отсутствие элементов ООП, функциональных языков и высокоуровневых абстракций делает его сложным в написании более сложной логики — он сугубо императивный. Что в общем не так важно для учеников, которым нужно написать программу длиною в сотню строк
Я помню, как мы в школе хотели писать на Си. Круто, модно, солидно. Но учитель был непреклонен. И со временем я понял почему. Хотя в своей сути эти языки очень похожи — они императивные — в Си весь менеджмент памяти ложится на плечи самого программиста, чем можно выстрелить себе в ногу. А зачем это ученику, который просто хочет сложить a+b
?
⊶ Мои хотелки
Первый важный для меня момент — Паскаль компилируемый. Возможность собрать программу в самостоятельный бинарник очень здорово упрощает менеджмент окружения. Второй — у него строгая типизация, каждая переменная имеет свой изначально и явно обозначенный тип
⊶ Моя позиция
Паскаль является отличной отправной точкой в мир программирования. Отсутствие кучи обёрток и удобностей (классов, итераторов, автоматического приведения типов и пр) помогает развить логику и думать как компьютер. Если есть возможность, рекомендую начать с этого языка. Python и JavaScript просты в изучении и хороши для создания реальных приложений, но скрывают очень важные аспекты программирования. После Паскаля можно пойти в более индустриальные и практичные языки: от Си до Питона
Скоро расскажу и о других языках. В комментариях можно оставить тот, который особенно интересует. А пока оставайтесь на связи ?
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 2 months, 1 week ago