Разработчик
Bash-скрипты, часть 2: циклы
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит
В прошлый раз мы рассказали об основах программирования для bash. Даже то немногое, что уже разобрано, позволяет всем желающим приступить к автоматизации работы в Linux. В этом материале продолжим рассказ о bash-скриптах, поговорим об управляющих конструкциях, которые позволяют выполнять повторяющиеся действия. Речь идёт о циклах
for
и while
, о методах работы с ними и о практических примерах их применения.![image](https://habrastorage.org/files/803/892/bfe/803892bfe548499aa763df324d40fd01.png)
Внимание: в посте спрятана выгода!
rssh, или Как разрешить SCP, но запретить SSH
Вот только незадача: нам не хочется, чтобы этот знакомый имел возможность что-то делать на этой машине. Ну мало ли что. Поэтому для начала мы заводим отдельного пользователя, ставим для него домашней директорией место, куда надо залить файл, ограничиваем доступ этого пользователя к окружающим директориям. Но всё-таки этот пользователь пока имеет доступ к Shell, а нам — опытным паранойикам — это вообще не нравится.
Выход вроде как всплывает: надо заменить пользователю shell по умолчанию (/bin/sh) на что-нибудь другое. Вот только что?
Топ инструментов разработки для PostgreSQL
Конференция PG Day Russia растет и масштабируется: этим летом мы готовим для вас доклады и тренинги по всем наиболее популярным базам данных, а также по администрированию и хранению данных. в рамках подготовки мы запустили корпоративный блог, где планируем делиться ценной информацией о происходящем в мире баз данных. Первый пост посвящен инструментам разработки для PostgreSQL, его автор varanio будет рад ответить на ваши вопросы и комментарии!
Я поспрашивал различных людей, имеющих отношение к PostgreSQL, что они используют в реальной жизни для разработки приложений, использующих PG.
Это, конечно, не строго математическая выборка, но тем не менее получился некоторый список инструментов на слуху, которые достойны того, чтобы их "пощупать", что я и собираюсь сделать в этой статье.
Если вашего инструмента нет в списке, или у вас просто есть что сказать, добро пожаловать в комментарии.
Итак, вот неформальный топ и субъективное описание.
PostgreSQL: Случай в вакууме
Один из наших клиентов, эксплуатирующий PostgreSQL под большой нагрузкой, столкнулся с проблемой, связанной с переполнением счетчика транзакций (xid wraparound), причем выхода из нее штатными средствами не существовало. Мы решили проблему с помощью хирургического вмешательства и выпустили патч, предотвращающий возникновение таких ситуаций в будущем.
В этой заметке мы расскажем, как и почему может произойти проблема и как ее не допустить.
Как «пробить» человека в Интернет: используем операторы Google и логику
В очередной статье нашего цикла публикаций, посвященного интернет-разведке, рассмотрим, как операторы продвинутого поиска Google (advanced search operators) позволяют быстро находить необходимую информацию о конкретном человеке.
В комментариях к первой нашей статье, читатели просили побольше практических примеров и скриншотов, поэтому в этой статье практики и графики будем много. Для демонстрации возможностей «продвинутого» поиска Google в качестве целей были выбраны личные аккаунты автора. Сделано это, чтобы никого не обидеть излишним интересом к его частной жизни. Хочу сразу предупредить, что никогда не задавался целью скрыть свое присутствие в интернете, поэтому описанные методы подойдут для сбора данных об обычных людях, и могут быть не очень эффективны для деанонимизации фэйковых аккаунтов, созданных для разовых акций. Интересующимся читателям предлагаю повторить приведенные примеры запросов в отношении своих аккаунтов и оценить насколько легко собирать информацию по ним.
Удаленная переустановка Linux по ssh без доступа к консоли
UNIX-подобные системы содержат кучу костылей. Крах «философии UNIX»
В первой части статьи перечислю кучу костылей UNIX, и вообще разных недостатков. Во второй — про «философию UNIX». Статья написана наскоро, «полировать» дальше не хочу, скажите спасибо, что написал. Поэтому многие факты привожу без ссылок.
Костыли в UNIX начали возникать ещё с момента появления UNIX, а это было ещё раньше появления не только Windows, но даже вроде бы Microsoft DOS (вроде бы, мне лень проверять, проверяйте сами). Если лень читать, хотя бы просмотрите все пункты, что-нибудь интересное найдёте. Это далеко не полный список, это просто те косяки, который я захотел упомянуть.
И снова о рекурсивных запросах
Начнем с того, что повторим теорию (очень кратко, потому что с ней все ясно), а затем поговорим о том, что делать, если непонятно, как подступиться к реальной задаче, или вроде бы понятно, но запрос упорно не хочет работать.
Для упражнения будем использовать демо-базу, подробно описанную ранее, и попробуем написать в ней запрос для поиска кратчайшего пути из одного аэропорта в другой.
Консоль в массы. Переход на светлую сторону. Bash
![keep-calm-and-bin-bash](https://habrastorage.org/files/f70/4ea/a92/f704eaa92cb649ba8ab929c1d17b9a9f.jpg)
Вступление
Удобство использования того или иного инструмента заключается в том, насколько он помогает в решении конкретной задачи. Также важно, чтобы мы могли настроить этот инструмент под свои нужды. Приятным бонусом будет и тот факт, что мы можем расширить и дополнить новыми возможностями наш инструмент.
Мы добрались до самой интересной и увлекательной темы — это скрипты на
bash
. Когда вы запускаете терминал, внутри него работает специальная программа-оболочка — shell
(англ) — интерпретатор команд. Shell понимает все команды, которые вы вводите с клавиатуры, и обрабатывает их. Также выводит сообщения об ошибках, следит за корректностью команд и их синтаксисом. Примером таких команд могут быть: сменить директорию, создать новую директорию, добавить текстовый файл, отредактировать текстовый файл, сохранить изменения и другие.Что в имени тебе моем: как качественно «пробить» человека в сети Интернет?
Как понять, что происходит на сервере
![](https://habrastorage.org/getpro/habr/post_images/f25/68a/fd1/f2568afd19938fea74632c813345163e.jpg)
Александр Крижановский ( krizhanovsky, NatSys Lab.)
По Сети уже давно бегает эта картинка, по крайней мере, я ее часто видел на Фейсбуке, и появилась идея рассказать про нее:
![](https://habrastorage.org/getpro/habr/post_images/7b7/92e/6eb/7b792e6eb1f66aebd11340aca1b40484.png)
Просто Angular
Введение
8-9-го декабря 2016 года была проведена первая конференция по Angular в Бельгии. Игор Минар (ведущий разработчик Angular) выступил в качестве основного докладчика с несколькими интересными объявлениями относительно того, по какому графику будет выпускаться Angular. И представьте себе, в марте 2017 года нас ждет релиз Angular 4. При этом, на данный момент уже опубликована бета-версия.
От переводчиков
Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы выясним куда делась третья версия, и почему мы по-прежнему можем быть верны Angular. Сейчас начинающему фронтенд-разработчику, изучающему JavaScript, довольно трудно определиться: какой же фреймворк или библиотеку им взять и изучить, оставаясь в тренде? Конечно, без слова React, сейчас не обходится ни один разговор на тему фронтенда, однако, в свое время я начал с первой версии Angular, начитался много руководств по написанию фронтенда на ES6 (с классами и прочим добром) и до сих пор не жалею. Да, вы можете писать корпоративные приложения с использованием только jQuery, но по мере развития и сложности проекта вы начнете закапывать себя в спагетти-коде, смешивая логику и представление, MV*-фреймворки же этого сделать вам не дадут.
Мнения: правда ли, что аппараты для ультразвукового исследования неоправданно дорогие?
![image](https://habrastorage.org/getpro/geektimes/post_images/e82/a21/7b4/e82a217b481a964f60c66c91c0022342.jpg)
В первой части статьи приведён пост с сайта Medium, где по поводу УЗИ высказывает своё мнение разработчик ПО и блогер Грэхем Дженсон [Graham Jenson]. Во второй части с этим мнением спорит автор блога «Ложь, наглая ложь и реклама стартапов» [Lies, Damn Lies, and Startup PR] инженер Пол Рейнольдс [Paul Reynolds], имеющий большой опыт разработки и создания этих устройств. Он написал опровергающий пост, а потом в ещё одном посте ответил на вопросы, возникшие у его читателей.
Почему аппараты для УЗИ такие дорогие (Грэхем Дженсон)
Назовите технологию, более полезную, дающую больше знаний, более интересную и более дорогую, чем аппарат для ультразвукового исследования. Он может заглядывать внутрь живых существ без мощных магнитов и рентгена, а сделан он, по сути, из динамика и микрофона, выдающего на экран результаты.
Лучезарный китайский станок и окрасочная машина им. Франкенштейна
Оцените, какие мы редкостные бакланы. Для начала посмотрите вот на эту фотографию:
![](https://habrastorage.org/files/50a/433/64c/50a43364c79a45f6973f357fe1608a47.jpeg)
Это один из первых апгрейдов. Под ведром — реле питания, здоровая такая штука, которая переключает энергию нагревателей чана с клеем. Чан с клеем выше. Клей в нём, внезапно, кипит. И когда он брызгается — а кипящие жидкости вообще часто брызгаются — его потёки попадают ровно в это долбанное реле. Водный раствор клея — плохой, но проводник. Происходит короткое замыкание, и всё производство встаёт.
За время восстановления (пока подадут питание, чтобы был свет, пока снимем реле, пока его почистим) клей в машине успевает застыть. А там в станке десятки тонких трубочек, которые забиваются намертво.
Хакинтош: разворачиваем macOS Sierra на Intel-PC подробно и понятно
Если вы НЕ МОЖЕТЕ распаковать файлы на флешку, пожалуйста, отойдите от кливиатуры и срочно прочитайте книгу «Компьютер для чайников: подробное пособие как пользоваться ПК»!!!
1. Все файлы залиты на МЕГУ. Кто испытывает с ней проблемы — в комментариях перезалили на торрент.
2. Пожалуйста, не спрашивайте меня про установку Мака на ноутбуки. Прошу вас. Пожалуйста. Это очень геморройный процесс. Поставьте себе убунту и подключите тему Мака. Тот же экспириенс получите
3. Я на хабре редко отвечаю, пишите в вк по всем вопросам.
Данный мануал/гайд/etc написан для тех, кому лень собирать по кускам ту или иную информацию об установке «мака» на PC, все понятно и по полочкам.
Уровни изоляции транзакций с примерами на PostgreSQL
Вступление
В стандарте SQL описывается четыре уровня изоляции транзакций — Read uncommited (Чтение незафиксированных данных), Read committed (Чтение зафиксированных данных), Repeatable read (Повторяемое чтение) и Serializable (Сериализуемость). В данной статье будет рассмотрен жизненный цикл четырёх параллельно выполняющихся транзакций с уровнями изоляции Read committed и Serializable.
Для уровня изоляции Read committed допустимы следующие особые условия чтения данных:
Неповторяемое чтение — транзакция повторно читает те же данные, что и раньше, и обнаруживает, что они были изменены другой транзакцией (которая завершилась после первого чтения).
Фантомное чтение — транзакция повторно выполняет запрос, возвращающий набор строк для некоторого условия, и обнаруживает, что набор строк, удовлетворяющих условию, изменился из-за транзакции, завершившейся за это время.
Что же касается Serializable, то данный уровень изоляции самый строгий, и не имеет феноменов чтения данных.
Почему Hackintosh уже актуален. Развенчание мифов
Каждому iOS разработчику нужен свой уголок с печеньками, плюшевой уточкой и шайтан-машиной на OSX.
В свете перехода на Swift, мощность железа стала особенно востребована. Чтобы комфортно разрабатывать под айфоны, нужен как минимум процессор с частотой 3+ ghz, SSD на 120-250Gb и оперативы гигов 16. Все это как раз для того, чтобы не было желания посмотреть футбол, пока запускается проект или открывается interface builder.
А знаете, что еще было всегда актуально? Сумасшедшие цены на яблочные устройства:
PC с таким же, плюс-минус, железом можно запросто собрать всего за 30.000 рублей! (инфа на ноябрь 2016). Многие, конечно, думают, что раз компания покупает железо, то значит финансы бесконечные, можно не стесняться в средствах. Если вы работаете в Google, то вам повезло и жизнь хороша. Но в остальных случаях это не так.
Что же делать? Не разрабатывать же под Android в конце концов?
Под катом мы узнаем о современном Hackintosh, его роли в разработке, способам безболезненной установки и настройки, услышим мнение людей, работающих на нем не первый год, и проведем тест на iOS инструментах.
Ещё пара неочевидных вещей, которые вам могут не рассказать до лазерной коррекции зрения
![](https://habrastorage.org/files/174/92c/fb1/17492cfb15184c51bd3d1780e97f64ff.jpg)
Сегодня без «жести», как вы просили
Уже есть пост про то, как лазер режет с помощью создания миллионов кавитационных пузырей в слое роговицы глаза, и разбор телеметрии с реальной операции по секундам с комментариями действий хирурга. И ещё история операций. Вы задали очень много вопросов. Теперь FAQ про разные сопутствующие вещи.
— Если я посмотрю в сторону во время работы лазера, что случится?
У вас попросту не выйдет. На самом деле сразу после обезболивания глаз прижимается к специальному пневмозахвату. Моргнуть у вас тоже не выйдет из-за фиксации (это небольно и недолго). Единственный момент, где можно серьёзно нарушить ход операции — это сильно дёрнуть головой, серьёзным волевым усилием вытащив её из подголовника. В этом случае операция мгновенно прекратится. Точнее, она прекратится даже до потери захвата (детали ниже).
— Как должна быть подготовлена операционная?
В целом — как обычная операционная, то есть это помещение с чистой зоной (фильтрация воздуха, избыточное давление для предотвращения загрязнений извне после очистки). Для процедуры важно, чтобы между линзой лазера и глазом не попадали микрочастицы пыли, летающие в воздухе.
Сравнение аналитических in-memory баз данных
![](https://habrastorage.org/files/23b/3e0/c67/23b3e0c67e854d80897df58487b59be4.jpg)
Всё это время мы проводили масштабное тестирование нескольких in-memory СУБД. Любой разговор с администраторами DWH в это время можно было начать с фразы «Ну как, кто лидирует?», и не прогадать. В ответ люди получали длинную и очень эмоциональную тираду о сложностях тестирования, премудростях общения с доселе неизвестными вендорами и недостатках отдельных испытуемых.
Подробности, результаты и некое подобие выводов из тестирования — под катом.
Информация
- В рейтинге
- Не участвует
- Откуда
- Бангкок, Таиланд, Таиланд
- Дата рождения
- Зарегистрирован
- Активность