Pull to refresh
-1
0
Сания Уктыбазыева @vladamir

User

Send message

Давайте уже разберемся в DNS

Reading time8 min
Views437K

image
Внимательный читатель найдет на этой картинке IPv6


Люди часто озадачены доменами. Почему мой сайт не работает? Почему эта хрень поломана, ничего не помогает, я просто хочу, чтобы это работало! Обычно, вопрошающий или не знает про DNS, или не понимает фундаментальных идей. Для многих DNS — страшная и непонятная штука. Эта статья — попытка развеять такой страх. DNS — это просто, если понять несколько базовых концепций.


Что такое DNS


DNS расшифровывается как Domain Name System. Это глобальное распределенное хранилище ключей и значений. Сервера по всему миру могут предоставить вам значение по ключу, а если им неизвестен ключ, то они попросят помощи у другого сервера.


Вот и все. Правда. Вы или ваш браузер запрашивает значение для ключа www.example.com, и получает в ответ 1.2.3.4.

Читать дальше →
Total votes 52: ↑48 and ↓4+44
Comments36

С нуля до Upper Intermediate

Reading time4 min
Views224K
image
В этом посте вы узнаете, как я сама, без репетиторов и курсов, не потратив ни копейки, выучила аглийский за год почти с полного 0 до Upper Intermediate.

Итак, все довольно просто: Мотивация! Именно она дала толчок к саморазвитию и жажде познания английских правил, слов и букв. Согласитесь, вас мало что остановит, если у вас есть мотивация…

У каждого мотивация может быть своя: у одних это уехать заграницу в поисках лучшей жизни/работы/учебы, у других смотреть фильмы в оригинале и получать удовольствие от голосов актеров, а не слушать наши крутые, ущербные переводы, у третьих, понимать англоязычные лекции, тем самым убивая двух зайцев: изучая английский, пополняя свой словарный запас, и, развиваясь в той области, которая вам интересна. (Чисто для справки, почти в каждой области, будь то анатомия, программирование, рисование или еще чего, полно разных курсов и материалов, и их еще больше на английском, они круче и качественнее. Т. е. у вас есть больше вариантов что посмотреть и почитать.
Читать дальше →
Total votes 58: ↑48 and ↓10+38
Comments100

RSpec. Часть #1: создаем тесты для модели

Reading time3 min
Views38K
Как и обещал, я начинаю цикл статей, на тему RSpec.

В этой статье, я постараюсь, подробно рассказать, как писать тесты для моделей в Ruby on Rails. Если вы уже знакомы с rspec_on_rails, поправьте и дополните меня, если что то не так. Помните, что я изучаю Rspec вместе с вами и могу где то ошибаться.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments12

Введение в TDD «на пальцах» (Rails + Rspec)

Reading time4 min
Views45K
Лично для меня, довольно тертого разработчика, процесс внедрения TDD был непростым и местами тернистым.

Вкратце законспектирую, поскольку порог входа в тестирование действительно выше, чем просто сесть и писать код на RoR. Сделаю несколько, как написали бы пиндосы, highlights.
image

Теоретически процесс TDD должен выглядеть так:



1. Написали падающий тест, прогнали rspec, убедились что тест не проходит (красный)

2. Написали кусок кода, прогнали rspec, убедились что тест проходит (зеленый)

3. Отрефакторили, убедились что все хорошо и тесты не падают.

4. Отправили код в продакшн

Читать дальше →
Total votes 38: ↑28 and ↓10+18
Comments9

Альтернатива callback-ам

Reading time5 min
Views13K
Давайте предположим, что нужно сделать рельсовое приложение, которое позволяет создавать ордер, в зависимости от входных данных ордера создавать один или несколько сервисов, резервировать какие-нибудь ресурсы под эти сервисы.

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

Абсолютное большинство программистов начнет делать такое приложение на колбэках или тригерах. Создан новый ордер — ставим ему состояние new — и вешаем колбэк который начинает создавать сервисы и т.д. Далее я постараюсь объяснить, почему это абсолютное зло.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments17

JSONB запросы в PostgreSQL

Reading time7 min
Views269K
Ранее я писал, как включить поддержку jsonb в postgres/psycopg2. Сегодня экспериментировал с тем, как запрашивать данные в колонках типа JSON.
На эту тему есть документация, но мне было не совсем понятно, как работают различные операции:

CREATE TABLE json_test (
  id serial primary key,
  data jsonb
);

INSERT INTO json_test (data) VALUES 
  ('{}'),
  ('{"a": 1}'),
  ('{"a": 2, "b": ["c", "d"]}'),
  ('{"a": 1, "b": {"c": "d", "e": true}}'),
  ('{"b": 2}');

Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments12

Антипремия Рунета 2014 состоялась. Награды догнали героев

Reading time3 min
Views21K
image

В Москве (в клубе ArteFAQ) прошла Церемония вручения Антипремии Рунета 2014 — независимой награды за выдающиеся заслуги, события и проекты, которые по тем или иным причинам были обделены вниманием официальных премий и конкурсов.

Стоит отметить, что есть 2 категории номинаций данной Антипремии:
— за сомнительные достижения в интернет-сфере;
— за работу, которая не была отмечена официальными интернет-наградами, но заслуживала того.

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

Мы (проект «РосКомСвобода») тоже удостоились призового места в одной из номинаций, а заодно забрали еще и оооочень интересно-интимный приз для Роскомнадзора, который передадим им, но об этом в конце поста.
Читать дальше →
Total votes 53: ↑41 and ↓12+29
Comments79

Оптимизируем производительность веб-страницы: CSS

Reading time5 min
Views51K
В наше время скорость интернета довольно высока. Казалось бы, можно забыть о тех временах, когда нам приходилось ждать по 20-30 (а то и больше) секунд, чтобы веб-страница загрузилась и отобразилась на экране — теперь мы ждём отрисовки страницы в среднем около одной-двух секунд. Однако не стоит забывать, что значительная часть юзеров заходит на ваш сайт с мобильных устройств, на которых связь не всегда стабильна. В связи с этим будет совсем не лишним уделить немного внимания оптимизации вашего кода.

В этой статье речь пойдёт о различных методах оптимизации таблиц стилей. Я расскажу о том, что влияет на скорость отрисовки страницы, как заставить браузер отрисовывать страницу быстрее и какие инструменты использовать для оптимизации.
Читать дальше →
Total votes 42: ↑32 and ↓10+22
Comments22

Для тех, кто хочет научиться воспринимать английский на слух

Reading time1 min
Views7.2K
Для того, чтобы научиться воспринимать иностранную речь на слух, нужно много слушать. Правда, толку от этого будет немного, если вы не будете понимать, что люди говорят. Важно, чтобы мозг устанавливал связи между словами и их звуковыми образами. Для этого нужно слушать с субтитрами и текстовками, и слушать то, что соответствует вашему уровню и то, что вы способны понять на родном языке.
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments26

Домашняя бухгалтерия, или знай, куда уходят твои деньги

Reading time4 min
Views16K
У многих из людей возникает проблема следующего рода: деньги вроде есть, а тут хоп — и их нет (утрируя конечно). То ли все пропито, то ли на дело потрачено, то ли заныкано — иди-ка, посчитай.
Однажды сам столкнулся с подобной проблемой. При заработной плате в 30 тыс. руб. (а для нашего города это совсем не плохие деньги) разницы с 7 тыс. руб. не было замечено и вовсе. Вроде хотел машину, хотел HTC модный, а тут все та же еда да еда, пивас да пивас.

Ну так вот, отходя от лирической части. Как-то с пива дуру решил попытаться контролировать все свои финансы методом ведения бухгалтерии. На тот момент единственной известной мне (скорее по наслышке) подходящей софтиной была 1С 8 Бухгалтерия. Нашел, поставил, открыл, испугался, закрыл. Человек я, к бухгалтерии относящийся совсем никак, по этому было принято решение не заморачиваться с 1С, а посмотреть в сторону других продуктов, ориентированных на людей, бухгалтерии не образованных, если таковые (продукты) вообще существуют. И что бы вы думали? Существуют!

Ниже попытаюсь устроить краткий обзор продуктов, ориентированных на ведение бухгалтерии в домашних условиях.
Читать дальше →
Total votes 88: ↑66 and ↓22+44
Comments190

Серьезное проектирование серьезного магазина. Часть 2. Модули интернет-магазина

Reading time15 min
Views80K
В прошлый раз мы написали довольно популярную статью: «Серьезное проектирование серьезного магазина. Часть 1. Исследования», эта статья её логическое продолжение. В этой статье и в последующих мы опишем почти 60 функциональных модулей топовых интернет-магазинов мира, а также подробно разберем интерфейс многих страниц.

Главная страница интрнет-магазина в axure
Читать дальше →
Total votes 69: ↑47 and ↓22+25
Comments23

MongoDB: Запросы

Reading time4 min
Views232K
Хоть и некоторые писали относительно моего предыдущего топика MongoDB: Создание, обновление и удаление документов, что это пересказ офф. документации, я с этим не полностью согласен. Мне показалось, что информация в нём оказалось кому-то полезной, поэтому выкладываю продолжение.

Find — аналог SELECT в MySQL. Используется для выборки документов из MongoDB. Возвращает массив документов в виде коллекции, если документов нет — пустую коллекцию. Пример:

> db.users.find();

Вернёт всех пользователей из коллекции.

> db.users.find( { age: 27 } );

Вернёт всех пользователей, у которых возраст равен 27.
Читать дальше →
Total votes 70: ↑48 and ↓22+26
Comments38

Мой взгляд на Scrum

Reading time2 min
Views48K
За годы участия в разработке ПО, я вывел для себя 3 правила, пересечение которых дает нужный результат: Делать правильные вещи правильно и быстро. Любопытно взглянуть, как Scrum нам помогает достигать эти цели?



Читать дальше →
Total votes 29: ↑17 and ↓12+5
Comments24

Codeception — тестирование по-новому

Reading time4 min
Views87K
PHP очень популярный язык программирования, но тестирование в нем, это скорее прерогатива экспертов, а не жизненная необходимость. Неужели это от того, что PHP-разработчики поголовно быдло-кодеры? Я считаю, что нет. Скорее всё от того, что системы тестирования порой излишне усложнены. А тесты, наоборот, должны были предельно просты: легко читаться, писаться, отлаживаться, и конечно же, быстро выполняться. Мое виденье того как это можно воплотить в PHP вылилось в проект под названием Codeception.

С ним тесты для ваших веб-приложений могут выглядеть так:
<?php
$I = new TestGuy($scenario);
$I->wantTo('create new blog post');
$I->amOnPage('/blog/posts');
$I->click('Create new post');
$I->fillField('Title','Codeception, a new way of testing!');
$I->fillField('Text','Codeception is new PHP full-stack testing framework.');
$I->click('Send');
$I->see('Congratulations, your post is successfully created!');


Согласитесь, такой тест понятен без дополнительных комментариев.
А теперь самое интересное: этот код без всяких изменений может быть выполнен как функциональный тест в фреймворках symfony, Symfony2,Zend Framework, а также в браузерном эмуляторе Goutte и даже через Selenium. Таким образом, вам предлагается единый интерфейс для написания функциональных тестов практически для любого сайта.
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments68

Symfony CMF. Часть 2 и последняя

Reading time17 min
Views19K
imageПродолжим разглядывать Symfony CMF, реализующую концепцию платформы для построения CMS из слабосвязанных компонентов. В первой части статьи мы подробно рассмотрели схему хранения и доступа к данным, во второй части нас ждет все остальное.

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

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

Итак. Что у нас по плану после хранения данных?
А вот что
Total votes 26: ↑25 and ↓1+24
Comments5

Начинающим музыкантам: почему стоит выкладывать альбомы на Jamendo

Reading time4 min
Views35K

Рекомендательная система Jamendo в действии на примере первой попавшейся группы.

Jamendoмузыкальная платформа и сообщество. Музыканты могут выкладывать своё творчество под лицензиями Creative Commons, продавать права на коммерческое использование и общаться с фанатами. Существует с 2005 года.

Многие слышали об этом сервисе, многие знают и о других похожих сервисах. У кого возник вопрос: «Зачем Jamendo?», исходя из соображений
  • Уже есть Soundcloud, Kroogi, ThankYou, Realmusic и т.д.
  • Этот сервис не русский — комы мы там нужны?
  • Англоязычный интерфейс
  • Нужно много возиться для выкладывания альбома — скачивать сертификат, подписывать, отправлять...

Не будем ходить вокруг да около
Total votes 36: ↑28 and ↓8+20
Comments28

Как потерять капитал

Reading time2 min
Views81K
Лично меня жизнь убедила, что люди это капитал. Особенно в нашей отрасли все зависит от людей. Если кто-то сомневается в этом, то очень рекомендую книгу шведов Кьелла А. Нордстрема, Йонаса Риддерстрале, «Бизнес в стиле фанк. Капитал пляшет под дудку таланта». Книга не новая, но, имхо, очень доходчиво разъясняет, почему Маркс, Ленин и Мао Дзэдун были правы в современном мире это именно так.

А коль скоро люди это капитал, то его надо беречь и приумножать, а не разбазаривать. А остаться без человеческого капитала очень просто. Вот, набор высказываний, которые могут заставить лучших ваших бойцов задуматься, а не пора ли обновить резюме на hh. И с вами останутся только неудачники.
Читать дальше →
Total votes 102: ↑73 and ↓29+44
Comments59

Как добиваться результата, управляя процессом разработки

Reading time5 min
Views34K

О чем это все


Это будет короткий пост. Сначала личная история, а потом как это применить на практике к управлению сотрудниками.
Чисто опыт, никаких теорий.

Во-первых, часто говорят о работе на результате. О людях, ориентированных на процесс или на результат. Соотношение, как говорят, 95% к пяти. Рекомендую всем менеджерам проектов для начала великолепное видео Сергея Котырева в тему. Кстати, горячо рекомендую и другие видео посмотреть — Сергей достиг успеха на непростом рынке и знает, о чем говорит.



Видео ответит вам на вопросы, почему окружающие вас люди (если вы — менеджер проектов по натуре) не хотят брать ответственность, часто не хотят делать задачу так, как ее сделали бы вы, и в целом с вашей точки зрения неэффективны и нерезультативны. Они не специально, просто это такая природа людей, ориентированных по жизни на процесс.
Читать дальше →
Total votes 40: ↑28 and ↓12+16
Comments9

Ты не хочешь думать как программист

Reading time2 min
Views16K

От переводчика:


Я технический руководитель Букмейта. Самое важное для меня — собрать таких парней, с которыми мне не придется выступать постоянными переводчиком с бизнеса на программистский. Жизнь слишком коротка для этого.
Эту статью скинул мне Леша Гусев — человек, у которого я многому научился и продолжаю учится каждый рабочий день. Спасибо тебе, Леша!
Он скинул ссылку в скайп со словами «ого, чувак написал мой манифест».
И я с ним совершенно согласен.

———————

Научить вас думать как программиста — часто вводные книги и курсы по программированию так обозначают свою цель. Конечно, это лучше, чем чересчур узкое «научить Java». Не стоит понимать это буквально. Более честной и точной формулировкой было бы «научить аналитически декомпозировать задачи». Но пусть эта начальная, кривая последовательность слов — «думать как программист» — послужит нам предостережением и напоминанием.

Ведь на самом деле вы не хотите думать как программист.
Читать дальше →
Total votes 69: ↑29 and ↓40-11
Comments15

Information

Rating
Does not participate
Location
Атасу, Джезказганская обл., Казахстан
Date of birth
Registered
Activity