Search
Write a publication
Pull to refresh
0
0
Send message

Ещё раз про семь основных методологий разработки

Reading time8 min
Views1.1M
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


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

Управление качеством кода

Reading time1 min
Views16K
В одной из книг ДеМарко была приведена интересная история. Представьте, что к руководителю проекта приходит представитель Всемирно Известной Организации по Измерению Качества и сообщает, что команда проекта попала в Топ 10 всех команд в мире по качеству кодирования.

О чем думает руководитель? Его сердце наполняется теплотой и проскакивают мысли «Вот молоцы! А я всегда подозревал...». После чего, представитель вдруг возвращается и приносит свои извинения — произошла ошибка, проект на самом деле 10й с конца. Настроение руководителя кардинально меняется и он уже вовсю проклинает свою команду.

В чем ошибка руководителя? Он не измеряет качество кода.
Читать дальше →

Нотной грамоте учат неправильно*

Reading time11 min
Views254K

ФейспалмПреподаватели готовы разделить с вами все таинства музыкальной теории но не раньше, чем вы научитесь читать эти закорючки самостоятельно.


Предполагается, что студент должен страдать самостоятельно освоить ноты, путем многократного повторения. И вообще, если «ниасилил», значит у тебя нет Таланта — иди мести двор.


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


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


* Дисклеймер

Прошу прощения, если заголовок статьи показался вам чересчур дерзким и провокационным. Таковым он, в общем-то, и является.


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


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


Эффективность я оценивал исключительно на себе, поскольку сей субъект оказался самым доступным для исследования.

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

История о появлении финансового учета в моей жизни

Reading time8 min
Views15K
В своей прошлой статье меня попросили поделиться своей историей в учете. Не откладывая в долгий ящик расскажу как финансовый учет пришел в мою жизнь.
Читать дальше →

Почему мне кажется, что студентов учат ООП неправильно

Reading time5 min
Views234K
Когда я учился в университете мне довольно тяжело было понять ООП (Объектно-ориентированное программирование), сейчас я понимаю, что просто нас учили ООП на не совсем ясных и правильных аналогиях и вообще, кажется, сами преподаватели не совсем понимали, в чем же суть ООП.

image

Вспомните, классические аналогии ООП, вот есть класс Домашние любимцы с методами «голос» и «есть», от него мы наследуем Кошку и Собаку и все хорошо.

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

Мы уже запутались, но Вовочка спрашивает: «а где в этом зоопарке статические методы, интерфейсы, абстрактные классы и чем отличается объект класса от самого класса?». Объяснить, несомненно, можно, но сложно. Понять, еще сложнее.

Или другой классический пример, вот есть прямоугольник, от которого так и хочется унаследовать квадрат (ну по логике, квадрат это частный случай прямоугольника), но у прямоугольника есть длина и ширина, а у квадрата только одна сторона. Что-то тут тоже запутано.

Теперь подумаем как объяснить ООП лучше?
Читать дальше →

PHP и различные виды NoSQL

Reading time11 min
Views69K


В последнее время набирают популярность различные NoSQL базы данных. Эта статья начиналась как изучение особенностей графитовой графовой базы данных Neo4j. Но, в процессе подбора информации, мне захотелось систематизировать информацию о NoSQL решениях и о графовых базах данных, в частности.
В ходе этого небольшого исследования, были выбраны для подробного рассмотрения СУБД, успешно применяющиеся в области Web. И, поскольку в тегах присутствует «PHP», я выбирал СУБД, которые уже можно использовать с этим языком.

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

Server-less API на AWS за 15 минут

Reading time6 min
Views18K
Amazon Web Services позволяют очень быстро производить прототипирование простых веб-приложений, и написать API, допустим, для простого мобильного приложения можно за считанные минуты. Мы будем использовать связку DynamoDB и API Gateway (без Lambda-функций!) для настройки GET и POST запросов к базе с возможностью чтения, записи и изменения данных в ней.


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

Найдена крупнейшая БД украденных паролей: что следует знать

Reading time7 min
Views77K
В декабре компания 4iq, занимающаяся предотвращением нелегального использования персональных данных и несанкционированного доступа к пользовательским аккаунтам, обнаружила файл с БД на 1,4 млрд украденных «учеток». Находка стала возможной благодаря сканированию даркнета и дипвеба на предмет подобных «сливов», которыми могут воспользоваться злоумышленники.

Это «самая объемная» база данных такого рода на сегодняшний день. В этой статье мы поговорим об особенностях найденной базы, вспомним похожие утечки пользовательских данных и расскажем о том, что делать в ситуации, если вы «нашли себя» в такой БД.

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

Git снизу вверх

Reading time27 min
Views131K
У этого перевода не совсем обычная история. Системы контроля версий далеки от моих профессиональных интересов. Для рабочих проектов они мне требовались нечасто, причем, разные, так что, каждый раз, когда возникала такая необходимость, я заново вспоминала, как в них делается та или иная операция. А для личных проектов мне хватало возможностей Dropbox, хранящей историю версий файлов.


Изображение из твиттера @girlie_mac

Но вот однажды я на три незабываемых дня попала в роддом — это иногда случается с женщинами. Из развлечений у меня были новорожденная дочь и телефон с большим экраном. Дочь поначалу развлекала плохо (дома она быстро исправилась), а на телефоне помимо книг и фильмов обнаружился текст «Git from the bottom up», который оказался более чем годным… С тех пор прошло почти 3 года, подросшей дочке уже пора самой начинать использовать Git Git стал мейнстримом, если не сказать стандартом в современной разработке, а я с удивлением обнаружила, что перевода на русский этого чуда, полезного не только начинающим, но и продвинутым пользователям Git, до сих пор нет. Исправляю эту ситуацию.
Читать дальше →

Как успешно научить себя программировать

Reading time6 min
Views154K
Я хочу поделиться с вами статьей, которая во время прочтения очень сильно отозвалась во мне. Ее автор девятнадцатилетняя девушка веб-разработчик, Lydia Hallie, больше известная как «the most hardworking, yet most relaxed person» (очень трудолюбивый, но все-таки расслабленный человек) рассказывает о том, как современному разработчику справляться с многочисленными потоками входящей информации и сохранять мотивацию к саморазвитию.


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

Как анализировать тональность твитов с помощью машинного обучения на PHP

Reading time11 min
Views19K
Всем доброго!

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

Вступление

В последнее время кажется, что все и каждый говорят о машинном обучении. Ваши ленты в социальных сетях забиты сообщениями об ML, Python, TensorFlow, Spark, Scala, Go и т. д .; и если у нас с вами есть что-то общее, то вы можете поинтересоваться, а что насчет PHP?

Да, как насчет машинного обучения и PHP? К счастью, кто-то был достаточно сумасшедшим, чтобы не только задать этот вопрос, но и разработать универсальную библиотеку машинного обучения, которую мы можем использовать в нашем следующем проекте. В этом посте мы рассмотрим PHP-ML — библиотеку для машинного обучения на PHP — и мы напишем класс анализа тональности, который мы сможем позже использовать для нашего собственного чата или твит-бота. Основными задачами этого поста являются:

  • Изучение общих понятия, касающиеся машинного обучения и анализа тональности текста
  • Обзор возможностей и недостатков PHP-ML
  • Определение задачи, которую мы будем решать.
  • Доказательство того, что попытка машинного обучения на PHP не является абсолютно безумной целью (опционально)


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

43 полезных сервиса для управления проектами. Без эпитетов

Reading time13 min
Views694K
Дано: собственные и аутсорс-проекты, некоторые участники работают удаленно.

Требуется: необходимо быстро назначать задачи исполнителям, планировать спринты, трекать выполнение и статусы, визуализировать процессы и делиться результатами с заказчиками.

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

Изначально сервисов было более 100, но постепенно список сокращался, и мы остановили наш выбор на трех, удовлетворяющих вместе наши нужды лучше всего: Jira, Slack и GanttPro. Но, если вдруг эти сервисы не помогут вам в планировании задач и работы с командой, делюсь с вами полным списком:

Процесс поиска очень часто усложняется тем, что все сервисы, как один, пишут «Лучший сервис, помогающий превратить ваши идеи в реальность и реализовать ваши проекты. Сегодня.». Так, а что вы делаете-то? Поэтому в этом списке без лишних эпитетов, только что какой сервис умеет. :)




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

Джеб Кличко

Reading time8 min
Views16K
Вы наверняка слышали про такого боксера, как Владимир Кличко. Относиться к нему можно по-разному, но главное, вроде – чему полезному у него можно научиться, а не в какой партии он состоит и какую религию исповедует. Как завещал нам Стивен Кови, у любого человека можно чему-то научиться, если иметь такую цель – учиться и развиваться.

Расскажу, чему я учился у Кличко. Если вам этот рассказ пригодится, в любом виде – отлично. Программисты должны помогать друг другу.
Читать дальше →

Рисоваська, часть 3: Амазоновские веб-сервисы в действии

Reading time10 min
Views36K
В данной статье я расскажу, что же такое Amazon Web Services или сокращенно AWS, для чего это можно использовать, и приведу пошаговую инструкцию, как настроить их у себя с самого начала. В статье основной упор будет сделан на Amazon Elastic Compute Cloud или EC2 и Amazon Simple Storage Service или S3. Amazon CloudFront, являющийся логическим продолжением S3, хорошо рассмотрен в статье mish: Настраиваем CloudFront для работы с S3. С остальными амазоновскими сервисами вы можете познакомиться самостоятельно: Amazon SimpleDB, Amazon Simple Queue Service или SQS, а также другими сервисами Амазона. Данная статья является продолжением первой и второй статей. Итак:

Что такое Amazon Web Services


Это набор удобных сервисов, которые можно использовать как по отдельности, так и вместе. В первую очередь это «облачные вычисления» (анг. Elastic Compute Cloud). Что это значит? Это значит, что вы можете запустить в «облаке» любое кол-во компьютеров нужной вам конфигурации c нужной вам операционной системой всего за пару минут. Это действительно так. Время запуска одного инстанса (instance называется один виртуальный сервер в амазоне) обычно не превышает двух минут. Сразу после запуска инстанс начинает работать, к нему есть root-доступ по SSH или Remote Desktop, если там установлен Windows. Не правда ли, здорово! С момента запуска оплата за инстанс идет по часам. В любой момент вы можете остановить инстанс и деньги за его использование перестанут сниматься. Помимо времени работы инстанса, так же отдельно оплачивается входящий и исходящий трафик.
Читать дальше →

Облачные базы данных: кто их делает и на что они способны

Reading time5 min
Views35K
Помните, раньше было всего две-три облачных платформы и примерно столько же облачных БД? Сегодня облака стали гораздо популярнее, и, в связи с этим, значительно возросло и количество сервисов БД, построенных на них. Честно говоря, уже становится трудно уследить за их развитием и распространением! В этой статье мы представим вашему вниманию основные доступные облачные базы данных и вкратце расскажем о том, что они из себя представляют и куда движутся.

Примечание: мы говорим только об автоматизированных БД, не включая те, которые требуют пользовательского администрирования
Читать дальше →

Обзор литературы по языку Python для начинающих

Reading time4 min
Views132K
Очень часто можно увидеть вопросы на том же тостере: «А какую книгу взять книгу, чтобы выучить технологи Х», и естественно в комментариях идет большое число мнений и большое число различных книг. В данной теме, я сделаю обзор самых популярных книг по Python для начинающих программистов, и дам четкое мнение – нужно ли их читать или нет (субъективно).

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

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

Reading time8 min
Views53K
image

Я только что закончил семь собеседований в компаниях Кремниевой долины. В конечном итоге я принял предложение разработки программного обеспечения в Facebook.

Вот как я готовился к этим собеседованию и чему я научился на этом пути.

Мой многолетний путь в Кремниевую долину


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

Мне понравилась идея быть в центре всех инноваций в технической индустрии, а также ее промахов. Эта цель мотивировала меня. Это помогло мне сосредоточиться.

Я оставил свое место в качестве ведущего инженера iOS в чудесной компании в Мельбурне и я вернулся обратно в мой родной город Перт, чтобы учиться. Тут я буду готовиться к переговорному процессу которое ждет меня в Кремниевой долине. Я знал, что это будет невероятно сложно и тяжело.

Если вы упомянули о техническом интервью в комнате с инженерами-программистами, многие будут выступать против обычных методов собеседования. Большая часть аргументов исходит из того, что решение алгоритмов на доске фактически не представляет повседневные задачи инженера-программиста.

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

ИИ от Google обучил дочерний ИИ, который превосходит все ИИ, созданные человеком

Reading time3 min
Views73K


В мае 2017 года исследователи из Google Brain представили проект AutoML, который автоматизирует проектирование моделей машинного обучения. Эксперименты с AutoML показали, что эта система может генерировать маленькие нейросети с очень хорошими показателями — вполне сравнимые с нейросетями, которые спроектированы и обучены экспертами-людьми. Однако поначалу возможности AutoML были ограничены маленькими научными наборами данных вроде CIFAR-10 и Penn Treebank.

Инженеры Google задумались — а что если поставить перед генератором ИИ более серьёзные задачи? Способна ли эта система ИИ сгенерировать другую ИИ, которая будет лучше созданного человеком ИИ в какой-нибудь важной задаче вроде классификации объектов из базы ImageNet — самого известного из крупномасштабных наборов данных в машинном зрении. Так появилась нейросеть NASNet, созданная практически без участия человека.
Читать дальше →

От песка к компьютеру. Часть 1. Атомы и транзисторы

Reading time6 min
Views56K
Все мы еще с уроков информатики знаем, что информация внутри компьютера передаётся при помощи нулей и единиц, но оказалось, что большинство айтишников, с которыми я общаюсь (и довольно хороших!) слабо представляют, как же, все-таки, устроен компьютер.

Как заставить песок делать то, чего мы от него хотим?

Для большинства людей познания устройства компьютера оканчиваются на уровне его составных элементов — процессор, видеокарта, оперативная память… Но что именно происходит внутри этих чёрных прямоугольничков после подачи питания — магия. В этой статье (скорей всего, даже серии статей) я постараюсь простым языком объяснить, как же устроены эти таинственные прямоугольнички.
Читать дальше →

Интегрируем оплату через Paypal в web-приложение

Reading time21 min
Views75K
В данной статье рассмотрена интеграция разовых платежей, а также оплаты по подписке с помощью Paypal в веб-приложение. Примеры реализованы на PHP, но, в принципе, без особых проблем то же самое можно сделать с помощью других технологий. Данный метод выбран как компромисс между простотой и гибкостью. Это попытка написать руководство, которое поможет быстро разобраться в теме и интегрировать оплату через Paypal в свой проект.

Статья ориентирована в основном на тех, кто раньше с этой системой не работал. Знатоки Paypal вряд ли найдут здесь для себя что-то новое. Но, возможно, они укажут на недостатки данного метода или посоветуют, как можно было бы по-другому это реализовать.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity