Давайте абьюзить баг в java.lang.String
, который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки равны между собой. Научимся прожаривать строки в чужих классах.
User
Firefox остался один
Кажется, мы стоим на пороге монополии одного браузерного движка. Вроде бы браузеров много: Chrome, Firefox, Edge, Safari, Brave, Opera, Vivaldi, Tor и десятки других… Но если присмотреться, картина вовсе не такая разнообразная. Большинство из них сделано на одном движке — Chromium. Даже Microsoft убила Internet Explorer и перешла на Chromium. Это значит, что мы возвращаемся к монополии, как в начале 2000-х годов. Только тогда это была монополия Microsoft, а сейчас — Google. Возможно, единственная сохранившаяся альтернатива — это Mozilla Firefox.
Девять советов по повышению производительности Kubernetes
Всем привет! Меня зовут Олег Сидоренков, и я работаю в компании ДомКлик руководителем команды инфраструктуры . Эксплуатируем кубик в проде уже больше трёх лет и за это время пережили с ним много разных интересных моментов. Сегодня я поведаю вам, как при правильном подходе, можно выжать из "ванильного" Kubernetes еще больше производительности для вашего кластера. Ready steady go!
Самые нестрашные яды
И снова привет, %username%!
Спасибо всем, кто оценил мой опус «Самые страшные яды».
Было очень интересно почитать комментарии, какими бы они ни были, было очень интересно отвечать.
Я рад, что «хит-парад» понравился. Если он не понравился — ну что ж, я сделал всё, что мог.
На написание второй части меня вдохновили именно комментарии и активность.
Итак, представляю очередную смертельную десятку!
Рабочее место и 4k@60Hz
Доброго времени суток уважаемые читатели, под катом рассказывается о выборе способа подключения 4k монитора к ноутбуку и подводных камнях совсем не новых технологий. Возможно такой пользовательский опыт и выводы будут кому-то полезны при выборе и покупке железа, особенно учитывая тот факт, что его стоимость неуклонно растёт относительно средней покупательной способности населения.
Запускаем Telegram-бота на Android устройстве (Remote Bot for Telegram)
Идея родилась не на пустом месте: я часто пропускал входящие звонки и СМС, когда телефон был в куртке или в кармане, поэтому мне нужен был дополнительный способ уведомлений. А так как я активно использую Telegram на компьютере, то подумал, что было бы не плохо, если бы входящие СМС и пропущенные звонки приходили в Telegram. Немного покопавшись, я решил написать бота.
Почему Hackintosh уже актуален. Развенчание мифов
Каждому iOS разработчику нужен свой уголок с печеньками, плюшевой уточкой и шайтан-машиной на OSX.
В свете перехода на Swift, мощность железа стала особенно востребована. Чтобы комфортно разрабатывать под айфоны, нужен как минимум процессор с частотой 3+ ghz, SSD на 120-250Gb и оперативы гигов 16. Все это как раз для того, чтобы не было желания посмотреть футбол, пока запускается проект или открывается interface builder.
А знаете, что еще было всегда актуально? Сумасшедшие цены на яблочные устройства:
PC с таким же, плюс-минус, железом можно запросто собрать всего за 30.000 рублей! (инфа на ноябрь 2016). Многие, конечно, думают, что раз компания покупает железо, то значит финансы бесконечные, можно не стесняться в средствах. Если вы работаете в Google, то вам повезло и жизнь хороша. Но в остальных случаях это не так.
Что же делать? Не разрабатывать же под Android в конце концов?
Под катом мы узнаем о современном Hackintosh, его роли в разработке, способам безболезненной установки и настройки, услышим мнение людей, работающих на нем не первый год, и проведем тест на iOS инструментах.
Очереди и блокировки. Теория и практика
Александр Календарев ( akalend )
Здравствуйте, уважаемые коллеги! Мой доклад будет про вещь, без которой не обходится ни один HighLoad-проект — про сервера очередей, и если успею, то расскажу про блокировки (примечание расшифровщика — успел :).
О фундаментальных ошибках в дизайне языков программирования
Значительно большей проблемой времён дизайна языка С (и затем С++) мне кажется другое — оператор for. При всей его кажущейся безвредности — это просто кладезь потенциальных ошибок и проблем.
Давайте вспомним классическое его применение:
for (int i = 0; i < vec.size(); i++)
{...}
Что же здесь может пойти не так?
Три задачи для программистов, которым не нужна математика
Сервисы для проверки навыков тестирования на проникновение
В прошлом топике я опубликовал обзор дистрибутива PentestBox со ссылками и описанием входящих в него утилит. Надеюсь вам хватило времени ознакомиться с ними и изучить функционал. Сегодня я предлагаю вам несколько сервисов для тестирования своих навыков на практике. Это специализированные сервисы, абсолютно легальные и позволяющие всем желающим проверить свои знания и умения.
«pip -t» — простая альтернатива virtualenv
TL;DR
Чтобы просто установить и изолировать зависимости проекта, virtualenv часто оказывается слишком тяжелым решением. Предлагаем простую альтернативу:
- добавить
./.pip
в переменную окруженияPYTHONPATH
, - установить пакеты локально с помощью
pip install -t .pip
, - запускать
python
из папки проекта.
Upgrade до Middle PHP-разработчика за 3 месяца
В очередной раз на меня свалилась задача найти хорошего PHP-программиста.
По результатам прозвона потенциальных кандидатов, 90% тех, кто мнит себя Middle, на самом деле Junior и годы опыта не спасают, потому что клепают однотипный код в пределах заданий, посланных свыше.
Прописал минимальный план желающим сделать рывок и перейти на следующий уровень без отрыва от производства.
50+ лучших дополнений к Bootstrap
Благодаря популярности CSS фреймворка Bootstrap, для него разработали массу различных дополнений. Даже сейчас вы можете использовать Bootstrap практически для любой задачи при разработке и оформлении вебсайта.
Для статьи я подобрал наиболее полезные дополнения «на все случаи жизни».
30 чудных библиотек для PHP программистов
300 потрясающих бесплатных сервисов
Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.
A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета
- HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
- Bootswatch: Бесплатные темы для Bootstrap.
- Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
- Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
- Strikingly.com Domain: Конструктор веб-сайтов.
- Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
- Withoomph: Мгновенное создание логотипов (англ.).
- Hipster Logo Generator: Генератор хипстерских логотипов.
- Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
- Invoice to me: Бесплатный генератор счета.
- Free Invoice Generator: Альтернативный бесплатный генератор счета.
- Slimvoice: Невероятно простой счет.
Именованные аргументы функции в C
Рассмотрим «игрушечный» пример на Python с использованием именованных аргументов:
#вычислим объем параллелепипеда
#если значение стороны не указано, то считаем что оно равно единице
def volume(length=1, width=1, height=1):
return length * width * height;
print(volume()) # V = 1
print(volume(length=2)) # V = 2
print(volume(length=2, width=3)) # V = 6
print(volume(length=2, width=3, height=4)) # V = 24
Здесь в примере одна и та же функция вызывается с разными аргументами. И видно, какой параметр каким значением проинициализирован. Если у функции есть параметры, значения которых можно оставить по умолчанию, то очень удобно проинициализировать только необходимые параметры с помощью именованных аргументов. Но в языке C аргументы функции связаны с позицией, поэтому разработчику нужно помнить порядок следования параметров, что может быть неудобно, если их достаточно много.
Ниже я покажу, как можно сымитировать использование именованных аргументов в C.
Суперсилы Chrome DevTools
Я работаю в команде Онлайн. Мы делаем веб-версию справочника 2ГИС. Это долгоживущий активно развивающийся проект, в котором JavaScript используется как основной язык как на клиенте, так и на сервере.
Важное место в работе занимают инструменты анализа и отладки приложения. Популярные JavaScript фреймворки как правило обладают собственным инструментарием, заточенным под конкретную идеологию. Наша ситуация осложняется тем, что под капотом Онлайна гудит фреймворк собственного производства — Slot — также находящийся в стадии активной доработки.
В этой статье я расскажу, как мы используем стандартные браузерные инструменты разработчика для эффективной отладки и исследования. Эти рецепты направлены в первую очередь на изучение приложения снаружи-внутрь, поэтому подойдут для любого проекта.
Лучшие плагины для Sublime Text
WebInspector
Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.
Несколько полезных шорткатов для Sublime Text ниндзи
Переход по фрагментам
Win/Linux: CTRL+R
Mac: CMD+R
Вероятно, самое полезное сочетание клавиш для экономии вашего времени. Содержимое документа разбивается на определенные фрагменты (функции, HTML теги или CSS стили). Переход происходит при выборе соответствующего фрагмента во всплывающем окне.
Information
- Rating
- Does not participate
- Registered
- Activity