Xcodeでビルドした時、表題のエラーで怒られる時
Showing Recent Issues SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0.
書いている通り3.0はサポートしてないので変更
PROJECT Combined Swift Language Version を変更してビルドしなおすと動く
Showing Recent Issues SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0.
書いている通り3.0はサポートしてないので変更
PROJECT Combined Swift Language Version を変更してビルドしなおすと動く
import Foundation let hoge = "{\"id\":1,\"family_id\":12345,\"user\":{\"id\":20,\"display_name\":\"hoge\",\"name\":\"hoge\",\"text\":\"自己紹介文\",\"mail_address\":\"user@hoge.jp\",\"auth\":\"member\",\"status\":0,\"created_at\":\"2019-01-09T16:42:43+09:00\",\"image\":{\"id\":1,\"url\":\"https://hoge.cloudfront.net/image/user_images/normal/fugaUTC.jpg\",\"url_thumbnail\":\"https://foo.cloudfront.net/image/user_images/normal/bar.jpg\"}},\"hogehoge\":{\"id\":20,\"display_name\":\"kudo\",\"name\":\"hoge\",\"text\":\"自己紹介文\",\"mail_address\":\"user@hoge.jp\",\"auth\":\"member\",\"status\":0,\"created_at\":\"2019-01-09T16:42:43+09:00\",\"image\":{\"id\":1,\"url\":\"https://hoge.cloudfront.net/image/user_images/normal/fugaUTC.jpg\",\"url_thumbnail\":\"https://foo.cloudfront.net/image/user_images/normal/bar.jpg\"}},\"status\":\"are\",\"description\":\"一部古い情報を修正しました\",\"updated_at\":\"2018-11-07T06:53:13Z\","}"
struct User: Codable { let id: Int let displayName: String let name: String let text: String let mailAddress: String let auth: String let status: Int let createdAt: Date let image: Image } struct Image: Codable { let id: Int let url: URL let urlThumbnail: URL } struct Kuso: Codable { let id: Int let familyId: Int let applicant: User let approver: User let status: String let description: String let updatedAt: Date let applicantNameAtApplied: String let approverNameAtApproved: String }
let decoder = JSONDecoder() decoder.keyDecodingStrategy = .convertFromSnakeCase
decoder.dateDecodingStrategy = .iso8601
let boke = try! decoder.decode(Kuso.self, from: hoge.data(using: .utf8)!) print(boke)
そのまんま
gem 'metric_fu'
spec/spec_helper.rb
require 'factory_bot_rails' if ENV['RUN_COVERAGE'] == 'true' require 'simplecov' require 'metric_fu/metrics/rcov/simplecov_formatter' SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ SimpleCov::Formatter::HTMLFormatter, SimpleCov::Formatter::MetricFu ] SimpleCov.start 'rails' do add_filter '/spec/' add_filter '/config/' add_filter '/vendor/' end end
MetricFu.configuration.configure_metrics.each do |metric| if [:saikuro, :stats, :rails_best_practices].include?(metric.name) metric.enabled = true else metric.enabled = false end end
- run: name: RSpec tests working_directory: ~/hoge command: | RUN_COVERAGE=true bundle exec rspec spec ```` 以上で測定可能
そのまんま
gem 'metric_fu'
spec/spec_helper.rb
require 'factory_bot_rails' if ENV['RUN_COVERAGE'] == 'true' require 'simplecov' require 'metric_fu/metrics/rcov/simplecov_formatter' SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ SimpleCov::Formatter::HTMLFormatter, SimpleCov::Formatter::MetricFu ] SimpleCov.start 'rails' do add_filter '/spec/' add_filter '/config/' add_filter '/vendor/' end end ```` ## metricsで測定したいものを入れる
MetricFu.configuration.configure_metrics.each do |metric| if [:saikuro, :stats, :rails_best_practices].include?(metric.name) metric.enabled = true else metric.enabled = false end end
```` 以上で測定可能
ls -l@ /usr/local/Cellar/unox/0.2.0_1/libexec/bin/hoge -rwxr-xr-x@ 1 hoge.hoge admin 10254 10 17 15:36 /usr/local/Cellar/unox/0.2.0_1/libexec/bin/hoge com.apple.lastuseddate#PS 16 com.apple.metadata:kMDItemWhereFroms 129
xattr -d com.apple.metadata:kMDItemWhereFroms /usr/local/Cellar/unox/0.2.0_1/libexec/bin/hoge
ls -l@ /usr/local/Cellar/unox/0.2.0_1/libexec/bin/hoge -rwxr-xr-x 1 hoge.hoge admin 10254 10 17 15:36 /usr/local/Cellar/unox/0.2.0_1/libexec/bin/hoge
キャッシュさせるかどうかの奴 ブラウザやキャッシュサーバに対して、キャッシュの動作や有効期限を指定するためのもの
private privateなものなんでキャッシュしちゃダメよって奴
no-cache オリジンサーバーの確認無しに勝手にキャッシュしてはいけない
no-store リクエスト、レスポンスの一切を保存してはならない
public キャッシュしてええよ
max-age キャッシュの有効期限を設定する(秒数)
<meta http-equiv="Cache-Control" content="no-store, max-age=0"> <meta http-equiv="Expires" content="0">
response.headers['Cache-Control'] = 'no-store'
def xor_byte_strings(s1, s2) # :doc: s2_bytes = s2.bytes s1.each_byte.with_index { |c1, i| s2_bytes[i] ^= c1 } s2_bytes.pack("C*") end
# decodeする masked_token=Base64.strict_decode64('対象 X-CSRF-TOKEN') # one_time_pad取り出す one_time_pad = masked_token[0...32] # encrypted_csrf_token取り出す encrypted_csrf_token = masked_token[32..-1] # 逆xor実行 a=xor_byte_strings(one_time_pad, encrypted_csrf_token) # base64でエンコードして見れるようにする Base64.strict_encode64(a)
以上!