Saturday, November 28, 2015

rails + devise + rails_admin + cancan тохиргоо

Rails дээр хэрэглэгчийн эрхийг зохицуулах хүртэлх алхамыг devise + rails_admin + cancan ашиглан хялбар туршилтын ноорог бичив.

  ※item гэсэн модел өмнө нь үүсгэсэн байсан.
  ※Доорх мэдээллийг яаруу бичсэн тул зарим нэг дэс дараалал өөрчлөгдсөн байвал өршөөж ажаам уу m(_ _)m

Орчин
  • CentOS release 6.5
  • ruby (2.1.1p76)
  • rails (4.2.4) 
  • mysql (5.6)
  • devise (3.5.2)
  • cancancan (1.13.1)
  • rails_admin (0.7.0)
1. Gemfile-д gem ийг нэмж өгнө.
  • gem 'devise'
  • gem 'cancancan'
  • gem 'rails_admin'
2. bundle install

3. devise - тохиргоо
  • rails g devise:install
4. config/environments/development.rb ийг өөрчлөнө

  config.action_mailer.default_url_options = { :host => 'localhost:3000' }

5. app/views/layouts/application.html.erb ийг өөрчилнө.

  <%= yield %> ийн дээд талд оруулж өгнө

  <% if notice %>
  <p class="alert alert-notice"><%= notice %></p>
  <% end %>
  <% if alert %>
    <p class="alert alert-error"><%= alert %></p>
  <% end %>

6. Devise ийн хэрэглэгч болон role ийг үүсгэнэ.
  • rails g devise user
  • rails g model role name
  • rails g migration CreateJoinTableUserRole user role
  • rake db:migrate
7. app/models/user.rb моделийг өөрчилнө

  has_and_belongs_to_many :roles

  def has_role?(name)
    self.roles.where(name: name).length > 0
  end

8. app/models/role.rb моделийг өөрчилнө

  has_and_belongs_to_many :users

9. cancan - ийн тохиргоо
  • rails g cancan:ability
10. app/models/ability.rb ийг өөрчилнө

  def initialize(user)
    if user.has_role?('superadmin')
      can :manage, :all
    elsif user.has_role?('admin')
      can :read, :all
      can :access, :rails_admin
      can :dashboard
    elsif user.has_role?('manager')
      can :read, :all
      can :access, :rails_admin
      can :dashboard
    else
      can :read, Item
    end
  end

  Дээрх тохиргоог оруулж өгсөнөөр admin, superadmin, manager зэрэг хэрэглэгчийн role - с хамаарч
  can болон cannot-оор хэрэглэгчидийн эрхийг зааж өгөх боломжтой.
  Дээрх тохиргоог item модел дээр туршилтаар оруулсан болно.

11. rails_admin ийг тохиргоо
  • rails g rails_admin:install
  • rake db:migrate
12. config/initializers/rails_admin.rb ийг өөрчилнө.

  Доорх мөрнүүд коммент болсон байгаа бөгөөд. Комментыг авах

  # config.authenticate_with do
  #   warden.authenticate! scope: :user
  # end
  # config.current_user_method(&:current_user)

  болон

  # config.authorize_with :cancan

13. config/environments/development.rb ийг өөрчилж имэйлийн тохиргоог хийнэ.

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :address => 'smtp.gmail.com',
    :port => 587,
    :authentication => :plain,
    :user_name => 'имэйл',
    :password => 'имэйлий нууц үг'
  }

14. config/initializers/rails_admin.rb ийг өөрчилнө

  config.sign_out_via = :delete ийг config.sign_out_via = :get болгох

15. db/migrate/*_devise_create_users.rb ийг өөрчлөх
  Доорх мөрнүүд коммент болсон байгаа бөгөөд. Комментыг авах

  ## Confirmable
  # t.string   :confirmation_token
  # t.datetime :confirmed_at
  # t.datetime :confirmation_sent_at
  # t.string   :unconfirmed_email # Only if using reconfirmable

16. app/models/user.rb ийг өөрчлөх

  Доорх шиг , :confirmable ийг нэмж өгнө
   devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable, :confirmable

17. Доорх өгөгдлүүдийг оруулж өгнө
  • Item
  • User
  • Role

18. Rails ийг ачаалах

  rails s -b 0.0.0.0

Superadmin role - р нэвтрэх үеийн дэлгэц



manager role - р нэвтрэх үеийн дэлгэц




Мэдээлэл
  http://qiita.com/umanoda/items/679419ce30d1996628ed
  http://qiita.com/cigalecigales/items/73d7bd7ec59a001ccd74
  http://d.hatena.ne.jp/htz/20140718/1405690417
  http://codeonhill.com/devise-cancan-and-activeadmin/

Thursday, November 26, 2015

Rails Devise монгол орчуулга

Тохиргоо
  • Орчуулгыг файл болгон devise_mn.yml нэртэй /config/locales - д хадгална
  • /config/application.rb - н хэлний тохиргоог өөрчилнө
    • config.i18n.default_locale = :mn

       

# Additional translations at https://github.com/plataformatec/devise/wiki/I18n



mn:

  devise:

    confirmations:

      confirmed: "Бүртгэл идэвхижлээ."

      send_instructions: "Бүртгэлийг идэвхижүүлэх заавартай имэйл удахгүй илгээнэ."

      send_paranoid_instructions: "Та бүртгүүлсэн бол удахгүй танд бүртгэлээ хэрхэн идэвхижүүлэх заавартай имэйл очих болно."

    failure:

      already_authenticated: "Та аль хэдийн нэвэрсэн байна."

      inactive: "Таны бүртгэл идэвхижээгүй байна."

      invalid: "Нууц үг эсвэл имэйл буруу байна."

      locked: "Таны хаяг түгжигдсэн байна."

      last_attempt: "Таны хаяг 1 үйлдлийн дараа түгжигдэнэ."

      not_found_in_database: "Нууц үг эсвэл имэйл буруу байна."

      timeout: "Дахин логин хийж нэвтэрнэ үү."

      unauthenticated: "Та бүртгүүлнэ үү."

      unconfirmed: "Бүртгэл идэвхижээгүй байна."

    mailer:

      confirmation_instructions:

        subject: "Идэвхижүүлэх заавар"

      reset_password_instructions:

        subject: "Нууц үгийг ахин өөрчлөх"

      unlock_instructions:

        subject: "Түр түгжигдсэн аккаунтыг идэвхижүүлэх заавар"

    omniauth_callbacks:

      failure: "%{kind} баталгаажуулсангүй. Шалтгаан:%{reason}"

      success: "%{kind} баталгаажууллаа."

    passwords:

      no_token: "Энэ хуудас руу хандах боломжгүй. Хаягаа зөв эсэхийг шалгаад дахин оролдоно уу."

      send_instructions: "Нууц үг сэргээх зааварыг удахгүй имэйлээр илгээнэ."

      send_paranoid_instructions: ""

      updated: "Нууц үг амжилттай өөрчлөгдлөө."

      updated_not_active: "Нууц үг амжилттай өөрчлөгдлөө."

    registrations:

      destroyed: "Бүртгэлийг амжилттай устгалаа."

      signed_up: "Бүртгэлийг хүлээн авлаа."

      signed_up_but_inactive: "Бүртгэл амжилттай. Бүртгэл идэвхижсэний дараа та ашиглах боломжтой."

      signed_up_but_locked: "Бүртгэл амжилттай. Хаяг түр хугацаанд түгжигдсэн байгаа тул ашиглах боложмгүй байна."

      signed_up_but_unconfirmed: "Бүртгэлийг идэвхижүүлэх имэйл илгээгдлээ. Имэйл доторх бүртгэл идэвхижүүлэх линк дээр дарж бүртгэлээ идэвхижүүлнэ үү."

      update_needs_confirmation: "Мэдээлэл амжилттай шинэчлэгдлээ. Таны хаягыг баталгаажуулах шаардлагатай тул доорх линк дээр дарж идэвхижүүлнэ үү."

      updated: "Таны бүртгэл шинэчлэгдлээ."

    sessions:

      signed_in: "Амжилттай нэвтэрлээ."

      signed_out: "Амжилттай гарлаа."

    unlocks:

      send_instructions: "Бүртгэлийг дахин идэвхижүүлэх заавр имэйлээр илгээгдлээ."

      send_paranoid_instructions: "Таны мэдээлэл бүртгэлтэй бол дахин идэвхижүүлэх имэйлийг илгээнэ."

      unlocked: "Таны бүртгэл түр идэвхигүй боллоо."

  errors:

    messages:

      already_confirmed: " аль хэдийн бүртгүүлсэн байна. Та нэврэнэ үү."

      confirmation_period_expired: "%{period} -ний дотор баталгаажна. Ахин хүсэлт илгээнэ үү."

      expired: "эрх дууссан байна. Ахин бүртгүүлнэ үү."

      not_found: " олдсонгүй."

      not_locked: " түгжигдээгүй байна."

      not_saved:

        one: "Доорх алдаанаас болж %{resource} -ийг хадгалж чадсангүй."

        other: "%{count} алдааны улмаас %{resource} -ийг хадгалж чадсангүй:"

 

Friday, November 6, 2015

Mysql socket алдаа

Доорх алдааг засах

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

Эхлээд socket файл байгаа эсэхийг шалгана
$ ls -al /var/lib/mysql/

Байхгүй бол үүсгэнэ
$ sudo touch /var/lib/mysql/mysql.sock

Эрхийг өөрчилнө
$ sudo chown mysql:mysql /var/lib/mysql

Mysql ийг дахин ачаална
$ sudo /etc/init.d/mysqld restart

/etc/my.cnf ийг өөрчилөөгүй бол дээрхээр болох байх

Ruby on rails дээр 'mysql2' for database adapter алдаа

rails 4.2.4 дээр шинэ прожект үүсгээд bundle install хийгээд scaffold хийсэн чинь доорх алдаа гарав.

Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError)

Gemfile даа version ийг нь зааж өгөөд bundle install хийнэ.
gem 'mysql2', '~> 0.3.20'


http://qiita.com/shizuma/items/0f9660d5d46a0012eb9e

Wednesday, August 12, 2015

Хүүхдийн нэр

Нэр хайж байна уу? За юу ч гэсэн энэ постыг бодвол дөнгөж шинэ хүнтэй болсон л хүн үзэх биз. Тиймээс шинэ хүнээр бүл нэмсэн танай гэр бүлд аз жаргал хүсье!

Миний хувьд уржигдар хүүтэй боллоо. Сэтгэл маш сайхан л байна. 30гаран цаг өвдсөний эцэст эхнэр маань амаржлаа. Эмэгтэй хүн гэдэг төрөхийн тулд ямар их тэвчээр, ямар их өвдөлтийг мэдэрдэгийг төрж үзээгүй хүн мэдэхгүй. 立会い буюу эхнэрээ төрөхөд хамт байх уу гэсэн хүсэлт авсан учир өмнө нь хүмүүсийн ярианаас сонсож байсанаас хэтрэхгүй надад, нэг адал явдал гэх үү завшаан гэх үү хамт байх боломж олдсон юм. Эхнэр маань Японд төрсөн лдөө. Эмнэлэгээсээ хамаараад өөр байдаг байх. Манай эмнэлэгийн хувьд нөхрөөс нь эхнэрээ төрөхөд нь хамт байх уу гэж асуусан учир би хамт байна гэж хүсэлт гаргасан юм. За ер нь бол өөрөө өвдөөгүй ч гэсэн эмэгтэй хүн гэдэг төрөхөд маш их өвдөлт мэдэрдэгийг ойлгож авсан. Юм идэж чадахгүй огт унтахгүй айхтар өвдөлт өгөөд 30гаран цаг байна гэдэг бол хэр баргийн хүн тэсэхгүй зүйл. Харин яг хүүхэд төрөх дөхөөд ирэхээр дүлж чадахгүй болтлоо тамиргүй болох эрсдэл байдаг учир яг төрөхийн өмнө бага зэрэг тайвшруулах эм уулгаж бага зэрэг унтуулаад сэрэхээр нь төрүүлдэг юм байна. Миний хувьд тэндээс эхнэрээ хайрлах халамжлах хэрэгтэйг л ойлгож авах шивдээ. Ер нь манай эмнэлэгүүд ч гэсэн эхнэрээ төрөхөд нь хамт байх эсэхийг нь саналыг нь сонсдог болмоор юм. Тэгвэл ядаж л эхнэр нь ямар хүнд бэрхийг туулж хүүхэд төрүүлж буйг мэддэг болох бас эхнэртээ хажууд нь ганцаардуулахгүй байх гээд л юу эс байхав.

За тэгээд хүүхэд гараад ирсэний дараа нэр хайна гэдэг асуудалтай аавууд тулгар ч байгаамдаа. Миний энэ удаагийн сэдэв маань нэрний тухай юм лдаа. Уг нь миний хувьд хүйсийг нь эрэгтэй гэдгийг мэдэж байсан болохоор нэг нэр бодож байсан юм. Тэгээд төрүүлчихээд өчигдөр ажил жаахан хийх юмтай байсан учир айлгүйгээ авдартаа хийчихсэн хүн чинь ажилдаа явлаа. Би баярласандаа ФБ дээрээ хүүтэй боллоо гэдгээ хэлчихсэн байсан болохоор зарим нэг надтай найз ажлын хүмүүс хараад жаахан тараасан бололтой. Ажлынхан ч энд тэндгүй л баяр хүргээстэй. Манай компаны доод давхаруудаар ажилдаг(манай хэлтэс 11давхарт байдаг болохоор) хүмүүс нтр лефт-нд таарсан ч баяр хүргээстэй. Тэгээд л нэг хакен-ний нэг эмэгтэйтэй л лефтинд таараад л баяр хүргэж байна. Нэрээ шийдсэн үү гэнэ шүү. Тэгэхээр нь мань хүн ч маасайгаад л нөгөө нэрээ хэлсэн чинь нөгөөх чинь л жаахан нүүр нь гайхсан байдалтай болсоноо "Муу утгатай нэр үү" гэж авч байна. Тэгэхээр би юу гэж тийм нэр өгөхөв дээ Японоор юу гэсэн үг юм гэсэн чинь жаахан инээсэнээ Мөөгий нэт-с харчихаа гэж байна. Тэгэхээр нь яг энэ эвгүй үг болж таарлаа гээд л хайсан чинь хэцүү үг байж таарлаа(тэр нэрээ нууц үлдээе). Тэгээд л дотоод мессенжерээр л өө тийм утга агуулгатай үг биш байгаамаа уг нь утга нь ийм Япон дуудлагаар дуудахаар англи үгийг дуудлагаар нь ингэж хэрэглэдэгийг мэдсэнгүй л гэлээ. Уг нь бол би англи үгийг нь мэддэг юм байгаан. Гэхдээ Япончууд гэхдээ тэр чигээр нь авч ашигладагийг хэн мэдлээ. За тэгээд нэрний эрэлд гарваа. Ер нь хүүхдийн нэр гэдэг асуудалтай байдаг бололтой.

Уг нь би нилээн бодож байж олсон нэр байгаан. Гадаадад хэрэглэхэд хялбар бас Японоор дуудахад эвтэйхан бас нэг үетэй нэр өгье гэж эртнээс бодож байсан юм. Тэгэхгүй бол нэр гэдэг их чухал ач холбогдолтой. Миний нэрийг Япончууд бүтнээр нь дуудахад хэцүү байдаг болохоор өөрийгөө Мөөгий л гэж хэлдэгийн. Яг албан бичиг дээр бол бүтэн нэрээр байдаг лдаа. Ямар сайндаа утсаар ярихаар миний нэрийг ер тогтоодоггүй учир нэг удаа нэг газар захиалга өгөх гээд нэрээ Мөөгий гэж хэлсэн чинь цаад өвгөн л хүлээж авлаа л гэсийн. Тэгсэн чинь маргааш нь очсон чинь нэрээ хайгаад олдоггүй. Яасан байх нь уу өвөө мань хүнийг Мүүвий(movie) гээд биччихсэн ч байх шиг хаха. Татаж унах шахсан. Тэгээд заримдаа Мөөгий гэдэг нэр чинь Японд Мүги гэдэг нэртэй цай байдаг учир анх хүнд нэрээ хэлэхэд андуурах нь амархан учир шууд л цайны нэртэй болж байгаан хаха. Гэхдээ нэг бодлын хүнд нэр маань амархан цээжлэгдээд амар ч юм уу хэхэ. Бас нэг хаанаас ч билээ сонссын байна. Монголжин гэдэг нэртэй хүн Японд сурсан чинь нэрээ хэл гэсэн чинь Монголжин гэж лдээ. Тэгсэн Япон хүн гайхаад би чиний монголыг мэдэж байна лдаа нэрээ хэл гээд байсан гэсэн. Японоор монгол хүн гэдгийг МОНГОРУЖИН гэдэг лдээ. Монголжин гэдэг дуудлага нь адилхан учир асуудал үүссэн байгаан. Бас нэг найз маань би Монгол улсын их сургуулийг төгссөн гэсэн чинь(Япончууд болохоор монголын их сургууль гэдэгээр ойлгоод) зарим нь чамайг Монголд их сургууль төгссөнийг чинь мэдээд байна лдаа. Сургуулийн чинь нэр юу вэ гээд байсан гэдэг. Бас Нинжин гэдэг нэр байна. Японоор лууван гэдэг нэртэй болчихож байгаан. Дуудлаганы алдаа биш ч бас л андуурал. Энэ мэтээс хараад байхад нэр гэдэг их ач холбогдолтой.

Миний хүү бид 2ийг монгол буцах гэсээр байтал энд сургуульд орвол эндхийн Ижимэ гэж ядаргаатай зүйл бий. Гадуурхал гэх юм уудаа. Тийм зүйлд нтр бол нэр хамгийн түрүүнд анзаарагдах зүйл учир гадаад хүн гэдэг нь овгийг нь хараад шууд мэдэгдэх ч гэсэн ядаж халтирсан утгатай нэртэй байвал хэцүү юм болуу гэж бодоод нэрээ солих ажлыг өчигдөр үүрмэглэн барин эрчимтэй эхлүүллээ. Нэр цаг дээрээ тулахаар олдохгүй их хэцүү эд байна хэхэ. Тэгээд нэтээс бас заримыг нь өөрөө бодож байгаад орчин үеийн, бас нэг үетэй эрэгтэй хүүхдийн нэрнүүдийг жаахан цуглууллаа. Очко ахын хийсэн ner.query.mn гэсэн сайт ч уг нь их олон нэр байсан лдаа. Яг миний хайж байсан нэр байхгүй байсан тул энд тэндээс зарим нэгийг нь ч авлаа. Тэгээд явж явж Тэнүүн гэдэг нэр дээр л буулаа. Эмээ нь бас хажууд байсан дэмжиж байна. Ээж нь ч бас дэмжиж байна. За тэгээд мань мэт шиг шашин машины учир ойлгодоггүй хүмүүст гандан хийдээр явж лам хуврагаас асууна гэдэг бол хэцүү лдээ. Тэгээд ч бас их урт төвд нэрнүүд өгөгддөг шиг санагддаг. Хүн хүний бодол өөр болохоор миний хувьд бол аль болох хэлэхэд амар бас жаахан орчин үеийн олон улсад уг нь хэрэглэхэд амар нэр байвал болоод л явчихаж байгаан. Одоо үед ч Тэнүүн гэдэг нэртэй өвөө сонсвол ч сонин л сонсогдох байх. Миний хүүг өвөө болоход одооны орчин үеийн нэрнүүд бүгд хуучирсан байх учир гайгүй биз хэхэ. Охидуудын нэр бол олон гоё, чамин нэрнүүд их юм.
Доорх эрэгтэй хүүхдүүдийн нэрнүүдийг цуглуулсан юм. Ийм жагсаалт байхгүй байсан учир зарим нэг нь санаа авах байх гээд орууллаа. Зарим нэг нь төвд, давхардсан бас охины нэр орсон байж болзошгүй шүү.

1.Авралт
2.Анар
3.Ананд
4.Анури
5.Амир
6.Авид
7.Баатар
8.Бадрал
9.Бадрах
10.Бархас
11.Барс
12.Баяр
13.Билгүүн
14.Баясал
15.Баясгалан
16.Бишрэлт
17.Гүен
18.Дэмүүл
19.Далай
20.Дөлгөөн
21.Жавхлан
22.Жoнон
23.Зүмбэр
24.Золбоо
25.Ингүүн
26.Ивээл
27.Идэр
28.Ирмүүн
29.Итгэл
30.Маргад
31.Манлай
32.Мандал
33.Мөрөн
34.Мичид
35.Шагай
36.Оч
37.Од
38.Очир
39.Онон
40.Орхон
41.Учрал
42.Тэнүүн
43.Тэмүүжин
44.Тэлмэн
45.Түшиг
46.Тэмүгэ
47.Тэнгис
48.Тэлмүүн
49.Тамир
50.Төгөлдөр
51.Тогтох
52.Тогтуун
53.Тэнгэр
54.Тулга
55.Тэмүүл
56.Тэмүүлэн
57.Сансар
58.Санчир
59.Сүбээдэй
60.Сугар
61.Соёмбо
62.Цолмон
63.Цэнгэл
64.Чингүн
65.Хангай
66.Хасар
67.Хасан
68.Хашаа
69.Хонгор
70.Хэрлэн
71.Хангал
72.Энгүүн
73.Эрдэм
74.Эрхэм
75.Эрхэс
76.Эрмүүн
77.Энэрэл
78.Эрдэнэс

Доорх болохоор ерөнхийдөө нууц товчооноос л түүсэн бололтой монгол түүхэн нэрнүүд юм гэсэн.
Доорх хаягнаас авав.
http://id.news.mn/content/158610.shtml

79.Бөртэчино
80.Батцагаан /Бөртэчино Гуамаралын хүү/
81.Тамача /Батцагаанны хүү/
82.Хоричар /Тамачагийн хүү/
83.Уужимбуурал /Хоричар мэргэний хүү/
84.Саль-Хачау /Уужимбууралын хүү/
85.Ихнүдэн /Саль-Хачаугийн хүү/
86.Шинэсочи /Ихнүдэний хүү/
87.Харчу /Шинэсочийн хүү/
88.Боржигидай /Харчугийн хүү/
89.Торголжин /Боржигидай мэргэний хүү/
90.Боролдайсуялби /Торголжин баяны зарц/
91.Добу /Торголжин баяны хүү/
92.Дува /Торголжин баяны хүү/
93.Хорилардай /Алунгуагийн эцэг/
94.Шинч /Бурхан халдуны эзэн бурхан босгосон Урианхай хүн/
95.Бүгүнүтэй /Добу мэрэгний хүү/
96.Бэлгүнүтэй /Добу мэрэгний хүү/
97.Буха /Алунгуагийн хүү/
98.Бухату /Алунгуагийн хүү/
99.Бодончар /Алунгуагийн хүү/
100.Хабич /Бодончарын хүү/
101.Жажирадай /Бодончарын хүү/
102.Жаурьдай /Бодончарын хүү/
103.Тугудай /Жажирадайн хүү/
104.Бурьбулчиру /Тугудайн хүү/
105.Хар-Хадаан /Бурьбулчирун хүү/
106.Жамуха /Хар-Хадааны хүү/
107.Баарьдай /Бодончарын хүү/
108.Зүтгэлбөх /Баарьдайн хүү/
109.Мэнэн /Хабич баатрын хүү/
110.Хачи-Хүлүг /Мэнэн тудуны хүү/
111.Хачин /Мэнэн тудуны хүү/
112.Хачиу /Мэнэн тудуны хүү/
113.Хачула /Мэнэн тудуны хүү/
114.Харалдай /Мэнэн тудуны хүү/
115.Хачиун /Мэнэн тудуны хүү/
116.Начинбаатар /Мэнэн тудуны хүү/
117.Хайду /Хачи-Хүлүгийн хүү/
118.Ноёгидай /Хачины хүү/
119.Баруладай /Хачиугийн хүү/
120.Барула /Хачулагийн хүү/
121.Адархидай /Хачиуны хүү/
122.Уруудай /Начинбаатарын хүү/
123.Мангудай /Начинбаатарын хүү/
124.Шижуудай /Начинбаатарын хүү/
125.Доголдай /Начинбаатарын хүү/
126.Байшинхор /Хайдугийн хүү/
127.Чирхай /Хайдугийн хүү/
128.Чаужин /Хайдугийн хүү/
129.Тунбинай /Байшинхорын хүү/
130.Сэнгүн /Чирхайгийн хүү/
131.Бэсүдэй /Чирхайгийн хүү/
132.Оронар /Чаужингийн хүү/
133.Хонхотан /Чаужингийн хүү/
134.Арулад /Чаужингийн хүү/
135.Сөнид /Чаужингийн хүү/
136.Хабтурхас /Чаужингийн хүү/
137.Хэнигис /Чаужингийн хүү/
138.Хабул /Тунбинай сэцэний хүү/
139.Сэмсэчүлэ /Тунбинай сэцэний хүү/
140.Бүлтэчү / Сэмсэчүлийн хүү/
141.Охинбархаг /Хабулын хүү/
142.Бартанбаатар /Хабулын хүү/
143.Хутугту /Хабулын хүү/
144.Хутула /Хабулын хүү/
145.Хулан /Хабулын хүү/
146.Хадаан /Хабулын хүү/
147.Торойн отчигон /Хабулын хүү/
148.Хутугту /Охинбархагийн хүү/
149.Сэчэ-Бэхи /Хутугту Жүрхигийн хүү/
150.Тайчу /Хутугту Жүрхигийн хүү/
151.Мэнгитү /Бартанбаатарын хүү/
152.Нэгүүн /Бартанбаатарын хүү/
153.Есүхэй /Бартанбаатарын хүү/
154.Даридай /Бартанбаатарын хүү/
155.Бүри-Бөхө /Хутугтугийн хүү/
156.Зочи /Хутулагийн хүү/
157.Хирмау /Хутулагийн хүү/
158.Алтан /Хутулагийн хүү/
159.Их-Чэрэн /Хулан баатарын хүү/
160.Бадай /Их Чэрэнгийн зарц/
161.Кишлиг /Их Чэрэнгийн зарц/
162.Амбагай /Сэнгүний хүү/
163.Балхачи /Бэсүд овогийн элч/
164.Чилэдү /Өэлүн-Үжингийн нөхөр болох гэж байсан Мэргэдийн их элч/
165.Чилэгэрбөх /Чилэдүгийн дүү/
166.Хотонбараг /Татар иргэн/
167.Жалибуха /Татар иргэн/
168.Тэмүжин-Үгэ /Татар иргэн/
169.Хорибуха /Татар иргэн/
170.Тэмүжин /Есүхэйн хүү/
171.Хасар /Есүхэйн хүү/
172.Хачиун /Есүхэйн хүү/
173.Тэмүгэ /Есүхэйн хүү/
174.Бэгтэр /Есүхэйн хүү/
175.Бэлгүтэй /Есүхэйн хүү/
176.Дэй-Сэцэн /Хонгирад иргэн/
177.Чирха /Хонхотаны иргэн/
178.Мэнлиг /Чирха өвгөний хүү/
179.Таргудай /Тайчууд иргэн/
180.Хирилтуг /Тайчууд иргэн/
181.Тодойн-Гэрти /Тайчууд иргэн/
182.Сорхоншар /Чингис хааны 9 өрлөгийн нэг/
183.Чинбай /Сорхоншарын хүү/
184.Чулуун /Сорхоншарын хүү/
185.Боорчи /Чингис хааны 9 өрлөгийн нэг/
186.Наху /Боорчийн эцэг/
187.Тоорил буюу Ван хан /Есүхэйн анд/
188.Жарчиудай /Урианхай өвгөн/
189.Зэлмэ /Чингис хааны 9 өрлөгийн нэг/
190.Тогтоа /Чилэдүгийн ах Мэргидийн цэрэг/
191.Дайр-Үсүн /Мэргидийн цэрэг/
192.Хаатай Дармала /Мэргидийн цэрэг/
193.Жахахамбу /Тоорилын анд/
194.Хүчү /Өэлүн эхэд бэлэг болгосон Мэргид хүү, Чингис хааны 1000ны ноён/
195.Хөхөчү /Өэлүн эхэд бэлэг болгосон Тайчууд хүү, Чингис хааны 1000ны ноён/
196.Хачиун /Жалайр иргэн/
197.Хархай /Жалайр иргэн, Хасарын туслах /
198.Харалдай /Жалайр иргэн, Чингис хааны агтчин/
199.Үнгүр /Мөнхөт хианы хүү, /Чингис хааны 1000ны ноён/
200.Хадаан /Дархад иргэн/
201.Далдурхан /Дархад иргэн/
202.Хубилай /Барулас иргэн, Хасарын туслах/
203.Худус /Барулас иргэн/
204.Жатай, /Мангуд иргэн/
205.Доголху /Мангуд иргэн, Чингис хааны чэрби түшмэл/
206.Үгэлэн /Боорчийн лүү/
207.Чаурхан /Зэлмийн дүү, Чингис хааны эдээлэгч/
208.Сүбээдэй /Зэлмийн дүү/
209.Дэгэй /Бэсүд иргэн, /Чингис хааны 1000ны ноён/
210.Хүчүгүр /Бэсүд иргэн/
211.Чилэгүтэн-Тахи /Сүлдүс иргэн/
212.Тайчиудай /Сүлдүс иргэн/
213.Сэцэ-Домог /Жалайр иргэн/
214.Архай Хасар /Жалайр иргэн, Чингис хааны эдээлэгч/
215.Сүйхэтү /Хонхотан иргэн/
216.Жэгэй /Сүхэгэн иргэн/
217.Сүхэхэй-Жаун /Жэгэйн хүү/
218.Нэүдэйн Цагаан
219.Хангиадай /Олхунод иргэн/
220.Сэчиүр /Горлос иргэн/
221.Мөчи /Дүрвэд иргэн/
222.Буту /Ихирэс иргэн/
223.Жунсо /Ноёхон иргэн/
224.Зургаан /Оронар иргэн/
225.Сохо-Сэцэн /Барулас иргэн/
226.Харачар /Сохо-Сэцэнгийн хүү/
227.Хорчи-Усун /Баарин иргэн/
228.Хөхөчөс /Баарин иргэн/
229.Мэнэн /Баарин иргэн/
230.Хорчи /Бодончарын барьж авсан эмээс гарсан хүү, Чингис хааны 1000ны ноён/
231.Хунан /Чингис хааны 1000ны ноён/
232.Даридай
233.Мулхалху /Жадаран иргэн, Чингис хааны адуучин/
234.Сорхату /Охинбархагын хүү/
235.Сача-Бэхи /Сорхатугийн хүү/
236.Тайчу /Сорхатугийн хүү/
237.Хучар /Нэгүүн тайжийн хүү/
238.Алтан /Хутула хааны хүү/
239.Өнгүр /Чингис хааны тогооч/
240.Дэгэй /Чингис хааны хоньчин/
241.Гүчүгүр /Чингис хааны тэрэгчин/
242.Додай /Гэргий хүүхэд зарц нарыг захирагч/
243.Чилгутай /Хасарын туслах/
244.Хуту /Чингис хааны адуучин/
245.Моричи /Чингис хааны адуучин/
246.Тахар, Тахай /Чингис хааны мэдээлэгч/
247.Сүхэхэй /Чингис хааны мэдээлэгч/
248.Тайчар /Жамухын дүү/
249.Мүлхэ-тотаг /Ихирэс иргэн/
250.Боролдай /Ихирэс иргэн/
251.Жүрчидэй /Урууд иргэн/
252.Хуйлдар /Мангуд иргэн/
253.Жихүр /Чингис хааны тогооч/
254.Бүрибөх /Жүрхин иргэн/
255.Мэгүжин /Татар иргэн/
256.Шихихутуг /Чингис хааны 9 өрлөгийн нэг, Өэлүн эхэд бэлэг болгосон Татар хүү/
257.Тэлэгэтү /Жалайр иргэн/
258.Гүнгуа /Тэлэгэтү баяны хүү/
259.Чулуунхайч /Тэлэгэтү баяны хүү/
260.Зэвгээ /Тэлэгэтү баяны хүү/
261.Мухулай буюу Мухули /Чингис хааны 9 өрлөгийн нэг, Гүнгуан хүү/
262.Буха /Гүнгуан хүү/
263.Түнгэ /Чулуунхайчийн хүү/
264.Хаши /Чулуунхайчийн хүү/
265.Борохул /Чингис хааны 9 өрлөгийн нэг, Өэлүн эхэд бэлэг болгосон Жүрхин хүү/
266.Багу-Чорхи /Хатиган иргэн/
267.Чирхитэй /Салжиуд иргэн/
268.Алчи /Татар иргэн/
269.Жали /Татар иргэн/
270.Түгэ-Маха /Ихирэс иргэн/
271.Тэрхэг /Хонгирад иргэн/
272.Алхуй /Хонгирад иргэн/
273.Чоёг Цагаан /Горлос иргэн/
274.Гүчүд /Найман иргэн/
275.Буйраг /Найман иргэн/
276.Ходун /Тайчууд иргэн/
277.Аучу /Тайчууд иргэн/
278.Хоридай /Горлос иргэн, Чингис хаанд мэдээлэгч/
279.Жаха-Хамбу /Ванханы дүү/
280.Билгэ
281.Хутуг /Ойрд иргэн/
282.Зургаадай буюу Зэв /Чингис хааны 9 өрлөгийн нэг/
283.Худуудар /Тайчууд иргэн/
284.Чуу мэргэн /Чингис хааны 9 өрлөгийн нэг/
285.Хархирүгэ /Чингис хааны 9 өрлөгийн нэг/
286.Чихарай
287.Жалман
288.Ширээт /Нүцгэн баарин иргэн/
289.Алаг-Наяа /Ширээт өвгөний хүү/
290.Хурчахус /Тоорил хааны хүү/
291.Гүр-Хан
292.Эрххар /Тоорил хааны дүү/
293.Инанча /Найманы хаан/
294.Дахай /Баатар/
295.Сүхэхэй-Жэүн /Баатар/
296.Хурчахус /Хаан/
297.Ажай /Татарын хаан/
298.Элхудур /Тайж/
299.Хулбари /Тайж/
300.Арин /Тайж/
301.Ихчирэн /Татаар иргэн/
302.Төгсбэх /Тогтоагийн хүү/
303.Хуту /Тогтоагийн хүү/
304.Чулуун /Тогтоагийн хүү/
305.Буйраг /Найманы хаан/
306.Еди-Тоблуг /Найманы ноён/
307.Хүгсэү /Найманы баатар/
308.Хүрэн /Убчигдайн баатар/
309.Сэнгүм /Ванханы хүү/
310.Тусах /Сэнгүмийн хүү/
311.Таян /Найманы хан/
312.Бухатай
313.Хиратай
314.Хишилиг /Чингисийн адуучин/
315.Нарийн-гэгээн /Ихчирэнгийн хүү/
316.Хархалзан
317.Чихитай /Агтач/
318.Ядир /Агтач/
319.Хадиги
320.Ачиг-Чирүн /Баатар/
321.Хоришилэмүн /Тайж/
322.Ачиг-Ширүн
323.Жорчидай /Чингис хааны 1000ны ноён, Чингис хааны Уруудын авга/
324.Хуйлдар /Мангуд Сэцэн, Чингис хааны 1000ны ноён/
325.Өгөдэй /Чингис хааны хүү/
326.Жэүн /Чингис хааны элч/
327.Тай-Төмөр /Тоорил хааны дүү/
328.Буха-Төмөр /Тоорил хааны дүү/
329.Гүр-Хан /Тоорил хааны дүү/
330.Хунан /Тайчууд баатар/
331.Бахажи /Тайчууд баатар/
332.Баргужин
333.Буйраг /Гүчүгүдийн хаан/
334.Хубарихури /Чингис хааны элч/
335.Итүргэн /Чингис хааны элч/
336.Огда /Боол/
337.Сүбэхэй /Огданы хүү/
338.Хөхөчү-Хирсаан /Сүбэхэйн хүү/
339.Ехэй-Хонтагар /Хөхөчү-Хирсааны хүү/
340.Хасан /Сартаул иргэн/
341.Егү /Хасарын хүү/
342.Есүнхэй /Хасарын хүү/
343.Туху /Хасарын хүү/
344.Халиудар /Жауридайн иргэн/
345.Чахурхан /Урианхай иргэн/
346.Хадаг /Жүрхин иргэн/
347.Толуй /Чингис хааны хүү/
348.Зүчи /Чингис хааны хүү/
349.Хорисубэчи /Таян ханы дараах их ноён/
350.Хүгсэү /Найманы баатар/
351.Торбиташ /Таян хааны элч/
352.Алахуш-дигитхури /Онгуд иргэн/
353.Ю-Хунан /Онгуд элч/
354.Отчигин /Ноён/
355.Додай /Чингис хааны чэрби түшмэл/
356.Өэлэн /Чингис хааны чэрби түшмэл/
357.Толун /Чингис хааны чэрби түшмэл/
358.Бучаран /Чингис хааны чэрби түшмэл/
359.Сүйхэтү /Чингис хааны чэрби түшмэл, Чингис хааны 1000ны ноён/
360.Худус-Халчинтай
361.Хорчин /Чингис хааны хэвтүүлийн захирагч/
362.Ханхархан /Найманы харуул/
363.Хүчүлүг /Таян ханы хүү/
364.Тататунга /Чингис хааны дээд шүүгч/
365.Дайр-Үсүн /Увас мэргидын тэргүүлэгч/
366.Наяа /Бааридайн ноён/
367.Гал /Тогтоагийн хүү/
368.Хорчи /Чингис хааны 1000ны ноён/
369.Илугай /Чингис хааны 1000ны ноён/
370.Түгэ /Чингис хааны 1000ны ноён/
371.Толун /Чингис хааны 1000ны ноён/
372.Чүлгэдэй /Чингис хааны 1000ны ноён/
373.Хоргасун /Чингис хааны 1000ны ноён/
374.Усун /Чингис хааны 1000ны ноён/
375.Шилүгэн /Чингис хааны 1000ны ноён/
376.Жидай /Чингис хааны 1000ны ноён/
377.Цагаангуа /Чингис хааны 1000ны ноён/
378.Алаг /Чингис хааны 1000ны ноён/
379.Булуган /Чингис хааны 1000ны ноён/
380.Харачар /Чингис хааны 1000ны ноён/
381.Хөхөчос /Чингис хааны 1000ны ноён/
382.Хүчхүр /Чингис хааны 1000ны ноён/
383.Бала /Чингис хааны 1000ны ноён/
384.Оронартай /Чингис хааны 1000ны ноён/
385.Дайр /Чингис хааны 1000ны ноён/
386.Мүгэ /Чингис хааны 1000ны ноён/
387.Бужир /Чингис хааны 1000ны ноён/
388.Мүнтүүр /Чингис хааны 1000ны ноён/
389.Долоодой /Чингис хааны 1000ны ноён/
390.Бөгэн /Чингис хааны 1000ны ноён/
391.Худус /Чингис хааны 1000ны ноён/
392.Марал /Чингис хааны 1000ны ноён/
393.Жибгэ /Чингис хааны 1000ны ноён/
394.Юрүхан /Чингис хааны 1000ны ноён/
395.Хөхө /Чингис хааны 1000ны ноён/
396.Удутай /Чингис хааны 1000ны ноён/
397.Бала-Чэрби /Чингис хааны 1000ны ноён/
398.Хэтэ /Чингис хааны 1000ны ноён/
399.Мөнх /Чингис хааны 1000ны ноён/
400.Халжа /Чингис хааны 1000ны ноён/
401.Хурчахус /Чингис хааны 1000ны ноён/
402.Хонгиран /Чингис хааны 1000ны ноён/
403.Тогоонтөмөр /Чингис хааны 1000ны ноён/
404.Мэгэтү /Чингис хааны 1000ны ноён/
405.Мороха /Чингис хааны 1000ны ноён/
406.Дорибөхө /Чингис хааны 1000ны ноён/
407.Идухадай /Чингис хааны 1000ны ноён/
408.Ширахул /Чингис хааны 1000ны ноён/
409.Даун /Чингис хааны 1000ны ноён/
410.Дамача /Чингис хааны 1000ны ноён/
411.Хауран /Чингис хааны 1000ны ноён/
412.Тодсаха /Чингис хааны 1000ны ноён/
413.Тунхуйдай /Чингис хааны 1000ны ноён/
414.Тобуха /Чингис хааны 1000ны ноён/
415.Ажинай /Чингис хааны 1000ны ноён/
416.Түйдхэр /Чингис хааны 1000ны ноён/
417.Сачуур /Чингис хааны 1000ны ноён/
418.Жидэр /Чингис хааны 1000ны ноён/
419.Олар /Чингис хааны 1000ны ноён/
420.Хингиадай /Чингис хааны 1000ны ноён/
421.Ашиг/Чингис хааны 1000ны ноён/
422.Хадай /Чингис хааны 1000ны ноён/
423.Чигу /Чингис хааны 1000ны ноён/
424.Буту /Чингис хааны 2000ны ноён/
425.Гэнигэдэй
426.Наринтоорил /Цагаангуагийн хүү/
427.Гүчүгүр /Чингис хааны дархан, Чингис хааны 1000ны ноён/
428.Мулхалху /Чингис хааны 1000ны ноён/
429.Их-Нэүрин /Чингис хааны хэвтүүлийг захирагч ноён/
430.Есөнтэй /Зэлмийн хүү/
431.Бүхэдэй /Түгэгийн хүү/
432.Хорхудаг /Чингис хааны Хорчинг захирагч/
433.Лаблах /Чингис хааны Хорчинг захирагч/
434.Арслан /Харлагийн хан/
435.Идүүд /Уйгурын хан/
436.Адхираг /Уйгур элч/
437.Дарбай /Уйгур элч/
438.Эди /Хэргисийн ноён/
439.Инал /Хэргисийн ноён/
440.Алдиэр /Хэргисийн ноён/
441.Өлэбэг /Хэргисийн ноён/
442.Иналч /Хутугагийн хүү/
443.Төрэлч /Хутугагийн хүү/
444.Онгууд
445.Дөрбэй
446.Цагаадай /Чингис хааны хүү/
447.Алчидай /Чингис хааны хүү/
448.Хөхөчү буюу Тэв тэнгэр бөө
449.Жибэгэ /Жалайрын иргэн/
450.Хашин /Тангуд хан/
451.Илаху /Тангуд бурхан/
452.Жубхан /Чингис хааны элс/
453.Ухуна /Чингис хааны элч/
454.Аша-хамбу /Сартаул хан/
455.Тогочар /Чингис хааны баатар/
456.Мэлиг /Султан хан/
457.Жалалдин /Султан/
458.Хонхай /Хорчин/
459.Хонтахар /Хорчин/
460.Чормаган /Хорчин/
461.Дөрбуй /Дөрвэд баатар/
462.Ялавач /Сартаул иргэн/
463.Масхуд /Ялавачийн хүү/
464.Гилүгэтэй
465.Бат /Чингис хааны ач/
466.Оготор /Чингис хааны хүү/
467.Мөнх /Чингис хааны ач/
468.Бүри /Чингис хааны хүү/
469.Гүюг /Чингис хааны ач/
470.Олдхар
471.Аргасун
472.Мангай /Өгэдэйн хүү/
473.Хонхордой /Өгөдэй хааны хэвтүүлийн захирагч/
474.Бужиг
475.Ширхан /Өгөдэй хааны хэвтүүлийн захирагч/
476.Элжгэдэй
477.Амал /Өгөдэй хааны захирагч/
478.Чанар /Өгөдэй хааны захирагч/
479.Ялбаг /Өгөдэй хааны захирагч/
480.Хараудар /Өгөдэй хааны захирагч/
481.Тэмүдэр /Өгөдэй хааны захирагч/
482.Жэхү /Өгөдэй хааны захирагч/
483.Чанай /Өгөдэй хааны захирагч/
484.Уйгуртай /Өгөдэй хааны захирагч/
485.Арачиан /Өгөдэй хааны захирагч/
486.Тогучар /Өгөдэй хааны захирагч/

Бас зүгээр сонирхуулахад монголд хамгийн их байдаг нэрүүд гэнэ(одоо өөрчлөгдсөн байх магадлалтай)

487.ганболд 11,083.00
488.отгонбаяр 11,080.00
489.батэрдэнэ 10,862.00
490.наранцэцэг 10,805.00
491.лхагвасүрэн 10,611.00
492.оюунцэцэг 10,466.00
493.ганбаатар 10,359.00
494.баярсайхан 10,181.00
495.нарантуяа 9,877.00
496.ганзориг 9,726.00
497.батжаргал 9,443.00
498.нэргүй 9,443.00
499.энхжаргал 9,426.00
500.батсайхан 9,059.00

За тэгээд аавууд өөрөө хүүхдэдээ нэр эртнээс бодсон бол заавал энэ тэр гэх юм байхгүй шууд өгсөн нь дээр биздээ.
Амжилт хүсье.

Saturday, May 23, 2015

Sublime Text3 дээр "Emmet"-ийг суулгах, хэрэглээ

SublimeText дээр "Emmet" гэж plugin-ийг хэрэглэдэг хүн олон байгаа байх. Бас мэдэхгүй хүн байвал энэ нийтлэлийг уншвал хэрхэн ашиглах талаар ойлголт авах болно.

Энэхүү нийтлэлд SublimeText3 хувилбарыг ашигласан болно.

Нийтлэлийн ерөнхий
  • Emmet гэж юу вэ
  • Хэрхэн суулгах
  • Хэрэглэх арга
  • Өөртөө тохиромжтойгоор тохируулах


Emmet гэж юу вэ
Emmet нь кодчилол дэмжих зорилготой нэмэлт бөгөөд янз бүрийн багаж(tool) дээр суулгах боломжтой. "Emmet" ийг суулгасанаар хөгжүүлэх хурд нэмэгдэх болон код уншууртай болох сайн талтай. Ялангуяа веб хөгжүүлэгчид маань Sublime Text багаж ашиглаж байгаа бол хэрэгтэй plugin байх гэж бодож байна. Илүү их мэдээллийг эндээс хараарай. 

Хэрхэн суулгах вэ
Emmet-ийг суулгахын өмнө Sublime Text дээр Package manager суусан байх шаардлагатай бөгөөд доорх маягаар суулгана. Аль хэдийн суусан бол Package Control-ийг суулгах алхамыг алгасаж болно.

Package Control-ийг суулгах
https://packagecontrol.io/installation руу орж өөрийн Sublime Text-д тохирох кодыг хуулж авна.


Console ийг гаргаж хуулж авсан кодоо хуулж ажиллуулна.
Доорх цонхонд хуулж ажиллуулна.

Ингээд Package Control суулаа. 

Одоо Emmet-ийг суулгана.
  1. Ctrl+Shift+P
  2. Package Controll:Install Package
  3. Emmet ийг сонгож суулгана
Ингээд Emmet суулаа.

Хэрхэн хэрэглэх вэ
Хэрэглэх арга нь их амархан. 

[ Emmet-ийн хураангуйлсан бичиглэл + Tab ] гэж ашиглана. 

Хэд хэдэн жишээ үзье. Sublime Text-ээ нээгээд

a гэж бичээд [Tab]  - ийг дарвал доорх үүсгэгдэнэ.
<a href=""></a>

body#_id._class гэж бичээд [Tab] - ийг дарвал доорх үүсгэгдэнэ.

<body id="_id" class="_class">


</body>

div>ul#_id>li*5>a гэж бичээд [Tab] - ийг дарвал доорх үүсгэгдэнэ.

<div>

<ul id="_id">

<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</div>

Маш хурдан бас гоё байгаа биз. 
Emmet-ийн хураангуйлсан олон төрлийн бичиглэлийг эндээс хараарай. 
Үүн дээр анхаарах зүйл нь ямар хэл дээр бичиж байгаагаас хамаараад бичиглэлийн syntax аа Sublime Text багажнаасаа зөв сонгоорой.  Жишээ нь дээрх жишээ бол html дээр syntax сонгогдсон байна.


Өөртөө тохиромжтойгоор тохируулах
Zen-Coding гэсэн plugin суусан бол Emmet харшилддаг юм шиг байна. Миний хувьд суулгаагүй байсан учир нээх асуудал гарсангүй. Хэрэв суусан бол доор маягаар устгаж болно.
  • Ctrl+Shift+P
  • Package Controll:Remove Package
  • Zen-Coding ийг сонгож устгана
Emmet-ийн Tab button дарж code complete(гүйцээлт) хийдэг нь зарим нэг default түлхүүрүүдтэй харшилдаад байвал доорх маягаар disable хийж болно.

  • Sublime Text > Preferences > Package Settings > Emmet > Settings – User
  • “disabled_keymap_actions”: “expand_abbreviation_by_tab” ийг хуулж хадгалж өгнө.
Өөрийн гэсэн гүйцээлтийг оруулж өгөхийг хүсвэл доорх маягаар нэмнэ.
  • Sublime Text > Preferences > Package Settings > Emmet > Settings – User
  • Доорхыг бичээд хадгална

{

"snippets": {

"html": {
"profile": "html",
"snippets": {
"blabla": "blabla blabla"
}
}
}
}

ul>li*5>blabla гэж бичээд [Tab] дарахад доорх маягаар үүсгэгдэнэ.


<ul>

<li>

blabla blabla
</li>
<li>
blabla blabla
</li>
<li>
blabla blabla
</li>
<li>
blabla blabla
</li>
<li>
blabla blabla
</li>
</ul>

Энэхүү Sublime Text plugin-с өөр өөрийн бүтээмжийг дээшлүүлэх олон хэрэгтэй plugin-ууд байдаг бөгөөд доор эндээс үзэж сонирхоорой. Мөн Sublime Text хэрэглэдэггүй хүн доорх хуудас руу орж өөрийн хэрэглэдэг багажандаа таарсан Emmet plugin байгаа эсэхийг шалгаж үзээрэй.

http://emmet.io/download/

Эх сурвалж
http://emmet.io/
http://catcher-in-the-tech.net/2057/

Friday, February 27, 2015

Ruby on rails моделын assosocation

Ноорог

Ruby on rails дээр энгийн болон N*M гэсэн 2table(модел)-ийн assosocation-г хэрэглэж байсан ч доорх table-уудын хоорондох холбоог яаж хийхээ мэддэггүй G ахаас асуусан амарханаар хийчихдэг юм байна. Тиймээс ноороглоод орхихоор шийдлээ.



Доор Atable болон Btable-ийн assosocation-ийг үзүүлэв

class Atable < ActiveRecord::Base
  has_many :A_Btables
  has_many :Btables, through: :A_Btables
end

class A_Btable < ActiveRecord::Base
  belongs_to :Atable
  belongs_to :Btable
end

class Btable < ActiveRecord::Base
  has_many :A_Btables
  has_many :Atables, through: :A_Btables
end


Доор Ctable болон Btable-ийн assosocation-ийг үзүүлэв

class Ctable < ActiveRecord::Base
  has_many :C_Btables
  has_many :Btables, through: :C_Btables
end

class A_Btable < ActiveRecord::Base
  belongs_to :Ctable
  belongs_to :Btable
end

class Btable < ActiveRecord::Base
  has_many :C_Btables
  has_many :Ctables, through: :C_Btables
end

Үүн дээр Atable.Ctable гэж хандахын тулд Atable-ийн модел дээрээ доорх маягаар зарлахад л хангалттай.

has_many :Ctable, :through => :Btable

Uniq өгөгдөл авахын тулд доорх маягаар бичиж өгч бас болно.

has_many :Ctable, :through => :Btable, :uniq => true

Ингээд Atable.Ctable гэж хандах боломжтой болж байна. Янзтай байгаа биз. Хэрэв өөр хэл дээр иймэрхүү олон table дамжсан өгөгдөл select хийх программ бичвэл жаахан урт зүйл болж магадгүй байх. Харин ROR дээр модел хоорондын assosocation ийг зөв тодорхойлвол хялбархан хийх боломжтой.

Шүдний эмнэлэг явах цаг болчихоод маш яаруу бичлээ хаха.
Дараа ахиад сайн нягталж алдаатай зүйл байвал засна.

Sunday, February 15, 2015

vagrant up хийх үед алдаа гарвал


Vagrant up хийхэд үед

Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:

mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant

The error output from the last command was:


/sbin/mount.vboxsf: mounting failed with the error: No such device

дээрх алдаа гарвал доорх дарааллын дагуу ажиллуулна.

1. vagrant ssh

2. sudo /etc/init.d/vboxadd setup

Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module                   [  OK  ]
Building the shared folder support module                  [  OK  ]
Building the OpenGL support module                         [  OK  ]
Doing non-kernel setup of the Guest Additions              [  OK  ]
Starting the VirtualBox Guest Additions                    [  OK  ]

3. exit

4. vagrant halt

5. vagrant up

Sunday, February 8, 2015

Ruby on rails-ийг MAC дээрх виртуал машин дээр хэрхэн суулгах тухай тэмдэглэл

Сүүлийн үед Ruby on rails жаахан оролдож үзэж байгаа юм. Миний хувьд ажлын машин(windows) дээр энгийн болон виртуал машин дээр ROR-ийг хэрэглэж үзэж байсан. Өмнө нь виртуал машингүйгээр MAC дээр энэ зааврийн дагуу суулгаж байхад нээх асуудал гараагүй. Харин гэрийн машинд(MAC) виртуал машин дээр ROR-ийг суулгаж үзэх санаатай оролдсон чинь нэг сайн болж өгдөггүй жаахан ухсаны эцэст энэ зааврын дагуу суулгалаа. Тэгээд монгол хэл дээр мэдээлэл их ховор байсан тул хэрхэн суулгах тухай тэмдэглэл үлдээе гэж бодлоо.
Виртуал машин хэрэглэхгүй үед rails-ийг суулгах бол ийм гоё сайт байдагыг сүүлд мэдсэн.  http://installrails.com/

За ингээд орчин бэлдэх ажилдаа орцгооё.

Доорх бичиглэлд тод хараар бичигдсэн хэсэг нь ажиллуулах хэрэгтэй команд болно.

Ашиглагдах орчин
  • Mac OS x 10.9.4 
  • Virtualbox 4.2.26 
  • Vagrant 1.7.2
  • Centos 7
  • Ruby 2
  • Rails 4.2.0
  1. Виртуал машиныг суулгах
    1. VirtualBox-ийг суулгах
    2. Vagrant-ийг суулгах
    3. Centos7-г татаж нэмнэ
      1. vagrant box add [өөрийн татаж авсан зам]
      • Татаж авахгүйгээр доорх маягаар шууд нэмсэн ч болно.
        • vagrant box add Centos7 https://f0fff3908f081cb6461b407be80daf97f07ac418.googledrive.com/host/0BwtuV7VyVTSkUG1PM3pCeDJ4dVE/centos7.box
        • Үр дүн
        • box: Successfully added box 'Centos7' (v0) for 'virtualbox'!
    4. Үйлдлийн системийг vagrant-д init хийх 
      • vagrant init Centos7
      • Үр дүн
      • A `Vagrantfile` has been placed in this directory. You are now 
      • ready to `vagrant up` your first virtual environment! Please read
        the comments in the Vagrantfile as well as documentation on
        `vagrantup.com` for more information on using Vagrant.
    5. Vagrantfile-д vagrant ийн тохиргоог хийж өгнө.
      • vi Vagrantfile
      • 27дахь мөрний коммент болгосон хэсгийг авч доорх өөрийн машинаас виртуал машин руу хандах хаягийг бичиж өгнө.
        • config.vm.network "private_network", ip: "192.168.33.10" 
    6. Vagrant ийг ачааллана.
      •  vagrant up
        • Хэрэв алдаа гарвал үүнийг хараарай.
    7. Виртуал машин(vagrant дахь centos7) руу холбогдоно
      • vagrant ssh
      • Үр дүн
      • Last login: Sat Feb  7 12:27:04 2015 from 10.0.2.2
        -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
  2. Бэлтгэл ажил
    1. Git-ийг суулгах 
      • sudo yum -y install git
      • Үр дүн

      • Failed to set locale, defaulting to C
        Loaded plugins: fastestmirror
        Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
        base | 3.6 kB 00:00:00
        extras | 3.4 kB 00:00:00
        updates | 3.4 kB 00:00:00
        (1/2): extras/7/x86_64/primary_db | 43 kB 00:00:05
        (2/2): updates/7/x86_64/primary_db | 6.6 MB 00:00:13
        Determining fastest mirrors
        * base: www.ftp.ne.jp
        * extras: www.ftp.ne.jp
        * updates: www.ftp.ne.jp
        Package git-1.8.3.1-4.el7.x86_64 already installed and latest version
        Nothing to do

    2. Хөгжүүлэх орчин учир firewall-ийг зогсооно
      • sudo systemctl stop firewalld
      • sudo systemctl mask firewalld
  3. rbenv ийг суулгах
    1. rbenv ийг суулгах
      • git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
      • Үр дүн
      • Cloning into '/home/vagrant/.rbenv'...
        remote: Counting objects: 2014, done.
        remote: Total 2014 (delta 0), reused 0 (delta 0)
        Receiving objects: 100% (2014/2014), 326.86 KiB | 181.00 KiB/s, done.
        Resolving deltas: 100% (1256/1256), done.
    2. Path-ийг нэмэх
      • echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
    3. rbenv ийг init хийх shell нэмэх
      • echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
      • Шалгах
      • cat ~/.bash_profile
      • # .bash_profile
        # Get the aliases and functions
        if [ -f ~/.bashrc ]; then
        . ~/.bashrc
        fi
        # User specific environment and startup programs
        PATH=$PATH:$HOME/.local/bin:$HOME/bin
        export PATH
        export PATH="$HOME/.rbenv/bin:$PATH"
        eval "$(rbenv init -)"
    4. .bash_profile - ийг ачаалах
      • source ~/.bash_profile
    5. install - ийг шалгах
      • rbenv --version
      • Үр дүн
      • rbenv 0.4.0-129-g7e0e85b
    6. ruby-build - ийг суулгах
      • git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
      • Үр дүн
      • Cloning into '/home/vagrant/.rbenv/plugins/ruby-build'...
        remote: Counting objects: 4354, done.
        remote: Total 4354 (delta 0), reused 0 (delta 0)
        Receiving objects: 100% (4354/4354), 785.94 KiB | 345.00 KiB/s, done.
        Resolving deltas: 100% (2247/2247), done.
  4. Ruby - ийг суулгах
    1. Ruby - ийн version - уудын жагсаалтыг харах
      • rbenv install -l
      • Үр дүн
      • Available versions:
          1.8.6-p383
          1.8.6-p420
          1.8.7-p249
          1.8.7-p302
          1.8.7-p334
          1.8.7-p352
          1.8.7-p357
        ...........

        ........... 


          ree-1.8.7-2012.01
          ree-1.8.7-2012.02
          topaz-dev
    2. rbenv install 2.1.3 - ийг суулгана. Өөрийн боломжтой хувилбарыг дээрх жагсаалтаас хараад суулгаж болно.
      • rbenv install 2.1.3
      • Үр дүн
      • Downloading ruby-2.1.3.tar.gz...
        -> http://dqw8nmjcqpjn7.cloudfront.net/0818beb7b10ce9a058cd21d85cfe1dcd233e98b7342d32e9a5d4bebe98347f01
        Installing ruby-2.1.3...
        Installed ruby-2.1.3 to /home/vagrant/.rbenv/versions/2.1.3
      • Хэрэв доорх алдаа гарсан бол sudo yum -y install openssl-devel ийг ажиллуулах
      • .........
        BUILD FAILED (CentOS Linux 7 using ruby-build 20150130)
        Inspect or clean up the working tree at /tmp/ruby-build.20150207090250.3881
        Results logged to /tmp/ruby-build.20150207090250.3881.log
          ..........
          ..........

    3. Default - р хэрэглэх ruby - ийн version - ийг сонгох
      • rbenv global 2.1.3
    4. Ruby - ийн version шалгах
      • ruby -v
      • Үр дүн
      • ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-linux]
  5. Rails
    1. multi_json - ийг суулгах
      • gem install multi_json -v '1.10.1'
      • Үр дүн
      • Fetching: multi_json-1.10.1.gem (100%)
        Successfully installed multi_json-1.10.1
        Parsing documentation for multi_json-1.10.1
        Installing ri documentation for multi_json-1.10.1
        Done installing documentation for multi_json after 1 seconds
        1 gem installed
    2. Bundler - ийг суулгах
      • rbenv exec gem install bundler
      • Үр дүн
      • Fetching: bundler-1.7.12.gem (100%)
        Successfully installed bundler-1.7.12
        Parsing documentation for bundler-1.7.12
        Installing ri documentation for bundler-1.7.12
        Done installing documentation for bundler after 4 seconds
        1 gem installed
    3. rbenv rehash - ийг ажиллуулах
      • rbenv rehash
    4. Rails - н version - ийг шалгах
      • gem search -r rails | grep "^rails ("
      • Үр дүн
      • rails (4.2.0)
    5. Rails gem - ийг суулгах
      • gem install rails
      • Үр дүн
      • Fetching: thread_safe-0.3.4.gem (100%)
        Successfully installed thread_safe-0.3.4
        Fetching: minitest-5.5.1.gem (100%)
        Successfully installed minitest-5.5.1
        Fetching: tzinfo-1.2.2.gem (100%)
          ......................................
        Installing ri documentation for tzinfo-1.2.2
        Done installing documentation for actionmailer, actionpack, actionview, activejob, activemodel, activerecord, activesupport, arel, builder, erubis, globalid, hike, i18n, loofah, mail, mime-types, mini_portile, minitest, nokogiri, rack, rack-test, rails, rails-deprecated_sanitizer, rails-dom-testing, rails-html-sanitizer, railties, sprockets, sprockets-rails, thor, thread_safe, tilt, tzinfo after 736 seconds
        32 gems installed
    6. .bash_profile - ийг ачаалах
      • source ~/.bash_profile
    7. Шинэ project үүсгэх
      • rails new [үүсгэх project - ийн нэр]
      • Үр дүн
      • create
        create README.rdoc
        create Rakefile
        create config.ru
        create .gitignore
        create Gemfile
        create app
          ................
          ................

      • Хэрэв bundle install хийх үед доорх алдаа гарвал sudo yum -y install sqlite-devel ийг ажиллуулах
      • Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

            /home/vagrant/.rbenv/versions/2.1.3/bin/ruby extconf.rb 
        checking for sqlite3.h... no
        sqlite3.h is missing. Try 'port install sqlite3 +universal',
      • ................
        ................
    8. Gemfile - ийг нээж өөрчлөх
      • vi cat/Gemfile 
        • 15дахь мөрийг комментийг авах 
        • gem 'therubyracer', platforms: :ruby
        • #gem 'byebug' ийг коммэнт болгох
    9. Gemfile - ийг өөрчилсөн үед bundle install хийнэ
      • bundle install --path vendor/bundle
Хэрэггүй Gem ийн нэр Gemfile дотор чинь байвал авч хаяаад bundle-ийг ахин install хийвэл болох учир өөрөө дуртай Gem ийг интернэт эсвэл https://rubygems.org/gems гэсэн сайтаас хайж авч болно. Ингээд орчингоо бэлдэж дууслаа. Харин өмнө нь виндовс дээр виртуал машин руу хандахад уг нь виртуал машин дахь Centos-ийнхоо iptables-ийг хааж өгөөд хандаж болоод байсан гэтэл сайн болж өгдөггүй жаахан g ахаас асуусан энд Rails - ийн өөрийнх нь өөрчлөлт юм байх rails - ийг асаах үед доорх маягаар зааж өгөх хэрэгтэй гэнэ.

bundle exec rails server -b 0.0.0.0

Доорх хаягуудаар лавлах боломжтой.

http://qiita.com/Salinger/items/20f466ffe7cc0c04b010
http://railsguides.jp/4_2_release_notes.html

За ингээд http://192.168.33.10:3000/ хаягаар доорх дэлгэц гарч ирвэл та амжилттай суулгасан гэсэн үг.



Дээрх зааварыг блогт бичихдээ алдаатай бичсэн зүйл байж болзошгүй тул анхаарч үзэх эсвэл доор комментоор үлдээвэл талархах болно. Дараа заваараа Rails - тай холбоотой бичлэгүүд  үргэлжлүүлэн оруулахыг хичээх болно.

Доорх facebook group-д бас зарим нэг постуудыг оруулах болно. Одоохондоо хаалттай байгаа. Яваандаа мэдээлэлээ жаахан нэмж байгаад нээлттэй груп болгох бодолтой байна. Тиймээс энэ груп руу орох хүсэлтэй хүн байвал чөлөөтэй хүсэлт явуулж болно.

https://www.facebook.com/groups/1513847342202817/

Хүндэтгэсэн Х.Мөнхбат