Как стать автором
Обновить

5 приемов и хитростей для работы с SSH и кое-что ещё

Время на прочтение8 мин
Количество просмотров22K
image

В этой статье мы поговорим о полезных приемах и командах при работе с SSH. А именно:

  • Как использовать двухфакторную аутентификацию для SSH-подключений.
  • Безопасное использование «проброса ключа» (agent forwarding).
  • Завершение зависшей сессии.
  • Оставляем терминал открытым при выходе или разрыве связи.
  • Расшариваем удаленный терминал с другом (без Zoom!).
Читать дальше →
Всего голосов 37: ↑29 и ↓8+21
Комментарии7

TypeScript: Раскладываем tsconfig по полочкам. Часть 1

Время на прочтение10 мин
Количество просмотров84K

В данной статье я хочу предоставить переработанную и упорядоченную выжимку документации по настройке tsconfig.json, которая, я уверен, будет полезна тем, кто только начинает свой путь в мире TypeScript или тем, кто до этого момента не нашёл времени и сил, чтобы разобраться в деталях и теперь хочет закрыть этот пробел.

Читать далее
Всего голосов 30: ↑29 и ↓1+28
Комментарии4

TypeScript: Раскладываем tsconfig по полочкам. Часть 2 — Всё про строгость

Время на прочтение18 мин
Количество просмотров34K

В данной статье я хочу предоставить переработанную и упорядоченную выжимку документации по настройке "флагов строгости" tsconfig.json. Статья будет полезна как тем, кто только начинает работать с TypeScript, так и тем кто уже давно работает, но при этом использует конфиг по умолчанию. Для разработчиков, которые хорошо ориентируются в вопросах строгости в TypeScript статья может открыть некоторые тонкости работы флагов и послужить шпаргалкой.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии5

Сводные таблицы в SQL

Время на прочтение10 мин
Количество просмотров65K
Сводная таблица – один из самых базовых видов аналитики. Многие считают, что создать её средствами SQL невозможно. Конечно же, это не так.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии9

Хуки времени компиляции в Elixir

Время на прочтение5 мин
Количество просмотров1.4K

Elixir снабжен сложной, очень хорошо продуманной, инфраструктурой макросов. С легкой руки Криса Маккорда, в сообществе существует негласный закон, который неизбежно озвучивается сразу, как только речь заходит о макросах: «Первое правило использования макросов — вы не должны их использовать». Иногда с малозаметной ремаркой, набранной бледно-серым шрифтом четвертого кегля: «только если вам этого не избежать, и вы очень хорошо понимаете, на что идете, и чем рискуете». Это связано с тем, что макросы имеют доступ ко всему AST модуля, в котором они используются, и, вообще говоря, могут до неузнаваемости изменить получившийся код.


Я в принципе согласен, что не следует использовать макросы в процессе ознакомления с языком. Пока вы не можете, будучи разбуженным в три часа ночи с похмелья, ответить на вопрос, выполняется ли этот код на стадии компиляции, или же в рантайме. Elixir — компилируемый язык, и в процессе компиляции происходит выполнение кода «верхнего уровня», полное раскрытие синтаксического дерева до тех пор, пока мы не окажемся в ситуации, когда дальше раскрывать уже нечего, и вот этот результат в конечном итоге и компилируется в BEAM. Когда компилятор встречает вызов макроса в исходном коде, он полностью раскрывает AST для него и впихивает вместо собственно вызова. Понять это невозможно, это можно только запомнить.

Не, попробуем разобраться и понять...
Всего голосов 13: ↑12 и ↓1+11
Комментарии2

5 грязных трюков в соревновательном Data Science, о которых тебе не расскажут в приличном обществе

Время на прочтение5 мин
Количество просмотров24K

Поговорим про способы жульничества в Data Science.

Читать далее
Всего голосов 58: ↑57 и ↓1+56
Комментарии15

The Collatz conjecture is the greatest math trick of all time

Время на прочтение4 мин
Количество просмотров3.1K

On the Internet and in non-fiction literature you can often find various mathematical tricks. The Collatz conjecture leaves all such tricks behind. At first glance, it may seem like some kind of a trick with a catch. However, there is no catch. You think of a number and repeat one of two arithmetic operations for it several times. Surprisingly, the result of these actions will always be the same. Or, may be not always?

Read more
Всего голосов 7: ↑7 и ↓0+7
Комментарии2

Инвертирование страницы только средствами CSS

Время на прочтение2 мин
Количество просмотров7.3K
Я недавно увидела jQuery-плагин Paul Irish для инвертирования страницы. Он инвертирует каждый цвет на странице, включая изображения и CSS. Это мне напомнило о существовании ключевого слова invert для цвета контуров (outline) (к сожалению, поддерживаемом только в Opera и IE9+). В общем, я задумалась, как можно добиться такого же эффекта только средствами CSS.

Оказалось, что это достаточно просто:
Читать дальше →
Всего голосов 51: ↑45 и ↓6+39
Комментарии24

iOS tips and tricks: Динамический Default.png

Время на прочтение2 мин
Количество просмотров3.4K
При разработке под iOS время от времени у заказчиков, да и у некоторых программистов возникает закономерный вопрос: «А можно ли каким-нибудь образом при старте приложения подменять картинку?».

Немного порыскав по интернету, и покопавшись в документации, то напрашивается ответ, что сделать это невозможно по следующим причинам:
  • Файл, который показывается при запуске приложения лежит внутри папки приложения, и, ак следовательно переписать его не является возможным
  • По аналогичной причине нельзя изменить файл Info.plist, в котором сохраняется относительный путь к файлу стартовым изображением

Однако, все же, это возможно сделать стандартными способами, без всякого рода Jailbreak'а. Впрочем, как и у каждого решения есть свои плюсы, минусы и особенности.

Читать дальше →
Всего голосов 7: ↑4 и ↓3+1
Комментарии10

7 трюков при работе с массивами в Ruby

Время на прочтение2 мин
Количество просмотров29K
ruby arrays

В данной статье описаны некоторые интересные трюки как можно эффективно использовать и работать с массивами в Ruby. Конечно же, есть РубиДок и множество других ресурсов, где подробно описаны все доступные методы, но здесь я хочу поделиться именно способами использования.
Читать дальше →
Всего голосов 39: ↑28 и ↓11+17
Комментарии6

Полноценный lazyload на node.js

Время на прочтение3 мин
Количество просмотров17K

С выходом Node.js 6.0 мы из коробки получили готовый набор компонентов для организации честного ленивого загрузчика. В данном случае я имею в виду lazyload, который пытается найти и загрузить нужный модуль только в момент запроса его по имени и находится в глобальной области видимости для текущего модуля, при этом не вмешиваясь в работу сторонних модулей. Написано по мотивам статей Node.JS Избавься от require() навсегда и Загрузчик модулей для node js с поддержкой локальных модулей и загрузки модулей по требованию.


Данная статья носит больше исследовательский характер, а ее целью является показать особенности работы Node.js, показать реальную пользу от нововведений ES 2015 и по новому взглянуть на уже имеющиеся возможности JS. Замечу, что этот подход опробован в продакшене, но все же имеет несколько ловушек и требует вдумчивого применения, в конце статьи я опишу это подробнее. Данный DI может легко использоваться в прикладных программах.

Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии22

Полезные трюки при работе с netcat

Время на прочтение3 мин
Количество просмотров190K
image

 
В данной статье я рассмотрю популярную сетевую утилиту netcat и полезные трюки при работе с ней.

Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии12

Как я использую git

Время на прочтение6 мин
Количество просмотров90K

Intro


Основам git мне пришлось научиться на своем первом месте работы (около трех лет назад).
С тех пор я считал, что для полноценной работы нужно запомнить всего-лишь несколько команд:


  • git add <path>
  • git commit
  • git checkout <path/branch>
  • git checkout -b <new branch>

И дополнительно:


  • git push/pull
  • git merge <branch>
  • git rebase master (а что, можно еще и на другие ветки ребейзить? О_о)

В принципе, я и сейчас во многом так считаю, но со временем волей-неволей начинаешь узнавать интересные трюки.

Читать дальше →
Всего голосов 117: ↑106 и ↓11+95
Комментарии195

Antique toY #05, Звукоимитация на ZX Spectrum

Время на прочтение1 мин
Количество просмотров1K
Tricks: Звукоимитация в музыке на ZX Spectrum. Особенности и приёмы звукоимитации на музыкальном сопроцессоре AY-8910.

У микрофона — Siril^4D (a.k.a. oisee).

Несколько слов о внутреннем устройстве AY-8910, о генераторах тона, шума и огибающей, для чего и как они используются.

Читать дальше →
Всего голосов 10: ↑6 и ↓4+2
Комментарии8

Tips & tricks CakePHP #2

Время на прочтение3 мин
Количество просмотров1.5K
В связи с выходом пре-беты 1.2 второй выпуск tips&tricks. Продолжаем знакомить Вас с идеями и проблемами версии 1.2, особенностями пре-беты, с которыми мы встретились в процессе разработки социальной сети.
Кроме того, мы завели себе блог на Хабре — присоединяйтесь, задавайте вопросы. Думаю, нам есть что обсудить.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии19

Firefox3. 5 штучек помогающих выжить

Время на прочтение2 мин
Количество просмотров543
Все любят Firefox, особенно за то, что его можно постоянно улучшать самому, без спроса у производителя. (Хотя Опера тоже такое, вроде разрешает, но Опера не наш выбор). В новой версии всякого наменялось, но исследователи глубин FF уже нашли методы как упростить или украсить свой браузер. Достаточно лишь понимать, что хотим и зачем мы это хотим. ;)

1. Автоподстановка в адресной строке при вводе.
* Введите about:config в адресной строке.
* Нажмите “Я обещаю, что буду осторожен!”. (англ. вариант “I’ll be careful, I promise!”)
* Введите в поле поиска текст browser.urlbar.autoFill. Двойной клик по записи установит значение равным true.

Теперь у вас будет не только выпадающий список адресов, но и автоподстановка похожего адреса.

2. Включаем проверку правописания в текстовых полях

По умолчанию Firefox проводит проверку только в многострочных полях. Если Вы хотите, чтобы Firefox проверял и однострочные поля, то вот:
* Введите about:config в адресной строке.
* Нажмите “Я обещаю, что буду осторожен!”. (англ. вариант “I’ll be careful, I promise!”)
* введите в поле поиска текст layout.spellcheckDefault. Двойной клик по записи и установите значение равным 2.
3. Тюним режим full screen

По умолчанию Firefox 3 прячет адресную строку, когда вы в полноэкранном режиме. Исправляем:
* Введите about:config в адресной строке.
* Нажмите “Я обещаю, что буду осторожен!”. (англ. вариант “I’ll be careful, I promise!”)

ведите в поле поиска текст browser.fullscreen.autohide Двойной клик по записи установит значение равным false.
* для отключения анимации при скрытии установите browser.fullscreen.animateUp равным 0.
4. Включаем поддержку профилей цвета
Теперь Firefox3 есть поддержка профилей цвета, которые помогут лучше отображать графические изображения. Включаем:
* Введите about:config в адресной строке.
* Нажмите “Я обещаю, что буду осторожен!”. (англ. вариант “I’ll be careful, I promise!”)
* ведите в поле поиска текст gfx.color_management.enabled Двойной клик по записи установит значение равным true.
5. Уменьшаем размер кнопки назад

Меня лично раздражает сей огромный баттон, исправляем: щелчком мыши по правой кнопке на тулбаре и выбираем “Настроить”. Нажимаем чекбокс с “маленькие иконки”. Помогает

Оригинал

к коментарию ckald
Эта фича позволяет ускорить загрузку страниц на 10-40%. Работала в старых версиях ФФ, но как в 3 — сам не пробовал.

1. Запускаем Firefox
2. В адресной строке пишем about:config и жмем Enter
3. Для версий ниже 1.5 находим параметр browser.tabs.showSingleWindowModePrefs
4. Двойным щелчком мыши устанавливаем значение равным true.
5. Находим параметры: network.http.pipelining, network.http.proxy.pipelining
6. Двойным щелчком мыши устанавливаем значения обоих равным true.
7. Ищем network.http.pipelining.maxrequests
8. Двойным щелчком мыши открываем редактирование и меняем значение с 4 на 100.
Всего голосов 25: ↑20 и ↓5+15
Комментарии9

Отдыхая — учусь, работая — отдыхаю

Время на прочтение2 мин
Количество просмотров1.5K
Вся наша жизнь — это рабочие дни разбавленные выходными и праздниками.
А наш рабочий день — это череда часов, минут, секунд.
Наверное каждый из нас слышал о производственной гимнастике:
каждые час-два, минут на пятнадцать (вместо перекуров), хорошо бы дать отдохнуть глазам, кистям, а ещё спине и ногам.
А хорошо бы совместить полезные упражнения с получением новых навыков — и практичных и эстетичных.
Я сейчас перечислю те занятия, которыми пытаюсь заниматься сам.
По моему мнению упомянутые ниже упражнения не требуют материальных затрат и лишь минимум временных.
Дополняйте, плиз.
Читать дальше →
Всего голосов 75: ↑63 и ↓12+51
Комментарии87

Windows 7 Tips and Tricks ;)

Время на прочтение3 мин
Количество просмотров8.1K
Салют Хабралюди, хабражители :)

Продолжая рубрику статей посвященных Windows 7, решил предаставить сборник несколько полезностей которые могут облегчить работу в этой ОСи.

image

Итак приступим
Читать дальше →
Всего голосов 155: ↑83 и ↓72+11
Комментарии132

Opera Unite для разработчиков

Время на прочтение9 мин
Количество просмотров871
imageА не написать ли нам какой-нибудь сервис под Опера Юнайт? Здесь я расскажу об особенностях программирования под новинку от Оперы на примере своего сервиса "Stream media". Официальная документация пока что неполная и содержит много ошибок, и в этой статье мы попытаемся их обойти.
image
Далее, будем вникать в технологию постепенно. Желательно, чтобы Вы уже прочли мануал по созданию первого приложения, поскольку некоторые очевидные факты здесь опускаются.
Читать дальше →
Всего голосов 62: ↑55 и ↓7+48
Комментарии4

19 необщеизвестных приёмов

Время на прочтение5 мин
Количество просмотров2.1K
Заметка не новая, но я уверен, что и сейчас не все знают всё нижеперечисленное (Здесь и далее курсив переводчика).

Когда я смотрю на свой, да и на чужой, код на рельсах, я часто вижу нереализованные возможности для применения определённых рельсовых техник. Я бы хотел перечислить некоторые приёмы и советы для повышения эффективности приложения и кода, как памятку для себя и для вас.

Замер скорости в контроллерах — это очень просто. Используйте метод benchmark в любой модели.
Читать дальше →
Всего голосов 41: ↑32 и ↓9+23
Комментарии30
1