Обновить

Студент в ИТ: учиться нельзя работать

Не раз встречала здесь статьи о собеседованиях в ИТ-гигантнах, европейско-американских компания и прочих, довольно сказочных для меня местах. Возможно, и у меня такая будет. Но сейчас я хочу поделиться историей более приземленной.

Мне никогда не сиделось на месте, и к окончанию второго курса я успела побывать в роли официанта, администратора, пораздавать предвыборные газеты и поварить пельмешки на дегустацию в супермаркете (до сих пор считаю, что это была первая и лучшая работа). Но в скором времени я поняла, что пора включать мозг, а не только обаяние, и принялась искать работу по специальности бизнес-аналитика.
Читать дальше →

Мерещится: ждать ли «криптовалюту» ко второму чтению «О цифровых активах»?

«Не случайно мы встретились с вами здесь 7 ноября, в канун Революции!, — выдала на конференции по блокчейн в Санкт-Петербурге Элина Сидоренко, руководитель рабочей группы по оценкам рисков оборота криптовалюты Госдумы, — Самое время совершить переворот относительно стандартов работы на крипто рынке и стать примером для всех остальных стран». Как именно совершать переворот — спикер не уточнила. Но предупредила, блокчейн — хорошо, а вот децентрализация может довести до абсурда — появления сразу нескольких жен у участников крипто-сообщества в самых разных городах мира. Что называется: на пальцах о технологичном.
Читать дальше →

Про социальные лифты. Конкурс «Лидеры России»

Данная заметка является последствием прочтения недавней статьи на Хабре: “Карьерные стероиды. Лифты”. Спасибо автору. Прекрасная мотивация. Решил и я попробовать один из лифтов. Тот самый конкурс «Лидеры России» (конкурс управленцев).

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

Читать дальше →

SoapUI, Postman и Katalon Studio: Обзор 3 лучших инструментов для тестирования API

За последние пять лет, по данным Google Trends, значительно вырос интерес к тестированию API. Такая тенденция отражает сдвиг парадигмы в сторону web и мобильных приложений, а также разделение серверных служб и пользовательских интерфейсов.

Чтобы помочь вам разобраться, какие же все-таки инструменты лучше всего подходят для автоматизации тестирования API, в этой статье для вас будет представлены обзор и сравнение трех популярных инструментов для тестирования API: SoapUI, Postman и Katalon Studio. SoapUI и Postman специализируются исключительно на тестировании API, в то время как, Katalon Studio предоставляет полный набор инструментов для тестирования API, Web и мобильных приложений.

Katalon Studio


Katalon Studio — это интегрированная среда для создания и выполнения тестирования при работе с API, Web и мобильных приложениями. Имеет богатый набор инструментов для тестирования и поддерживает множество платформ, включая Windows, Mac OS и Linux. Интегрируя движки от Selenium и Appium со всеми необходимыми компонентами, встроенными ключевыми словами и шаблонами, Katalon Studio предоставляет уникальную среду разработки как для тестировщиков, так и для разработчиков, занимающихся тестированием API и веб-автоматизации. Вот некоторые примечательные особенности инструмента:

  • Обработка API, Web и мобильных тестов на разных платформах
  • Возможность для тестировщики и разработчиков легко делиться и совместно работать над тестами
  • Сотни встроенных ключевых слов для создания тестов
  • Поддержка AssertJ для создания гибких проверок с использованием BDD стиля
  • Интеграция с другими инструментами ALM и интеграционного тестирования CI / DevOps

Katalon Studio предоставляется бесплатно, хотя и не имеет открытого исходного кода.
Специальные услуги по оказанию поддержки, устранение неполадок и консультационные услуги предлагаются в форме бизнес поддержки и поддержки предпри
Читать дальше →

3 факта о блокчейне, которые понятны каждому

1. Блокчейн — не то же самое, что эпоха интернета в середине 90х

Хотя между состоянием интернета в середине 90х и блокчейном на сегодняшний день определённо есть сходства, отличия гораздо резче. Во-первых, интернет был создан в основном для связи. Именно человеческая потребность в связи обеспечила возможность централизации данных за последнее десятилетие.

Сложно вспомнить, но большие данные или добыча данных не существовали, в общем-то, до середины-конца 2000х. Так что в первую половину своего существования интернет служил исключительно для предоставления информации и возможностей связи без сбора, добычи и последующей продажи личных данных тем, кто больше заплатит.

Цель блокчейна — противостоять текущей проблеме централизации данных. Таким образом, блокчейн, скорее, эволюция интернета, а конкретно — инфраструктуры данных, чем новый интернет. Его цель — создать децентрализованную систему данных, которую одному человеку взломать или использовать в своих целях не под силу.
Читать дальше →

Настройка APC Smart UPS 1000 в Ubuntu server 14.04 LTS и установка модуля Webmin

Началось все с того, что у меня сгорел служивший верой и правдой много лет Back-UPS 500VA. Не беда, подумал я и заменил его на APC Smart UPS 1000, что для моего сервера оказалось гораздо лучше. Сразу скажу, изначально сервер работал на форточках и проблем с бесперебойником не было. После замены ИБП и окончательно-бесповоротном переходе на Ubuntu я задался вопросом: собственно, как мониторить состояние сети электропитания и состояние бесперебойника? Погуглив некоторое время, я наткнулся на несколько инструкций по подключению бесперебойников к никсовым машинам, но почему-то они все были про Back UPS и USB. В частности, меня натолкнуло на написание этой статьи аналогичная статься на Хабре «Начальная настройка ИБП APC в Linux с точки зрения чайника».

Но у меня же старенький тысячник с ком-портом и про USB он и слыхом не слыхивал.
Читать дальше →

Навигация в Android: от UX до реализации. Часть 1

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

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

В этой серии статей мы поговорим об этих проблемах и рассмотрим основные решения. Если вас заинтересовала эта тема, то прошу под кат
Читать дальше →

Asterisk на Mikrotik. Обновленная настройка

На написание этой заметки (статьей не назовешь, ибо все уже давно разжевано в статье Asterisk на Mikrotik) меня толкнули изменения в интерфейсе Winbox, а так же изменения репозиториев OpenWRT в связи с помещением в архив устаревших версий, на которые ссылается оригинальный пост. Начну с истории: у меня на работе имеется виртуальная АТС, на которую я без стеснения привязал SIP-клиент на телефоне. По правилам провайдера доступ для внутренних звонков не блокируется, но доступ наружу, хоть и можно подключаться с любой точки мира, блокируется при частой смене IP, чего избежать на мобильном устройстве проблематично. Пересмотрев всевозможные варианты я остановился на поднятии у себя дома Asterisk на моем Mikrotik RB2011UiAS-RM. Благодаря инструкции от shadowalone я миновал львиную долю танцев с бубном, но в связи с устаревшими ссылками пришлось-таки заняться мелким шаманством. Итак:
Читать дальше →

Удаление директории в PHP

Доброго времени суток, дорогие читатели. Сегодня хотелось бы поговорить на тему удаления директории в PHP. Казалось бы, что операция не является сложной, однако некоторые нюансы имеют место быть. Давайте рассмотрим способы, как можно это сделать.

В PHP для этого предусмотрена функция rmdir(). В качестве аргумента она принимает путь до директории, которую Вы хотите удалить. Однако, директория должна быть пустая — это главное условие (если не считать того, что у пользователя, от которого работает веб-сервер, должны быть права на запись для директории). Если в директории будут размещены файлы, то мы получим ошибку при вызове функции. Соответственно, приходим к выводу, что директорию перед использованием функции rmdir() необходимо предварительно очистить.

В сети советуют написать функцию, которой в качестве аргумента будет передаваться путь к директории, которую нам необходимо удалить. В теле функции необходимо организовать листинг содержимого директории, в рамках которого осуществляется проверка — является ли файл директорией. Если файл является директорией, то по данному условию функция вызывает себя. Это необходимо для зачистки вложенных директорий, и это будет работать на всех уровнях вложенности. В ином случае, для файла применяется функция unlink() — она предназначена для удаления файла. За рамками данной проверки на последнем шаге мы удаляем директорию.
Читать дальше →

Медленный regexp, умирающий Node.js


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


Недавно и сам столкнулся с проблемой производительности регулярок на Node.js, и к чему это может привести.


В один прекрасный момент все инстансы сервиса на Node.js один за одним перестали отвечать на health-check, слать логи и метрики. Пришлось остановить эти контейнеры (мы запускаем Node.js в Docker) и запустить новые.

Читать дальше →

Планшет Wacom, драйвер не отвечает или не работает, решение проблемы

Приобрёл я недавно планшет One by Wacom (CTL-671), установил драйвер с диска, сделал всё по инструкции и ничего не запускается.


Пишет следующее: "Драйвер планшета не отвечает".


Драйвер планшета не отвечает
Читать дальше →

Проверка на XSS уязвимости, сайта на основе Yii2

В yii по умолчанию используется шаблонизатор для view чистый php. К сожалению, это может привести к ошибкам экранирования вывода. Разработчик выводимый контент должен экранировать, используя Html::encode(), либо аналог. Обычно, для поиска подобных ошибок, пентестер забивает во все возможные поля форм код вида:

<script>alert(document.cookie);</script>


Потом проходиться по всему проекту и смотрит что упало. Но иногда бывает, что форма выводиться не полностью. Если же атрибуты будут посланы явно отдельным запросом Post, то будут загружены в модель. Либо сейчас заполнить атрибут через форму пользователь не может, и все хорошо, а через месяц форма меняться, параметр становиться доступен для редактирования, и где-то в совсем другой части проекта проявляется XSS.
Читать дальше →

Зачем нужен геймдизайнер?

Дисклеймер
Это мое понимание и я считаю такой подход верным, сейчас. Моя задача — поднять уровень проработки проектов у начинающих девелоперов и заставить задуматься профессионалов.

Идея может возникнуть сама собой, механика тоже, сюжеты лежат готовые в интернете, их можно взять из жизни, главное искать и быть внимательным.Но сложность не в том чтобы найти информацию/придумать идею, это должно работать как единое целое.

И тут на сцену выходит геймдизайнер.

Читать дальше →

Анимации для игры, грабли, шишки, костыли — Unity 3D, Anima 2D, Dragon bones, Spine

Дисклеймер
Материал посвящен тем кто разрабатывает игры, хочет начать это делать, начинающим аниматорам, художникам и всем кто работает с Unity 3d.

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


Начало работы с Unity


Итак, ты придумал игру, идею и упаковал ее адекватно(99% начинающих этого не делают), разработал игровые механики, формулы, задатки сюжета, разработал увлекательный геймплей, что дальше?
А дальше идет выбор — 2D или 3D проект. Конечно это должно быть сделано на этапе идеи, но бывают ситуации, когда после геймплейного прототипа появляются варианты и выбор. И это, черт возьми, самое ужасное что может случится, очевидно же 2D — проще для начинающих. Тут кроется вся боль и сама суть дальнейших страданий.
Читать дальше →

Еното-ориентированное программирование

Амбула


По английски units это units, а по сербски = енот. Желающим написать, что слова "амбула" нет, я его дарю.


Благодать


Спорьте = не спорьте, в большинстве, обычные люди  хотят себя чувствовать хорошо = стремятся к благодати: есть, двигаться, обладать… программировать.

Читать дальше →

Размер домашней библиотеки имеет значение

Привет, Хабр! Представляю вашему вниманию перевод статьи Growing Up Surrounded by Books Could Have Powerful, Lasting Effect on the Mind

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

Исследования уже показали, что книги могут помочь улучшить работу мозга, уменьшить стресс и даже сделать нас более чуткими. Теперь команда во главе с Джоанной Сикорой из Австралийского национального университета изучает преимущества взросления в книжной среде. Как сообщает Alison Flood из Guardian, обширное новое исследование предполагает, что дома с обширными библиотеками могут давать детям навыки, которые сохраняются во взрослой жизни.
Читать дальше →

Метод получения статус кодов при работе с Selenium

Добрый день.

Недавно столкнулся с проблемой при проведении UI тестов: Selenium не имеет функции получения статус кода страницы. Как оказалось в дальнейшем, разработчики Selenium специально не предусмотрели данную возможность т. к. это противоречит концепции симуляции работы пользователя (подразумевается что пользователь не способен посмотреть статус код ответа).
Читать дальше →

Руководство по достижению роста. Перевод книги The Growth Handbook

Данная статья является выдержкой из перевода книги The Growth Handbook от Intercom. Перевод осуществлен продуктовой командой CallUpper (сервис для увеличения количества лидов с сайта) для русскоговорящих друзей-продуктологов. Кому интересно, книга доступна для бесплатного скачивания на сайте.

Итак…
Читать дальше →

Не бойтесь начинать заново

Введение


В данной публикации речь пойдет о личном опыте разработки одного из проектов.

Хочется отметить в первую очередь что я не позиционирую себя как какой-то super-senior developer.

Все, что я здесь описал, пришло через боль и слезы разработки данного проекта. Для многих это статья покажется ни о чем.

В статье не будет примеров кода, названий или чего-то еще, только опыт, который доходил до меня через руки.

Все проблемы при проектировании основаны на том, что нет ни концепции, ни технического задания, отсутствие полной видимости проекта со старта разработки.
Читать дальше →

Делаем свой запускатор Minecraft без лаунчера

Привет всем!

Сегодня мы напишем простенький лаунчер для игры Minecraft. Реализовывать мы это будем с помощью CMD в Win 7, и поместим это все в файл расширения ".bat". Далее пот катом.
Читать дальше →