На рынке браузеров сейчас складывается грустная монополия Chrome и Chrome-based движков. Монополия Internet Explorer 6 задержала развитие интернета на 15 лет. Использование Chrome своего доминирующего положения не за горами.
Поддержи Firefox как единственный альтернативный движок для браузера
#skills #trends
Поддержи Firefox как единственный альтернативный движок для браузера
#skills #trends
👍10🔥2
Расклад по РФ чуть лучше. Яндекс смог взять 20% рынка, пусть движок тот же Blink, что и у Chrome.
👍5🔥2
Мобильные браузеры тоже под Chrome. Кусок рынка Safari от пользователей IOS. Есть некий Samsung Internet с 5%, впервые такое вижу. А он с 2016 года взял 5% и не отдаёт.
👍2🔥2
В РФ на рынке мобильных до 2014 года правила Opera с долей аж до 80% (в 2010). А потом владельцы потеряли все полимеры.
👍4🔥1
Для Mobile в РФ яндекс проигрывает гуглу. Почему? Средний пользователь мобильного телефона не лезет в настройки и пользуется всем по умолчанию. Отсюда всякие законодательные инициативы о предустановке или обязанности предоставления выбора при первом запуске
👍3🔥3👎1
Как удобно использовать сложный пароль? Речь про конструкции вроде
JVoZlEoHk~?rsnJFCZ1pJ%IEp
На помощь приходят менеджеры паролей:
– 1Password
– Bitwarden
– LastPass
– KeePass
и многие другие. Тут важна безопасность, поэтому убедитесь в отсутствии громких утечек от выбранного менеджера паролей за последние годы.
Можно пользоваться только оффлайн-хранилищем и не использовать облачную синхронизацию. Чуть менее удобно, зато ваши пароли не утекут. Можно синхронизировать пароли через файловую шару типа дропбокса. А если файл с паролями ещё и зашифровать... Ляпота.
PS: не доверяйте свои пароли браузеру. Мы же параноики, верно?
#skills
JVoZlEoHk~?rsnJFCZ1pJ%IEp
На помощь приходят менеджеры паролей:
– 1Password
– Bitwarden
– LastPass
– KeePass
и многие другие. Тут важна безопасность, поэтому убедитесь в отсутствии громких утечек от выбранного менеджера паролей за последние годы.
Можно пользоваться только оффлайн-хранилищем и не использовать облачную синхронизацию. Чуть менее удобно, зато ваши пароли не утекут. Можно синхронизировать пароли через файловую шару типа дропбокса. А если файл с паролями ещё и зашифровать... Ляпота.
PS: не доверяйте свои пароли браузеру. Мы же параноики, верно?
#skills
👍11🔥2
Пятничное развлекательное
Немного разобраться в себе и окружающих поможет старый советский фильм Я и другие – 50 минут результатов психологических исследований. Способны ли вы идти против мнения толпы? Насколько точна ваша память? Есть ли на столе черная пирамидка или обе белые?
Частично схожие вопросы поднимаются в просто идеальном фильме Трасса 60. Как люди отнесутся к оригиналу картины известного художника, если выдать её за подделку? Как будет выглядеть город, где живут только адвокаты? Что будет, если легализовать наркотики? Описание получилось отстойным, но фильм, право, очень хорош.
#fun #films #edu
Немного разобраться в себе и окружающих поможет старый советский фильм Я и другие – 50 минут результатов психологических исследований. Способны ли вы идти против мнения толпы? Насколько точна ваша память? Есть ли на столе черная пирамидка или обе белые?
Частично схожие вопросы поднимаются в просто идеальном фильме Трасса 60. Как люди отнесутся к оригиналу картины известного художника, если выдать её за подделку? Как будет выглядеть город, где живут только адвокаты? Что будет, если легализовать наркотики? Описание получилось отстойным, но фильм, право, очень хорош.
#fun #films #edu
YouTube
Я и другие (1971). Феликс Соболев (хороший звук)
http://www.school.mbis.biz/
Этот фильм открывает глаза на многие парадоксы в поведении людей. Рекомендую посмотреть каждому. Появляется шанс честно посмотреть на себя, свое окружение, оценить свои установки и предпринять шаги, направленные на исправление…
Этот фильм открывает глаза на многие парадоксы в поведении людей. Рекомендую посмотреть каждому. Появляется шанс честно посмотреть на себя, свое окружение, оценить свои установки и предпринять шаги, направленные на исправление…
🔥10👍7
🔥30🤯5👍2
Нельзя не вспомнить классический комикс от xkcd correct horse battery staple для запоминания пароля.
Кстати, у нас уже была подборка про xkcd. Жми 🔥, если хочешь продолжения подборки
Кстати, у нас уже была подборка про xkcd. Жми 🔥, если хочешь продолжения подборки
Telegram
DevFM
Пятничное развлекательное.
Среди ИТ-тусовки весьма популярен ресурс xkcd, существующий и на английском, и на русском языках. Это множество комиксов совершенно разного содержания, от чисто развлекательных до весьма познавательных (например, как создать стойкий…
Среди ИТ-тусовки весьма популярен ресурс xkcd, существующий и на английском, и на русском языках. Это множество комиксов совершенно разного содержания, от чисто развлекательных до весьма познавательных (например, как создать стойкий…
🔥12
DevFM
Одним из вариантов безопасной пересылки данных является передача зашифрованного rar/zip архива с паролем. В rar есть удобная галочка "шифровать имена файлов", когда названия файлов внутри архива не показываются. Но rar формат проприетарный, что плохо с точки…
Как сформировать надёжный мастер-пароль для менеджера паролей, о которых мы писали ранее? Самым простым, при этом самым неломаемым вариантом будет кусок стихотворения со всей пунктуацией.
Я вас любил: любовь ещё, быть может,
Это почти идеальный пароль. Можно ещё добавить спецсимволов вместо пробелов или ещё как-то усложнить текст одному вам понятным образом.
PS: Не используйте свои любимые цитаты. Выбранный фрагмент должен иметь нулевую связь с вами, как личностью.
#skills #sudo #devfm
Я вас любил: любовь ещё, быть может,
Это почти идеальный пароль. Можно ещё добавить спецсимволов вместо пробелов или ещё как-то усложнить текст одному вам понятным образом.
PS: Не используйте свои любимые цитаты. Выбранный фрагмент должен иметь нулевую связь с вами, как личностью.
#skills #sudo #devfm
Telegram
Вестник
Одним из вариантов безопасной пересылки данных является передача зашифрованного rar/zip архива с паролем. В rar есть удобная галочка "шифровать имена файлов", когда названия файлов внутри архива не показываются. Но rar формат проприетарный, что плохо с точки…
👍12🔥2
Bash — скриптовый язык с довольно неприятным синтаксисом. Но и на нём можно писать достойно. Встречайте – видео об идеальном bash-скрипте (или на рутубе).
#youtube #skills #devfm
#youtube #skills #devfm
YouTube
Идеальный скрипт на bash | Bash ideal script
Телеграмм-канал про python и не только https://t.me/+b7-UPCwNIZdhMDIy
Репозиторий с кодом скрипта https://gitlab.com/anetto-/bash-ideal-script
Опрос stackoverflow 2022 https://survey.stackoverflow.co/2022/#section-version-control-version-control-systems…
Репозиторий с кодом скрипта https://gitlab.com/anetto-/bash-ideal-script
Опрос stackoverflow 2022 https://survey.stackoverflow.co/2022/#section-version-control-version-control-systems…
🔥12👍2
Попроси программиста проверить 10 строк кода, он найдёт 10 проблем. Попроси его проверить 500 строк кода, он скажет: "выглядит норм".
На ревью кода надо отправлять небольшие наработки. Чем больше фрагмент кода для ревью, тем сложнее дать обратную связь. Либо легче — можно скипнуть внимательный анализ и просто проверить работоспособность, совершенно не вдаваясь в детали. Но польза от такого ревью невелика.
Как научиться писать хороший код? Прочитанное в книгах совсем не сразу преобразуется в ваш опыт. В разработке огромный пласт знаний образуется в результате практики написания и, что более важно, чтения чужого кода. Читайте чужой код, господа — это самый быстрый способ роста скилла разработки. Если код хорош — то вы научитесь как надо писать. Если код плох — вы увидите, как писать не надо, и сможете дать обратную связь (если вас об этом попросили, прошу заметить).
#procode #devfm
На ревью кода надо отправлять небольшие наработки. Чем больше фрагмент кода для ревью, тем сложнее дать обратную связь. Либо легче — можно скипнуть внимательный анализ и просто проверить работоспособность, совершенно не вдаваясь в детали. Но польза от такого ревью невелика.
Как научиться писать хороший код? Прочитанное в книгах совсем не сразу преобразуется в ваш опыт. В разработке огромный пласт знаний образуется в результате практики написания и, что более важно, чтения чужого кода. Читайте чужой код, господа — это самый быстрый способ роста скилла разработки. Если код хорош — то вы научитесь как надо писать. Если код плох — вы увидите, как писать не надо, и сможете дать обратную связь (если вас об этом попросили, прошу заметить).
#procode #devfm
👍3🔥2
Давайте посмотрим на 10 строк кода.
Вроде всё хорошо. Классическое открытие файла с помощью контекстного менеджера with, классическая построчная обработка. Разбиваем строку, записываем в список словарей. Всё ли по канону? Неа:
1. Смотрим документацию: readlines возвращает список всех строк файла. Значит, для большого файла может быть беда. Современный питон позволяет итерироваться сразу по объекту file_. Просто пишем
for line in file_:
2. raw_line[0] и прочие индексы — это всегда ужас. Заменяем на
fio, login = line.split(";")
Вроде то же самое, но мы сразу понимаем, что было в строке. И тут же видим следующую проблему.
3. А что, если в строке нет двоеточия, или этих двоеточий больше одного? То есть нужна обработка ошибок на исключение ValueError, если справа split вернул не два значения. Добавляем try-except.
4. Частая проблема split — это лишние пробелы. Скорее всего, потребуется strip всем переменным после split.
Итого 4 ошибки на 10 строк кода
#python #codereview #devfm
Вроде всё хорошо. Классическое открытие файла с помощью контекстного менеджера with, классическая построчная обработка. Разбиваем строку, записываем в список словарей. Всё ли по канону? Неа:
1. Смотрим документацию: readlines возвращает список всех строк файла. Значит, для большого файла может быть беда. Современный питон позволяет итерироваться сразу по объекту file_. Просто пишем
for line in file_:
2. raw_line[0] и прочие индексы — это всегда ужас. Заменяем на
fio, login = line.split(";")
Вроде то же самое, но мы сразу понимаем, что было в строке. И тут же видим следующую проблему.
3. А что, если в строке нет двоеточия, или этих двоеточий больше одного? То есть нужна обработка ошибок на исключение ValueError, если справа split вернул не два значения. Добавляем try-except.
4. Частая проблема split — это лишние пробелы. Скорее всего, потребуется strip всем переменным после split.
Итого 4 ошибки на 10 строк кода
#python #codereview #devfm
👍14🔥4
Hoverboard — небольшой интерактивный комикс... Как бы не так. Это почти бесконечное полотно с миллиардом отсылок. Простой выйдите за пределы карты. Саму карту и объяснение отсылок можно найти тут. А zoomable-карту от фанатов — тут
#fun #xkcd
#fun #xkcd
Explainxkcd
1608: Hoverboard - explain xkcd
Explain xkcd is a wiki dedicated to explaining the webcomic xkcd. Go figure.
🔥7
Теперь посмотрим на переработанный код. Docstring вырезан для краткости. Код теперь крут:
1. Есть аннотация типов
2. С файлом работаем через контекстный менеджер, то есть закрыть не забудем — оно само
3. Не забыли про запрет использования file как ключевого слова, поэтому file_
4. При разбиении строки по точке с запятой используем именованные переменные
5. При ошибках — кастомные исключения. DownloadError название спорное, я бы заменил на ParsingError. Но если файл побился при скачивании, то самое то
6. Добавляем значения в список, не забывая обрезать лишние пробелы по бокам.
В общем, каждая строка на своём месте. Что можно улучшить? Я бы заменил result на logins, тогда и выходной словарик будет называться как надо.
#python #codereview #devfm
1. Есть аннотация типов
2. С файлом работаем через контекстный менеджер, то есть закрыть не забудем — оно само
3. Не забыли про запрет использования file как ключевого слова, поэтому file_
4. При разбиении строки по точке с запятой используем именованные переменные
5. При ошибках — кастомные исключения. DownloadError название спорное, я бы заменил на ParsingError. Но если файл побился при скачивании, то самое то
6. Добавляем значения в список, не забывая обрезать лишние пробелы по бокам.
В общем, каждая строка на своём месте. Что можно улучшить? Я бы заменил result на logins, тогда и выходной словарик будет называться как надо.
#python #codereview #devfm
🔥9
Словарь student (или result) во вчерашнем примере не является удобной конструкцией, ФИО доступно как student["fio"]. Кроме того, мы демонстрируем наружу внутреннее представление, нарушая принцип инкапсуляции. Замена словаря на список, например, заставит переписать весь код, который использует эту структуру данных. Какой может быть выход?
Создадим класс Student и превратим словарь в экземпляр класса. Можно использовать namedtuple из collections, но мы пойдём своим путём. Бонусов много:
1. Мы скрываем внутреннее устройство студента. Наружу мы отдаём только пару полей, откуда мы их берём никто снаружи не знает
2. Можем к студенту добавлять методы. Например, вывод фамилии с инициалами в стиле Иванов И.И. — теперь это в нашей власти
3. Можем добавить новые способы создания этого студента, например, данные брать из базы данных.
Пока методов нет, надо выключать диагностику pylint, а то нам будет ругаться " у класса слишком мало публичных методов". Не забываем включить её обратно после класса.
#python #codereview
Создадим класс Student и превратим словарь в экземпляр класса. Можно использовать namedtuple из collections, но мы пойдём своим путём. Бонусов много:
1. Мы скрываем внутреннее устройство студента. Наружу мы отдаём только пару полей, откуда мы их берём никто снаружи не знает
2. Можем к студенту добавлять методы. Например, вывод фамилии с инициалами в стиле Иванов И.И. — теперь это в нашей власти
3. Можем добавить новые способы создания этого студента, например, данные брать из базы данных.
Пока методов нет, надо выключать диагностику pylint, а то нам будет ругаться " у класса слишком мало публичных методов". Не забываем включить её обратно после класса.
#python #codereview
👍8🔥2