Swift: How to Join an Array of Strings into a single String

It is a common task to join an array of strings into a single string in programming. Here’s how you do it in Swift.

Swift 2

let array = ["Matthew", "John", "Paul", "Peter"]

let stringOfNames = array.joinedWithSeparator(", ")

Swift 3

let array = ["Matthew", "John", "Paul", "Peter"]

let stringOfNames = array.joined(separator: ", ")

Screen shot 2016 11 28 at 10.13.45 am

 Installing COMODO Positive SSL on your NGINX server

I just renewed my SSL certificate and have gotten a COMODO Positive SSL certificate from https://www.ssls.com. Here’s some instruction to setup up COMODO Positive SSL

CSR Certificate

Your CSR Certificate will contain information about you and your website. This is needed by your provider to generate your crt files

Generate your CRT

You will receive your files through email or the comodo website. Here are what you will receive

  • AddTrustExternalCARoot.crt
  • COMODORSAAddTrustCA.crt
  • COMODORSADomainValidationSecureServerCA.crt
  • your_domain_com.crt

You will need to generate your crt file via the following command

cat your_domain_com.crt COMODORSADomainValidationSecureServerCA.crt  COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > server.crt

Add your certificate location to your server block

server {
    listen 443;

    ssl on;
    ssl_certificate /etc/nginx/ssl/your_domain_com/server.crt;
    ssl_certificate_key /etc/nginx/ssl/your_domain_com/server.key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

}

Voila!

Screen shot 2016 11 15 at 7.25.15 pm

 Loop through multiple arrays in Ruby

Loops are one of the first things you learn in programming. Here is a way to loop through multiple arrays in ruby.

first = Array(1..16)
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
second = Array(19..34)
=> [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34]

Loop through 2 arrays in Ruby

first.zip(second).each {|b| puts b}
=> [[1, 19],
 [2, 20],
 [3, 21],
 [4, 22],
 [5, 23],
 [6, 24],
 [7, 25],
 [8, 26],
 [9, 27],
 [10, 28],
 [11, 29],
 [12, 30],
 [13, 31],
 [14, 32],
 [15, 33],
 [16, 34]]

Loop through 3 arrays in Ruby

first = Array(1..16)
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
second = Array(19..34)
=> [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34]
third = Array(37..52)
=> [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52]
first.zip(second, third).each {|b| puts b}
=> [[1, 19, 37],
 [2, 20, 38],
 [3, 21, 39],
 [4, 22, 40],
 [5, 23, 41],
 [6, 24, 42],
 [7, 25, 43],
 [8, 26, 44],
 [9, 27, 45],
 [10, 28, 46],
 [11, 29, 47],
 [12, 30, 48],
 [13, 31, 49],
 [14, 32, 50],
 [15, 33, 51],
 [16, 34, 52]]

Voila!

 Using Serialized data in Rails ActiveRecord

In the previous article, How to Add a Blob using Rails ActiveRecord, we needed to use a blob to store large data. We added a blob data type via the migration file.

class AddMonthsToNyC240 < ActiveRecord::Migration
  def self.up
    add_column :ny_c240s, :weeks52, :binary, :limit => 10.megabyte
  end
  def self.down
    remove_column :ny_c240s, :weeks52 end
  end
end

We migrated the file:

== 20161029155357 AddMonthsToNyC240: migrating ================================
-- add_column(:ny_c240s, :weeks52, :binary, {:limit=>10485760})
   -> 0.1093s
== 20161029155357 AddMonthsToNyC240: migrated (0.1095s) =======================

Now we need to add some functions to the ActiveRecord Model

class NyC240 < ActiveRecord::Base
  serialize :weeks52
end

Voila! You can now save data here and ActiveRecord will automatically know if it is a Hash or Array.